
Element Code: LO-005
What Duplicate Location Pages Actually Are
This is what happens when a business with several branches builds one page template and reuses it for every city or neighborhood, changing only the name, address, and phone number (the NAP block) while the body copy stays essentially the same. A plumbing company with locations in Denver, Boulder, and Aurora ends up with three pages that read like the same page with a find-and-replace on the city name. To a person that looks tidy and consistent. To a crawler comparing page content, it looks like duplication, and duplication is exactly what search engines are built to collapse into a single result.
The pages do not need to be byte-for-byte identical to trigger this. Search engines use near-duplicate detection, not just exact-match hashing, so swapping a city name in three spots while keeping 90% of the sentence structure and paragraph order the same is still recognized as duplicate or near-duplicate content. I have audited location pages that scored above 95% textual similarity against each other using nothing more elaborate than a shingled text comparison, and that is a red flag every time.
Why This Hurts Rankings
When Google's index sees multiple URLs on your own domain competing for the same query intent, it picks one canonical version to rank and either ignores or deprioritizes the rest. That is keyword cannibalization, and with location pages it is self-inflicted: you are not losing to a competitor, you are losing to your own other page. Worse, if the pages are thin (under a couple hundred words of unique content) on top of being duplicates, they can get flagged as low-value content in Search Console's "Crawled, currently not indexed" bucket, which quietly bleeds pages out of the index over time.
There is also a trust cost. A searcher who lands on your Denver page and then checks your Boulder page and sees the same three paragraphs with one word changed does not read that as thoroughness, they read it as a template mill. That perception affects conversion even when it does not affect rankings directly.
How Search Engines Handle It
How to Detect It
Run a content audit before you touch anything. Export the body text of every location page and run a similarity comparison, tools like Screaming Frog's "Near Duplicates" report (under the Content tab, using its built-in min content similarity threshold) will flag pages above a set similarity percentage, typically 90% by default. Sitebulb has a comparable duplicate content hint that scores pages against each other by site section. If you do not have a crawler license handy, even a manual side-by-side of three or four location pages usually makes the pattern obvious within thirty seconds.
Cross-check in Search Console under Pages, look at "Duplicate, Google chose different canonical than user" and "Crawled, currently not indexed." Location pages showing up in either bucket are a strong signal the engine already sees them as redundant. Also check whether your location pages are internally linked from a locations index page and from relevant service pages, isolated pages are both harder to crawl and easier to treat as low priority.
How to Fix It, Step by Step
- Inventory every location page and its current word count and similarity score against its siblings.
- Split the template into fixed and variable content. Keep brand-level information consistent, but make sure at least half the page is location-specific: local landmarks, service area boundaries, staff assigned to that branch, hours that actually differ, and driving directions written out rather than just an embedded map.
- Add real local proof. Location-specific reviews or testimonials (not a generic review widget showing the same five reviews everywhere), photos of that actual location, and mentions of local jobs completed or events sponsored.
- Give each page its own LocalBusiness schema reflecting that location's exact NAP, geo-coordinates, and hours, not a copy-pasted block with the city swapped.
- Rewrite the intro and conclusion paragraphs from scratch per location rather than templating them, this is usually where the worst duplication lives because it is the easiest text to leave untouched.
- Re-crawl and re-run the similarity check to confirm you have pushed pages below the threshold that triggers near-duplicate flags, aim well under 50% overlap between any two location pages.
- If a location genuinely has nothing unique to say (no staff, no distinct service area, a placeholder office), consider noindexing or merging it rather than publishing another thin duplicate.
What Good Looks Like
| Signal | Duplicate location page | Unique location page |
|---|---|---|
| Text similarity to siblings | 85% or higher | Below 50% |
| Word count | Under 200 words | 400 to 800+ words |
| Schema | Copy-pasted NAP | Location-specific LocalBusiness schema |
| Reviews shown | Same site-wide widget | Reviews filtered to that location |
| Indexation | One page ranks, rest suppressed | Each page can rank for its own city queries |
- Write a unique intro and closing paragraph per location
- Include local landmarks, service boundaries, and staff names
- Use location-filtered reviews, not a global widget
- Give each page its own LocalBusiness schema and coordinates
- Link location pages from a locations hub and relevant service pages
- Swap only the city name and phone number across pages
- Ship pages under 200 words and call it done
- Reuse the exact same testimonials on every location
- Leave orphaned locations with no internal links
- Publish a page for a location with genuinely nothing unique to say
FAQ
How similar is too similar between location pages?
Should I use canonical tags to fix duplicate location pages?
What if I have fifty or more locations? I can't hand-write all of them.
Can duplicate location pages get my whole site penalized?
Do I need a locations index page too?
Tools
- Screaming Frog: Near Duplicates report under the Content tab for text similarity scoring
- Sitebulb: Duplicate content hints scored by site section
- Search Console: Pages report, watch for "Duplicate, Google chose different canonical" and "Crawled, currently not indexed"
- Manual review: Side-by-side comparison of two or three location pages is often enough to spot the pattern
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







