The short version
- Programmatic SEO works when each page contains genuinely different, genuinely useful data. It fails when pages are a template with a variable swapped.
- Google’s spam policies address scaled content abuse directly. Volume is not the issue; lack of value is.
- The test: could a person get this information anywhere else easily? If not, the page has a reason to exist.
- Handwritten content may fit where judgement, opinion or explanation is what the reader needs.
Programmatic SEO means generating pages from a dataset — one page per city, per product, per combination of parameters. Done well it produces genuinely useful resources at a scale no writer could match. Done badly it produces thousands of near-identical pages that dilute a site and risk policy action.
The distinction is not volume. It is whether each page contains something worth having.
The short answer
Fit for your workflow
Programmatic where you have real data. Handwritten where you have judgement.
If you hold a dataset that genuinely differs per page — real prices, real availability, real specifications, real local information — generating pages from it is legitimate and often excellent. If the only thing changing between pages is a city name in a template, you are producing scaled content abuse and the policies describe it as such.
- Real per-page data
- Programmatic. This is the case it was invented for.
- Location pages with identical copy
- Do not. Start with one useful page rather than fifty repetitive templates.
- Comparisons requiring judgement
- Handwritten. A template cannot form an opinion.
- Product catalogue
- Programmatic for the catalogue, handwritten for category pages.
What separates the two outcomes
The second row is the single best test. A page listing genuine flight prices between two specific cities gives the reader something they could not assemble themselves in ten seconds. A page saying "Looking for a plumber in Nottingham? We offer plumbing services in Nottingham" gives them nothing at all.
Doing it properly
- Start from the data, not from the keyword list. If the data does not genuinely differ per page, the project has no foundation.
- Make each page independently useful. Read one at random and ask whether it justifies its own URL.
- Build real internal linking, not a mass link block. Related pages should connect meaningfully.
- Start small. Publish a hundred pages, check indexing and engagement, and expand only if they perform.
- Prune ruthlessly. Pages that get no impressions after a fair period are diluting the site — remove or consolidate them.
- Add handwritten content where judgement matters. Category and comparison pages usually need a person.
The cases that genuinely work
It is worth naming the successful pattern, because the failures get more attention. Programmatic SEO works where a real dataset answers a real recurring question: availability and prices between two places, specifications compared across products, regulations by jurisdiction, statistics by area. In each case the page assembles something the reader would otherwise have to compile themselves.
What those examples share is that the data is the product and the template is just presentation. The failing version inverts that — the template is the product and the data is a variable. If you can describe what a reader gains from one of your generated pages without mentioning your company, you are probably on the right side of it. If you cannot, the scaled content abuse policy is describing your project.
Publishing everything at once is the classic mistake
Generating 50,000 pages and pushing them live in one deployment is the pattern most likely to attract scrutiny and most likely to produce index bloat. Ship a small batch, measure whether the pages get indexed and used, and scale only on evidence.