Key takeaways
- Google's scaled content abuse policy (added March 5, 2024) targets pages made mainly to manipulate rankings, whether a human, a script, or an AI made them. There is no page-count threshold.
- Programmatic SEO is not the problem. Templated pages with nothing unique on them are. Zillow-style data pages work. A photo plus facts available anywhere does not.
- Google ran spam updates in March, June, August and September 2026. Glenn Gabe's August case studies show site-level damage, not just page-level.
- The safest AI setup constrains the model: fill structured fields from real data, never ask it to write freeform filler.
- Structured, factual templated pages (product, comparison, docs, FAQ) are also what ChatGPT cites most, so done right, pSEO helps in AI search too.
What programmatic SEO actually is
Programmatic SEO means generating many pages from a template plus a dataset. One layout, thousands of rows. "Best CRM for {industry}", "{tool A} vs {tool B}", "apartments in {city}", "{app} integrations with {app}".
The idea is old. Zapier, Zillow, NerdWallet and Tripadvisor built huge organic channels this way. What changed is the cost of producing pages. When AI can generate 13,000 pages in an afternoon (Jake Ward wrote about doing exactly that on LinkedIn), the bottleneck is no longer production. It's whether any of those pages deserves to exist.
That's the question Google's systems are now built to answer, and the answer is frequently no.

