Programmatic SEO without shipping 10,000 thin pages
Programmatic SEO works when there's real demand behind each page and real content on it. A framework for deciding what deserves a URL.
Programmatic SEO has a reputation problem, and it earned it. The technique got popular, then got abused, and now a lot of people use the term to mean "generate thousands of templated pages and hope."
The technique itself is sound. Every large marketplace, travel site, and comparison engine you can think of runs on it. The difference between the ones that rank and the ones that get quietly deindexed comes down to a single question, asked per page.
The question
Does a person actually search for this, and does this page answer them better than what already ranks?
If yes, it deserves a URL. If no, it is a liability, and I mean that literally rather than as a figure of speech. Thin pages do not simply fail to rank. They dilute crawl budget, and in volume they drag down how the rest of the site gets assessed.
A framework that survives contact with reality
1. Start from demand, not from your database
The common failure mode is starting with what you can generate: every combination of city × service × price tier. That produces a combinatorial explosion, most of which nobody searches for.
Start instead from a keyword export, filtered to queries with real volume, and work backwards to which template could serve them. You'll usually find the viable set is 5–15% the size of what's technically generatable.
2. Require a minimum content floor per page
Set a hard rule before you build. Something like:
- At least three unique data points not present on any sibling page
- At least 150 words of non-templated content
- At least one element a competitor's page doesn't have
Pages that can't clear the floor don't get generated. This is the rule that does the actual work, and it's the one people skip because it shrinks the page count they were excited about.
3. Build the internal linking deliberately
Generated pages orphaned from your main navigation will not be crawled reliably no matter how good they are. Every programmatic page needs:
- A path from a hub page within two or three clicks
- Contextual links to related siblings, curated rather than "all 400 other cities"
- Inclusion in a segmented XML sitemap so you can monitor indexation as a cohort
4. Ship in waves and read the results
Generate 50 pages. Wait six weeks. Check the indexation rate, impressions, and average position in Search Console.
If 90% are indexed and picking up impressions, generate the next 500. If 40% are indexed, something is wrong with your content floor and generating more will make it worse. This is the step that separates the two outcomes, and it costs nothing but patience.
What a healthy programmatic page looks like
Take a hypothetical "SEO agency in Pune" page. The thin version has a swapped city name and identical body text. The version worth publishing has:
- Actual local market data, such as how many businesses in that category operate there
- Genuinely local context that isn't true of every other city
- Pricing that reflects that market
- Real, verifiable local examples
- Structured data with correct geographic markup
Same template. Entirely different outcome. The template is the cheap part; the per-page data is the expensive part, and it's the part that determines whether any of it works.
When not to use it at all
Programmatic SEO is wrong when:
- Your total addressable query set is under a few hundred, in which case just write the pages
- You have no unique data source, so every page would be a rephrasing of a competitor
- Your site has existing technical debt around crawling or indexation; fix that first, because scale amplifies whatever's already broken
That last one comes up more than the others. Adding a thousand pages to a site with a crawl problem doesn't get you a thousand ranking pages. It gets you a bigger crawl problem.
Related reading
- SEO
Core Web Vitals for marketers who don't write code
What LCP, INP, and CLS actually measure, which ones affect rankings, and how to brief a developer without guessing.
3 min read - Paid Media
ROAS is a bad target, and most accounts are optimised for it anyway
Return on ad spend ignores margin, which means it can rise while your business gets less profitable. Here's what to optimise for instead.
3 min read - Influencer
Influencer attribution that survives a finance review
Discount codes and tracked links are the floor, not the ceiling. How to measure whether creator revenue was actually incremental.
3 min read