In this guide
- The short answer
- The six-question test for a location page
- What a good location page contains
- How thin and redundant city pages happen
- Alternatives that still support local SEO
- Test one page before building more
- If you already have a pile of thin city pages
- How I structure the pages that stay
- Frequently asked questions
- Sources and further reading
Key takeaways
- A city page is earned by real work in that place, evidence of demand, something true about the place that is not true of the next one, and proof from there. A town name swapped into a template does not earn it.
- Google's spam policies describe doorway abuse as pages created to rank for similar queries, including multiple pages targeted at specific regions or cities that funnel users to one page.
- Usually one strong service page, an "areas we serve" section and a few well-earned area pages beat dozens of templated city pages.
- Do not swap content by visitor location on one URL. Google says it may not crawl, index or rank all content that changes by locale, because its default crawler locations appear to be in the USA.
- If you already have thin city pages, improve, merge with a 301, or remove them. Do not block them in robots.txt and expect them to vanish.
The short answer
A request that comes up often in local SEO is some version of "make a page for every area we cover". It sounds logical: more pages, more places to rank. In practice, a page whose only difference is the town name tells a visitor nothing new and tells Google that the site is producing pages for search rather than for people. Google's spam policies name this pattern: doorway abuse includes "having multiple domain names or pages targeted at specific regions or cities that funnel users to one page" and "creating substantially similar pages that are closer to search results than a clearly defined, browseable hierarchy".
That does not mean location pages never work. It means each one has to earn its existence. This guide gives the test I use, then covers what a good page contains, the alternatives, and what to do with pages you already have. The ranking background is in how Google ranks local results.
The six-question test for a location page
Before I plan an area page, I answer these in order. The first three must all be yes.
- Do you actually serve people there, regularly? Not "could serve". If you cannot name recent work in the area, stop here.
- Is there evidence of demand? Enquiries from that area, or searches that pair your service with the place. Search Console queries and the Keyword Generator help here.
- Can the page say something true about this place that is not true of the next one? Travel time, call-out charges, coverage and hours, local rules or permits, the team that covers it, access and parking, common local conditions.
- Do you have proof from there? Jobs, photos taken with permission, comments from customers in that area, reviews.
- If you swapped the place name for another, would the page still read the same? If yes, it is a template, not a page.
- Can you keep it accurate? Hours, prices, team and coverage change. A stale page is worse than none.
If the answers to questions 1 to 3 are yes and 4 and 5 are strong, build a full page. If 1 to 3 are yes but there is little proof, build a section on a shared area page instead. If any of the first three is no, do not build one. The same logic, applied to hundreds of pages, is in programmatic SEO without the penalty risk.
Never fake the place
A city page is not a licence to list an address, a pin or an "office" in a place where you have none. Google's guidelines say virtual offices are not eligible for a profile, and a fake location puts the profile at risk. See the mistakes guide.
What a good location page contains
- The service, described for that place. What you do there, how booking works, how long it takes to reach the customer and what affects the price.
- Local facts that are true. Coverage, hours of availability, the team that covers the area, access and parking, local conditions that change the work.
- Proof from the area. Real jobs, photos with permission, and customer comments from nearby, shown without private details.
- An easy way to act. A call button, a short form and a message option, tailored to the page.
- Answers to place-specific questions in a short FAQ, written in plain visible text.
- For a real branch only: the address, map, directions and hours of that branch, matching its profile. If you have several branches, each one has its own profile and its own location page.
- Links in both directions. From the main service page and the "areas we serve" section to the page, and back to the services.
For a business with one location, you generally need one strong location page, often the contact page. The Local SEO Landing Page Audit scores a page against that list, and the Business Profile guide shows how it should match the profile.
How thin and redundant city pages happen
- One template, many names. The same paragraphs, with the place swapped. Visitors and Google can both tell.
- Lists of cities. Google's spam policies list "blocks of text that list cities and regions that a web page is trying to rank for" as keyword stuffing.
- Pages generated at scale. Google says using generative AI tools or similar tools to generate many pages without adding value for users may violate its scaled content abuse policy, whatever the tool. Using AI as help is fine. Using it to mass-produce place pages is the problem.
- Neighbourhood pages inside one city. Jawalakhel, Pulchowk and Kupondole are all part of Lalitpur. Unless you have distinct demand and distinct facts for each, one good Lalitpur page that mentions them naturally is stronger than three that repeat each other.
- Pages with no inbound links. Created, never linked, never found.
- Pages built from CMS templates without a check. Each platform has its own traps, covered in technical SEO for Shopify, WordPress and Webflow.
Alternatives that still support local SEO
| Approach | Best when | Watch out for |
|---|---|---|
| One strong service page plus an "areas we serve" section | You serve many places with the same service and little that differs | Do not paste a block of city names. Write sentences and link only to real pages |
| An area page grouping nearby towns, with a section for each | A few nearby places share most details but differ in a few | Each section needs a genuine difference, not a renamed paragraph |
| A hub page listing areas, linking to earned pages | You have several earned area pages and want a clear path to them | Keep it a useful index, not a keyword list |
| One location page per real branch | Each branch has its own address, team and profile | Consistent name, address, phone and hours with the branch's profile |
| One URL that swaps content by visitor location | I do not recommend it for local pages | Google may not crawl, index or rank all of it |
Why I avoid location-swapped content
Some tools change a page's content based on where the visitor appears to be. Google's documentation on locale-adaptive pages says it might not crawl, index or rank all such content, because Googlebot's default IP addresses appear to be based in the USA and its requests do not set an Accept-Language header. It recommends separate URLs for separate versions. For a local business that means visitors from one place and Google may see different things, and the personalised version may never be indexed. A real page per earned place, or a section on a shared page, is more reliable.
Test one page before building more
When the answers say a page is earned, I build one, not ten. Pick the area with the clearest demand and proof, publish it properly, link it, and wait until it is crawled and indexed. Then look at:
- Indexing: is the page in the Page indexing report as indexed?
- Search Console: impressions and clicks for that page, and whether queries that include the place appear.
- Actions: calls, message taps and form submissions that start on that page, and what customers from the area say about how they found you.
- Engagement: whether visitors scroll, click the proof and use the contact options.
Judge it over weeks, not days. Volumes in a single area can be small, so a handful of enquiries is a signal, not proof. If the page is indexed, shows for the place and produces enquiries, build the next earned page the same way. If it is indexed but nothing happens, the answer is usually a section on a shared page, not more pages.
If you already have a pile of thin city pages
This is more common than building from scratch. Decide page by page:
- List them with their traffic and enquiries. Search Console shows impressions and clicks per page, and the audit errors guide lists near-duplicate pages among the problems an audit should rank.
- Keep and strengthen the ones that pass the test. Add the true local facts and proof they lack.
- Merge the rest into the closest stronger page with a single 301 redirect to the nearest equivalent, not the home page. The redirect guide covers the details, and the Redirect Checker confirms each one.
- Remove pages with no equivalent by returning a 404 or 410, or keep them out of search with noindex while they stay live for visitors. Do not rely on robots.txt, which stops crawling and does not remove pages. That guide explains why.
- Clean up links and the sitemap. Update internal links to the surviving pages and remove retired URLs from the sitemap. The migration checklist has the full routine.
- Watch indexing. Use the Page indexing report, and read why pages are not indexed if the right ones do not appear.
How I structure the pages that stay
A clear path helps visitors and Google: the home page or main service page links to each service, services link to the areas where they are offered, and area pages link back. Use descriptive anchor text such as the service and the place, once, naturally. Add breadcrumbs, include only the pages you want indexed in the sitemap, and check click depth with the Internal Link Analyzer. Pages built from one template can fail together, which is the risk described in the template deploy guide, so check a sample after any change. For businesses with many branches, ownership and rules matter as much as the pages: SEO governance and what enterprise SEO is cover that side, and how to report enterprise SEO to executives shows how to report it upward. The broader local SEO service covers the page plan, and on-page SEO covers the writing.
Frequently asked questions
How do I know if a city page is worth it?
Use the six questions: real work there, evidence of demand, something true that differs from the next place, proof from the area, a page that would not read the same with the name swapped, and the ability to keep it accurate.
What should a city page include to avoid thin content?
True local facts such as coverage, travel time, hours and the team, proof from that area, place-specific answers and a clear way to act. For a real branch, add its address, map and hours.
Can a service-area page replace multiple city pages?
In many cases, yes. One page with a genuine section for each nearby town keeps depth where it matters and avoids near-duplicates.
Is dynamic location content a good alternative?
I do not recommend it for local pages. Google says content that changes by visitor location may not be fully crawled, indexed or ranked, and separate URLs are the safer route.
How should I measure a location page?
Check that it is indexed, look at impressions, clicks and place-related queries in Search Console, and count calls, messages and forms that start on it. Give it weeks, and compare with the period before.
Can I use AI to write location pages?
Google does not ban AI-assisted content, and its guidance says to review AI output for accuracy before publishing. It does warn that generating many pages without adding value for users may violate its scaled content abuse policy, so use AI for drafting and structure and add the real local facts yourself. I do that on this site, and say so on each guide.
Sources and further reading
Statements about Google in this guide are based on the pages below, checked on 26 October 2026. How Google shows a business can differ by searcher, place and query, so treat results as indicative.
- Spam policies for Google web search: doorway abuse, scaled content abuse and keyword stuffing with lists of cities
- Locale-adaptive pages: why content that changes by visitor location may not be crawled, indexed or ranked
- Creating helpful, reliable, people-first content: people-first content and the questions about automation and AI
- Using generative AI content on your website: generating many pages without adding value may be scaled content abuse
- Guidelines for representing your business on Google: no virtual offices or fake locations, one profile per business location
- Manage your service areas for service-area and hybrid businesses: service-area businesses have one profile for the whole area
- Local business structured data: hours and business details markup
- Redirects and Google Search: permanent redirects when merging pages
- Page indexing report: checking whether pages are indexed