Guide
Why templated city pages usually backfire.
Near-identical pages get clustered by Google, which picks one and ignores the rest — so fifty city pages earn roughly the ranking value of one, while the site-wide quality signal drags down the pages that were genuinely good.
It's an appealing idea: you serve twenty towns, so you make twenty pages, each targeting 'your service + town name'. It costs almost nothing to generate and every page contains a real search phrase.
It is also the fastest way to make a small local site perform worse than it did before, and the damage isn't limited to the new pages.
What Google's policies actually say
Two spam policies name this directly. Doorway abuse covers pages 'created to rank for specific, similar search queries' that lead to intermediate pages less useful than the destination — with 'multiple domain names targeted at specific regions or cities' given as an example. Scaled content abuse covers 'many pages generated for the primary purpose of manipulating search rankings', explicitly including using AI to generate pages without adding value.
Worth noting too that Google's keyword stuffing policy lists 'blocks of text that list cities and regions' as an example. The 'we proudly serve Sarasota, Bradenton, Venice, Palmetto, Parrish…' block is named in the guidelines.
The realistic outcome is duller and still bad
A manual penalty is the tail risk, not the typical result. What usually happens is that Google clusters the near-identical pages, picks one as representative, and quietly ignores the others. You built fifty pages and got the ranking value of about one.
Then the second effect, which is the one people miss. Google's helpful content assessment moved into core ranking in March 2024 and now runs continuously as a site-wide signal. When most of a domain is thin, that assessment applies to the whole domain — so the service pages and guides you wrote properly start ranking worse than they did before you added the city pages. The downside isn't that the new pages fail. It's that they take the good ones with them.
How to tell if your pages are too similar
Don't guess — measure. Take the visible text of two sibling pages and compare overlapping word sequences. Anything above about 70% overlap is the same page with a find-and-replace and should not ship. Between 50 and 70% is templated and will mostly be clustered. Under 30% is genuinely distinct.
For a real reference point: on one project, six hand-written city-plus-service pages measured about 25% overlap with each other. A generated matrix of 936 pages on a sibling branch of the same project measured 76%. Same business, same subject, completely different outcome.
The test to apply before generating page fifty
What is on this page that could not be on the page for the next town over, and would a customer there notice if it were missing?
If the answer is 'the town name', it isn't a page. A real local page names actual neighbourhoods or developments, describes a constraint specific to the place — an architectural era, a building material, an ordinance, a climate exposure — or shows a real job done there. Adjectives don't count. 'Beautiful homes' and 'discerning homeowners' are the tell that a template wrote it.
What to build instead
One page per service, written properly. Then one page for each of the two to five places you genuinely work most, each hand-written with real local detail. Most local businesses never legitimately need more than that.
Then put the rest of the budget into guides. 'What does this cost in my area', 'do I need X or Y', 'how do I choose between two quotes' — these are real questions with real search volume, each one is genuinely different from the others so there's no duplication risk, and they attract people at the exact moment they're deciding. They're also what AI assistants quote. This is the rung of the ladder almost everyone underuses.
If you already have a matrix
Don't delete a thousand pages overnight. Measure the overlap and get the real numbers first. Keep the tier that earns its place — the hand-written ones — and consolidate the rest into their parent pages.
Redirect the removed URLs to the nearest genuinely useful page, one hop, no chains. Don't bulk-redirect them all to the homepage; a mass redirect to a single page is itself a doorway signal. Then fix the sitemap to list only what survives, and expect recovery to be gradual rather than immediate.
Common questions
But my competitor has eighty city pages and outranks me.
Check whether they rank because of those pages or in spite of them. Search a distinctive sentence from one of their city pages in quotes — if the same sentence appears across many of their URLs, those pages are almost certainly clustered and only one is doing anything. Often the competitor is winning on reviews, links and profile completeness, and the city pages are noise.
Is it ever right to build city pages?
Yes, when they're real. If you genuinely work in a place regularly, have photos from it, know its specific constraints and can write something a local would recognize as true, that's a page worth having. The test is whether you could write it without a template, not whether the town is in your service radius.
What about AI-generated content generally?
Google's position is about purpose, not tooling. Using AI to help produce genuinely useful content is fine. Using it to mass-produce pages primarily to manipulate rankings is a spam violation regardless of how good the prose is. The distinction is whether the page would exist if search engines didn't.
If you've been sold a package built around a page count, it's worth asking what the pages are going to say before the invoice is paid. Page count is the easiest thing to promise and the least related to whether anything ranks.