The short answer. On three real businesses, pages written independently for neighbouring towns shared 5% to 14% of their text. A doorway page - the same page with the town name swapped - shares 100%. The gap between those two numbers is the entire answer.
My own flag goes up at 46% shared text. Honest output sat four to nine times below that line every time I measured it.
The numbers
Three page pairs, from two real roofing companies, both written from a fact sheet of things the business had actually published about itself. Neither company has been named without permission beyond what is already public on their own website.
| Page pair | What differed | Shared text |
|---|---|---|
| Roofer A, Abilene TX | Different service, different town | 5% |
| Roofer A, Abilene TX | Different service, different town | 10% |
| Roofer B, McKinney TX | Same service, neighbouring towns | 14% |
| Control: a doorway page | One page, town name swapped | 100% |
| The line I flag at | My threshold, not Google's | 46% |
The row that matters most is the highlighted one. Same service, two towns that border each other is the hardest case any similarity check ever sees, and it is exactly the shape a bulk page generator produces. It came in at 14% - roughly three times higher than the easy pairs, and still a third of the way to my own flag.
Three measurements is not a calibration. The spread across those three runs was 5% to 14%, which is itself the reason one measurement proves nothing. If you run this on your own pages, expect a range, not a figure.
Why the raw score lies, and how to read it
Most similarity tools report a Jaccard index. That number is not the percentage of shared text, and reading it as one will mislead you badly in a specific direction: it always looks smaller than the problem actually is.
If two documents genuinely share a fraction f of their text, the Jaccard index comes out as f / (2 - f). Run that backwards and you get the number a human can actually act on:
shared text = 2J / (1 + J)
| Jaccard | Reads like | Actually is |
|---|---|---|
| 0.075 | 7.5% | 14% shared |
| 0.30 | 30% | 46% shared |
| 0.50 | half | 67% shared |
A tool reporting 0.50 is telling you that two thirds of that page is identical to its sibling, not half. I check the conversion against documents with a known shared fraction and it holds to within 0.002. If a vendor shows you a similarity score without saying which number it is, ask.
How it was measured
Deliberately boring, so it is reproducible and costs nothing:
- Masked lexical 5-gram overlap. No embeddings, no second AI model, no API call. Deterministic - the same two pages score the same every time, on any machine.
- City and town names are masked out first. Without this, a genuine doorway page scores about 0.76 instead of 1.00, purely because the town name differs on every line it appears. Masking is an accuracy fix. It moved the range by roughly 0.10 and it never once flipped a verdict, so it is not what catches doorway pages - the overlap is.
- Generated furniture is excluded. Navigation blocks, internal link lists and shared image alt text are identical across siblings by construction, because code wrote them. Leaving them in measures your own markup instead of the writing. I measured what they add: 0.024 on two documents with no words in common. That will not flip a verdict at my threshold - but the real signal is 0.025 to 0.075, so a 0.024 floor is the size of the entire signal and would roughly double every number on this page.
That third point is the one I would check first in anyone's tool, including mine. If a similarity report counts the shared nav block, it is measuring the template and hiding the convergence you actually care about.
What this does not tell you
Being straight about the limits, because the limits are where this kind of article usually starts lying:
- Google publishes no similarity threshold. The 46% line on this page is mine. Anyone quoting you an official number is inventing it.
- This measures text overlap, not intent. Google's own description of a doorway page is about pages that exist to funnel people somewhere rather than to be useful. A page can be 100% unique text and still be a doorway page because it is worthless. Low overlap is necessary, not sufficient.
- It says nothing about whether the content is true. Two pages can be completely different from each other and both full of invented facts. That is a separate check, and it is the one that gets a business in trouble with a customer rather than with Google.
- No page here has been ranked yet. These are measurements about the pages themselves. I am not claiming a ranking outcome, and neither should anyone else.
What actually makes two town pages different
The three that work, and they are all structural:
- A different angle per page. A rural town gets a page about barn and shop roofs. A newer suburb gets a page about a different problem. Same business, genuinely different subject.
- A different structure. Not the same seven headings in the same order with the words changed.
- A town-specific FAQ. Different questions, not the same questions with a different place name in them.
And the one that looks like it works, but is a liability
The fastest way to make sibling pages look different is to have the writer name local landmarks, subdivisions, streets, or past jobs in each town. It drives the similarity number straight down and it reads beautifully.
It is also how a subdivision that does not exist ends up published on a real company's website, under their name, describing a job they never did. The page generator has no way to know which streets are real, so it produces plausible ones. Nobody notices until a customer does.
If you are buying bulk location pages from anyone, that is the thing to check before the similarity score. Pick one page, pick the most specific local detail on it, and search for it.
Questions people actually ask
Does Google publish a similarity threshold for location pages?
No. There is no official number. Any threshold you are given, including the 46% on this page, is somebody's judgement call, and they should tell you so.
Are AI-written city pages automatically doorway pages?
No. A doorway page is defined by being near-identical and having nothing useful on it. How the text was produced is not the test - what the pages contain is. The measurements above are AI-written pages sitting four to nine times under the line I flag at.
How do I check my own pages?
Take two of your town pages for the same service, strip the navigation and any code-generated blocks, mask the town names, and compare the remaining text. If more than about half of it is the same, you have a template with a find-and-replace on it, whatever the tool called it.
Is one measurement enough?
No. Across three runs on real pages the range was 5% to 14%, and same-service pairs roughly doubled the overlap of different-service pairs. Measure a few pairs and read the spread.
Who measured this
I am Jet Nocum. I build lead follow-up, landing pages, and town-by-town pages for home-service companies - roofing, HVAC, plumbing - and I own the tool the measurements above came out of. So take the numbers as what they are: my own tool, measured on my own output, method published so you can disagree with it.
The reason I publish the method rather than a score is the same reason my page builder refuses to write a licence number it was not given: a claim you cannot check is worth nothing.
If you cover towns your website does not have a page for, I will write one real page for one of those towns and send it to you, free, so you can read it before deciding anything. Email gokaipro1@gmail.com with your website and one town you serve.