What Google's policy actually says
Google introduced its scaled content abuse policy on March 5, 2024. It covers pages "generated for the primary purpose of manipulating search rankings and not helping users," and it applies "whether automation, humans or a combination are involved." (Source: Google's March 2024 announcement, as summarized by SEOmatic.)
Two things stand out.
First, the policy is about purpose and outcome, not method. Using AI is not the violation. Hiring 50 freelancers to rewrite the same listicle 400 times is also a violation. Second, nothing in it sets a number. You can be penalized at 200 pages and be fine at 2 million, depending on what's on them.
Enforcement is automated. Systems can demote pages or drop them from the index, and it tends to show up right after a spam update. In 2026 those updates landed on March 24-25, June 24, August 18 (completed August 21), and September 24 (finished October 8). If your traffic fell off a cliff on one of those dates, that's your first clue.
What the August 2026 spam update punished
Glenn Gabe published case studies on the August update at GSQi. Three are worth reading closely.
- A programmatic site with 100% AI-generated text in an ultra-YMYL niche, scaled across countries. Massive drops.
- A site with more than 1.5 million URLs indexed, roughly 85% of them programmatic product pages. Many had no value-add: a photo and information available anywhere. It had a "human element," but in Gabe's view was still scaled content abuse. The impact was site-level, hitting the whole domain like a broad core update.
- A site combining scaled content abuse with misleading functionality and many pages targeting questionable queries.
The second case matters most. Having some human involvement didn't save it. And because the hit was domain-wide, the good pages went down with the thin ones. That's the real risk of a bad pSEO rollout: you don't just lose the weak pages, you can lose the site's standing.
Gabe also notes that risky tactics aimed at AI search visibility have driven a surge in scaled AI content spam, which is partly why enforcement is tightening. The good news from the same write-up: sites can recover from spam updates. Recovery timelines weren't documented in what I found, so don't promise a client a date.
Gabe's suggested policies to review are scaled content abuse, thin affiliation, doorway abuse, scraping, and user-generated spam. Read all five before you ship a template.
When templated content works
Good programmatic pages share a trait: the template is the container, and the data is the value. A reader landing on the page gets something they couldn't get from the next result.
Proprietary or hard-to-assemble data
Zillow's property pages work because the underlying listing data is specific to each address. Zapier's integration pages work because each one describes a real workflow between two real apps. NerdWallet's card comparisons work because the comparison is computed, not swapped. (These examples come from Metaflow's pSEO guide, which is a vendor source, so treat the framing as practitioner opinion.)
The test: if you deleted the {variable} and the page still made sense, it's a template with nothing in it.
Real intent behind every variable combination
Before generating "{service} in {city}" for 4,000 cities, check that someone in the 3,900th city would actually search that and that you can serve them. Pages created because the keyword list had a row are the ones that get called doorway pages.
Distinct content per page, not just distinct words
Metaflow suggests each page should have at least 60% different content and pull from three or more sources, and it recommends automated checks on uniqueness ratio, word count, source diversity, readability and schema validity. Those numbers are the vendor's own heuristics, not Google rules. I'd use them as internal tripwires, not as proof of safety. A page can be 80% "unique" by character count and still say nothing new.
Constrained AI, not freeform AI
Jake Ward's approach is the cleanest idea in the research: never ask the AI to write freeform content for programmatic pages. Ask it to fill a strict JSON schema. The model gets fields like pricing_summary, best_for, limitations, source_urls, each populated from supplied data, and your template renders them.
That does three things. It limits hallucination, it makes missing data visible (an empty field is an empty field, not a made-up paragraph), and it makes QA automatable.
When it gets you penalized
Patterns that show up repeatedly in the case studies and policy language:
- The same paragraph with a city, product, or brand name swapped.
- Pages whose honest purpose is "cover this topic" rather than "answer this for someone."
- 100% AI-written text with no editing, no sourcing, no first-hand input, especially in YMYL topics (health, money, legal).
- Product or listing pages with no value beyond what every other site has.
- Scaling to 1M+ URLs before proving that a few hundred perform.
- Misleading tools or calculators that don't really work.
- Scraped or lightly rewritten data from a competitor.
One line from the research stuck with me: generated content is average by construction, because it summarizes what already exists. Average could rank in 2019. In a competitive category in 2026 it often doesn't, and the failure usually isn't a penalty notice. It's just flat traffic. That's the quieter failure mode, and a lot more common.
A quick comparison: safe vs risky pSEO
| Dimension | Safe pattern | Risky pattern |
|---|---|---|
| Data source | Proprietary, licensed, or computed data per page | Same scraped facts everywhere |
| AI role | Fills a strict schema from supplied data | Writes freeform text from a keyword |
| Page count | Starts small, expands after index and traffic proof | Thousands live on day one |
| Variables | Each combination has real search demand | Every row in a keyword list |
| Editing | Human review of templates and a sample of outputs | None |
| YMYL topics | Expert-reviewed, cited | Fully automated |
| Pruning | Noindex or remove underperformers | Leave everything live |
Why this matters for AI search too
There's an upside that doesn't get enough attention. The page types that templates produce are the ones AI engines cite.
Promptwatch Data's report on which content types ChatGPT cites most (Sep 28 to Oct 4, 2026) found product pages at 22.4% of classified citations, landing pages at 16.8%, listicles at 13.6%, documentation at 7.5%, comparisons at 5.9%, and FAQ pages at 3.3%. Product and landing pages together are about 39%. For commercial prompts, product pages, landing pages, listicles and comparisons make up almost 70% of citations.
So structured, factual, comparable pages are exactly what ChatGPT quotes. That argues for pSEO done well: complete specs, clear pricing, target audience, and real comparison pages. It also raises the stakes, because a template with wrong or empty fields gets quoted wrong.
Durability matters too. Per Promptwatch's content half-life data, landing pages and docs stay cited longest while news loses half its pages within 36 days. Evergreen templated pages are the better bet than templated news.
One format note: markdown files are only 0.05% of AI search citations. Don't generate markdown mirrors of your pages hoping to be cited. Plain, well-structured HTML is the target.
A build process that holds up
1. Define the page spec before touching AI
Write down what a reader gets from each page that they can't get elsewhere. List the required fields. If you can't name five distinct, data-backed fields, you don't have a page type yet.
2. Assemble the data
Use first-party data, licensed datasets, APIs, user-generated content you have rights to, or computed values. Tools like Clay and Firecrawl are commonly used to gather and enrich structured data, though check the legal and policy implications of scraping.
3. Constrain the model
Use a JSON schema, pass in the source data, and require citations to supplied sources. Reject outputs with empty or generic fields rather than papering over them. Orchestration tools such as n8n, Make and Zapier can run this pipeline, and Metaflow AI pitches parameterized agent workflows with an audit trail.


