Reviewed October 28, 2026. Programmatic SEO can mean useful scale: unique pages that answer real local or product intents. It can also mean hundreds of near-identical city URLs that look busy in a sitemap and empty to a reader. Google’s helpful-content guidance now stresses that main content quality is critical, and Search Quality raters look at Effort, Originality, Talent/skill, and Accuracy (often shortened to EOT/SA). This page is a quality bar for template pages, not a pitch to generate more of them.
Pair it with the SEO audit checklist when you triage a live site, and with non-commodity content for AI search when the problem is generic tips rather than location templates. The goal is the same: pages that deserve their own URL.
What programmatic SEO means here
In this guide, programmatic SEO is publishing many URLs from a shared template plus a data table: cities, neighborhoods, product SKUs, comparison variants, or “service + location” combinations. Automation is allowed. Thin automation is not a strategy.
Healthy programmatic pages still need a person who owns accuracy, uniqueness, and usefulness. Unhealthy farms swap a city name into the same three paragraphs, recycle stock photos, and hope long-tail queries fill the gap. That pattern is exactly what Google’s scaled content abuse policy and low-effort main-content guidance are built to catch, whether the text was written by a human factory or a model.
The EOT/SA quality bar for template pages
Google’s helpful-content documentation defines main content as anything that helps the page achieve its purpose: primary text and media, useful tools, purpose-serving UGC, tabbed details, and clear titles or headings. Raters then judge that main content on four attributes. Use them as a pass/fail gate before you scale.
- Effort: Did a human (or a carefully curated system) add real work beyond a merge field? Attribution alone does not count as effort. Auto-filling paragraphs from a spreadsheet with no review fails this bar.
- Originality: Does this URL say something that is not already on your other city pages or on every competitor template? Unique local proof, photos, offers, inventory, or service nuances pass. Synonym swaps fail.
- Talent or skill: Is the page clear, usable, and competently produced for the job? Weak writing, broken maps, and unusable tables fail even if the word count looks “enough.”
- Accuracy: Are claims true for that location or product? Wrong hours, invented neighborhoods, and stale prices fail hardest on YMYL-adjacent topics.
If you cannot honestly pass all four for a candidate URL, do not publish it as a separate page. Keep the data in a filterable hub, a store locator, or a stronger regional page instead.
When programmatic SEO still works
Scale is fine when each URL earns its slot. The template should be a shell for evidence, not the evidence itself.
- Distinct demand: Searchers (or customers) actually need that city, SKU, or variant as its own landing experience.
- Unique main content: Local photos, team coverage, service radius notes, inventory, reviews from that market, or pricing that truly differs.
- Clear purpose: The page helps someone book, buy, compare, or decide for that entity, not just rank for “[service] in [city].”
- Maintenance owner: Someone updates hours, offers, and accuracy on a real cadence.
- Internal links that make sense: Hubs and nearby cities link where a human would browse, not where a script dumps footer spam.
Real estate listings, product catalogs with unique specs, and multi-location businesses with genuine per-branch proof often clear this bar. Doorway-style city pages that only exist to rank usually do not.
Red flags that city or template pages will fail
Scan a random sample of ten URLs from the same template. If most of these show up, stop scaling and consolidate.
- The only unique string is the city name in the title, H1, and first sentence.
- Two cities share the same body with find-and-replace leftovers (“serving Austin” on the Dallas URL).
- No local phone routing, map, address proof, staff, or project examples for that market.
- Thin paragraphs padded to hit a magic word count.
- Gen-AI blurbs that could apply to any city in the country.
- Index bloat: thousands of parameterized or near-duplicate URLs with no engagement.
- Doorway behavior: every city page funnels to the same form with no local difference.
Those patterns map cleanly to low Effort and Originality. They also overlap Google’s spam examples for scaled content abuse: many pages created mainly to manipulate rankings, with little value for users.
Pre-scale checklist before you mint another URL
Run this gate in your CMS or spreadsheet before the build job creates a new path.
- Intent check: Would a person land on this URL and complete a job without bouncing to a better page?
- Uniqueness check: List three facts or media assets that exist only on this URL.
- Accuracy check: Hours, service area, inventory, and legal claims verified for this entity.
- Cannibal check: Does a stronger hub or nearby city already cover this demand?
- Maintenance check: Who updates this page in the next 90 days?
- Index check: Should this be indexable, or does it belong behind filters on a hub?
Fail any one of those and keep the row in the database without a public URL. That decision is often the highest-ROI SEO work on a programmatic project.
How to consolidate without panic
When the farm is already live, fix in layers. Do not delete everything on day one without a map.
- Keep winners: Pages with real conversions, reviews, or unique proof stay and get deepened.
- Merge near-duplicates: 301 thin cities into the strongest regional hub or the true service page.
- Rewrite survivors: Add original main content until EOT/SA is honest, then refresh the date only when the substance changed.
- Fix discovery: Clean internal links and sitemaps so crawlers stop rediscovering the dead set.
- Watch Search Console: Impressions without clicks on thin templates often fall after consolidation. That can be healthy.
For technical and on-page triage while you consolidate, use the technical SEO audit process and the checklist linked above. For trust and expertise framing that still applies beyond AI search, see E-E-A-T for AI search.
AI-assisted templates follow the same rules
Using a model to draft city intros does not create Effort. Google’s guidance on generative AI content is clear: bulk pages without added value can violate scaled content abuse, and outputs need human fact-checking, including titles and metadata. If your workflow is “prompt 500 cities, publish overnight,” you are manufacturing the failure mode this page describes.
A safer pattern is narrow: generate a draft outline, then require human-local proof before publish. No proof, no URL. That keeps automation in research and structure, not in fake originality.
Frequently asked questions
Is programmatic SEO against Google guidelines?
No. Publishing many useful, original URLs at scale is fine. Creating many low-value pages mainly to manipulate rankings is not, whether you use templates, freelancers, or AI.
How many unique words does a city page need?
There is no magic word count. Google’s helpful-content guidance explicitly says not to write to a preferred length. Aim for enough unique main content that the page completes a real job for that location.
Should I noindex all location pages?
Only if they fail the quality bar and you are not ready to deepen them. Strong location pages with unique proof should stay indexable. Thin clones should consolidate or leave the index.
How is this different from a content refresh?
A refresh updates a URL that already has a clear purpose. Programmatic cleanup decides whether the URL should exist at all. For refresh tactics on pages you keep, see content refresh for AI Overviews.
Final thoughts
Programmatic SEO is a publishing system, not a loophole. Hold every template URL to Effort, Originality, Talent/skill, and Accuracy before it goes live. Keep the pages that can pass. Merge the rest. That quality bar protects users, protects your brand, and aligns with how Google evaluates main content today.