How I Generated 2,800+ SEO Pages for n8n Workflows using Next.js
Source: Dev.to

“If you build it, they will come.”
…Well, not really. Not if Google doesn’t know you exist.
I’ve been building n8nworkflows.world, a search engine for n8n automation templates. My goal was simple: make it easier to find high‑quality, verified n8n workflows than the official forums.
But I hit a wall. People don’t just search for “n8n workflows”. They search for specific problems:
- “How to save Telegram files to Google Drive”
- “Notion to Slack automation”
- “Postgres to Google Sheets sync”
To capture this traffic, I needed a landing page for every single possible integration combination. Writing them manually would take years.
So, I used Next.js and Programmatic SEO to generate 2,819+ pages overnight. Here’s how I did it.
1. The Problem: The “Long‑Tail” Void 🕳️
The n8n ecosystem is vast. There are hundreds of nodes (integrations).
Mathematically, the number of potential connections (Node A → Node B) is massive.
Most users are looking for these specific pairs. If I only have a homepage, I miss out on 99 % of search intent. I needed a structured directory that Google could crawl, indexing specific terms like Agile CRM + Schedule Trigger or Gmail + OpenAI.
2. The Tech Stack 🛠️
| Component | Technology |
|---|---|
| Frontend | Next.js 14 (App Router) |
| Database | Supabase (PostgreSQL) |
| Language | TypeScript |
| Data Processing | Python (for analyzing JSON relationships) |
3. The Implementation: From JSON to SEO Pages
Step 1 – Analyzing the Relationships
I have a database of 6,000+ n8n workflow JSON files.
A Python script parses these JSONs and extracts “Node Pairs.”
Example: a workflow containing a Telegram Trigger node and a Google Drive node creates the relationship telegram-to-google-drive.
The pairs are stored in a Supabase table integration_pairs:
| column | example |
|---|---|
slug | telegram-to-google-drive |
app_a | Telegram |
app_b | Google Drive |
count | 42 (number of workflows using this pair) |
Step 2 – Dynamic Routing with Next.js
Next.js lets us avoid 2,000 physical files by using Dynamic Routes.
app/
└─ integration/
└─ [slug]/
└─ page.tsx
// app/integration/[slug]/page.tsx
import { createClient } from '@/utils/supabase/server';
export async function generateMetadata({ params }) {
// Auto‑generate SEO titles based on the URL slug
const pair = params.slug.replace('-', ' to ');
return {
title: `Best ${pair} n8n Workflows & Templates (Free Download)`,
description: `Discover verified automation templates to connect ${pair}. Download free JSONs.`,
};
}
export default async function IntegrationPage({ params }) {
const { slug } = params;
// Fetch all workflows that match this pair
const workflows = await getWorkflowsByPair(slug);
return (
<>
<h1>{slug.split('-').join(' ')} Integrations</h1>
<ul>
{workflows.map((wf) => (
<li key={wf.id}>{wf.name}</li>
))}
</ul>
</>
);
}
Step 3 – The Directory Index (The “Map”)
To help Google discover the 2,800+ dynamic pages, I built a massive Directory Page that lists every combination alphabetically (A‑Z). It acts as a “Sitemap” for users and crawlers.
4. The Result: An SEO Machine 🚀
Deploying this structure instantly created:
- 2,819+ new entry points – users searching for niche automations land directly on a dedicated page.
- Better UX – users can browse by “Apps”. Want everything you can do with Notion? Go to the Notion collection.
- Scalability – adding a new workflow that connects “DeepSeek” to “WhatsApp” automatically creates
/integration/deepseek-to-whatsapp.
5. Bonus: The Leaderboard 🏆
To make the site stickier, I added a “Hall of Fame” Leaderboard that tracks the Heat Index (Views + Downloads) of workflows in real‑time, showing what the community is building right now.
What’s Next?
I’m currently working on an AI Agent that reads the workflow JSONs to automatically extract the original author’s name and social links, giving credit where it’s due and further enriching the community experience.
## Credit Back to the Creators and Build "Author Portfolio" Pages
*(another SEO win!)*
**Check out the live directory here:**
👉 **[n8n Integration Directory](https://n8nworkflows.world/integration)**
Let me know what you think! Have you tried Programmatic SEO for your projects? 