4. Automate QA, then add humans
Check uniqueness ratio, word count, source count, readability, and schema validity automatically. Then have a person read a random sample, and every page of any new template. AI SEO works when humans edit it, add real experience, and make it useful. Skipping that step is how you end up in Gabe's case studies.
5. Publish in batches
Ship 50 to 200 pages, then watch indexing and impressions for several weeks. Expand only if the pages get indexed and earn impressions. Headless CMS options like Sanity, Contentful, Webflow and Strapi handle templated collections well.
6. Monitor and prune
Track index coverage and performance in Google Search Console, crawl your templates with Screaming Frog or Sitebulb, and set alerts for sudden drops around spam update dates. Noindex or remove pages that never get impressions. Pruning the bottom tier is cheaper than risking a domain-level demotion.

7. Test changes before rolling them out
If you run a large templated section, SEO A/B testing tools like SearchPilot and SplitSignal let you test template changes on a subset of pages before deploying them everywhere.

Tools for the content layer
If your pages need written sections on top of structured data, optimization and brief tools can help you check coverage against what already ranks. Surfer SEO, Clearscope, MarketMuse and Frase are common choices. Bulk writers such as Byword and Gushwork are built for volume, which is precisely why they need the guardrails above. Volume tools don't solve the "is this page worth publishing" question.
| Tool type | Examples | Use it for | Watch out for |
|---|---|---|---|
| Workflow automation | n8n, Make, Zapier, Metaflow AI | Running the data-to-page pipeline | Pipelines without QA gates |
| Headless CMS | Sanity, Contentful, Strapi, Webflow | Templated collections at scale | Giant collections published at once |
| Content optimization | Surfer SEO, Clearscope, MarketMuse, Frase | Checking depth and coverage | Optimizing thin pages to a score |
| Bulk AI writers | Byword, Gushwork | Drafting sections from structured input | Freeform text with no data behind it |
| Crawlers and monitoring | Screaming Frog, Sitebulb, Search Console | Index coverage, duplicates, pruning | Ignoring the data |
| Testing | SearchPilot, SplitSignal | Proving template changes work | Testing too few pages |

Tracking whether AI engines cite your templated pages
Ranking in Google is half of it now. If your pSEO pages are product, comparison, or doc-style, check whether ChatGPT, Perplexity and AI Overviews actually cite them. Tools like Promptwatch can show which of your pages get cited and which AI crawlers are hitting them, and it feeds back into which templates deserve expansion.

If you're comparing options, the GEO software directory at bestgeosoftware.com lists others in the category.
Questions worth asking before you scale
Would this page be worth publishing if it took a day to make instead of a minute? If not, it's probably the wrong page.
Can I name what a reader learns here that they can't learn from the top three results? If the answer is "the city name," stop.
What happens if 30% of these pages get demoted? Gabe's case study shows demotion can be domain-wide. Don't put your best pages on the same domain as an experiment you can't afford to lose. Many teams test on a subfolder with strict QA, or accept the risk consciously.
Am I in YMYL? If yes, add expert review, real citations, and a much smaller initial batch. The first case study in Gabe's write-up was exactly this: programmatic, fully AI-written, ultra-YMYL, and scaled across countries.
What I'd do in 2026
Start with one page type and 100 pages. Make sure each has data nobody else has, or that's hard to assemble. Use AI only to fill structured fields. Review a sample by hand. Wait for indexing, impressions and, ideally, AI citations before you multiply it by ten. Prune aggressively.
Programmatic SEO isn't dead. The cheap version is. The test hasn't changed since content farms: is the page useful to a person who lands on it? AI just makes it easier to fail that test at scale.
Sources and gaps
This guide draws on Google's March 2024 policy announcement, SEOmatic's summary of the policy and 2026 update dates, Glenn Gabe's August 2026 spam update case studies, Promptwatch Data, and practitioner write-ups from Metaflow and Jake Ward. Metaflow's thresholds are vendor heuristics, not Google rules. I didn't find Google's exact wording distinguishing programmatic pages from AI content, and no verified recovery timelines, so treat any specific promise on those as a guess.




