A service business grows, wants to rank in more towns, and someone suggests building a page for each city. Twenty pages later, none of them rank, a few got hit by a Google update, and the site feels like a phone book. Somewhere in there, "we should have city pages" turned into "we built doorway pages," and the difference between those two things is the whole subject of this article.
This is about page architecture: what kinds of local landing pages exist, what each one is actually for, when a city page earns its place, where Google draws the line on thin and doorway pages, and how to build local pages that help rather than hurt. It pairs with how many pages a local service website should have, which covers site size overall. This one goes deep on the service-versus-location question specifically, because that is where most of the damage gets done, and where the fix is usually straightforward once you stop thinking about page count and start thinking about what each page is for.
The confusion this resolves
Owners and even some marketers use "service page," "city page," "location page," and "landing page" loosely, and the loose language leads to bad structure. Three questions usually sit tangled together:
- Should I have one page per service, or one big services page?
- Should I have a page for every city I serve?
- What is the difference between a page that helps and a page that gets penalized?
The answers connect. A site with clear, distinct service pages and a small number of genuinely local pages tends to do well. A site with one thin services page and forty near-identical city pages tends to do badly and carries real risk. Getting the architecture right is mostly about understanding what each page type is for.
There is also a cost side that owners underweight. Every page is a page to write, keep current, and be responsible for. A site with fifteen well-maintained pages is easier to run and looks more credible than one with a hundred where half have outdated prices, dead links, and last year's phone number. The question is never "how many pages can I make," it is "how many pages can I make genuinely good and keep that way."
The page types, defined
Service pages
One page per distinct service you offer: "Drain Cleaning," "Water Heater Repair and Installation," "Sewer Line Repair." Each explains that service in depth, what is involved, common problems, how you approach it, what it costs in general terms, and why someone should choose you for it. Service pages are the backbone of a local service site. They target searches like "drain cleaning" and "water heater replacement cost," and they convert visitors who already know what they need.
City pages, also called location pages
A page focused on a specific city or town you serve: "Plumber in Denton, TX." These target "plumber in [city]" and "[city] plumber" searches, and they exist to establish local relevance for a place where you do not have a physical address. City pages are the ones most often done badly.
Service-plus-city pages
The intersection: "Drain Cleaning in Denton, TX." These target the most specific searches, and they are the most tempting to mass-produce, because the math is seductive: eight services times ten cities is eighty pages. That math is also how sites end up with a pile of thin, swapped-name pages.
Service-plus-city pages can work, but only in a narrow band: a service with real search demand at the city level, in a city where you do real volume of that specific service, with enough distinct material to make the page useful. That is usually a handful of combinations, not the full grid. A plumber might justify "water heater replacement in [largest city they serve]" because that is a real, high-value search there. The same plumber almost certainly cannot justify "faucet repair in [small suburb]," because nobody searches it that way and there is nothing distinct to say.
The service-area hub page
A single page that lists and briefly describes every area you serve, usually with a map and links to whatever individual city pages you have chosen to build. It gives Google and visitors a clear picture of your coverage without requiring a full page for every town.
Multi-location pages
For a business with more than one real, staffed office: one page per physical location, with that location's address, hours, phone, staff, and local details. These are different from city pages because they are backed by a real place, and they should have their own Google Business Profile.
What each page is actually for
Every page on your site should have a job. If you cannot say what a page is for in one sentence, it probably should not exist.
Service pages: depth and conversion
A service page's job is to be the most useful page on the internet about that service from a provider in your area, and to convert the reader into a call. It ranks because it genuinely covers the topic, and it converts because it answers the questions a buyer has: what causes this problem, what are my options, what does it cost, how fast can you come, why should I trust you. A business with strong service pages can rank for service terms across a wide area even without many city pages, because the service page plus a strong Google Business Profile does a lot of work.
The mistake to avoid on service pages is the opposite of the city page mistake: instead of too many thin pages, too few overloaded ones. A single "Services" page that lists twelve services in a sentence each ranks for none of them well, because it is not the best page about any one of them. Split it. One page for drain cleaning, one for water heater work, one for repiping, each deep enough to be the page a person researching that specific problem would want to find. This is covered more in how many pages a local service website should have, but the principle here is simple: one clear job per page, and "explain every service" is not one job.
City pages: local relevance for a specific place
A city page's job is to establish that you genuinely serve that place, with proof a reader and a search engine both find credible. Not "we serve Denton" repeated ten times, but real signals: neighborhoods you work in, a recent job in that city with photos, local landmarks or conditions that affect the work, reviews from customers there, and a clear statement of your response time to that area. A city page that does this is a real page. A city page that swaps "Denton" for "Frisco" in the same template is a doorway.
Service-area hub: coverage clarity
The hub page's job is to answer "do you come to my town" quickly, for both visitors and search engines, and to route people to deeper pages where they exist. It is low-effort and high-value, and most service businesses should have one. A good hub has a short intro on your overall coverage, a map, and the towns grouped sensibly, by county or region, each with a sentence and a link to a real page if one exists. It is the honest answer to "where do you work" without pretending every town gets a full treatment.
Multi-location pages: a real place on the web
A location page's job is to be the web home of a physical office: the thing your Google Business Profile for that location links to, with matching name, address, and phone, and enough local detail that it stands on its own.
How search engines and AI systems read your local pages
Before deciding what to build, it helps to understand what a search engine is trying to work out when it looks at a local page.
It is checking whether you are a real, distinct thing in that place
Google and the AI systems built on top of it try to understand your business as an entity: a specific company, with a location or service area, a set of services, a reputation, and a web of references from other sources. A real local page adds to that picture. A thin one adds noise, or worse, makes the business look like it is trying to appear in more places than it genuinely operates. The signals that tell an engine your local page is legitimate, consistent name and address data, real reviews from that area, references to your business from local sources, are the same signals covered in entity SEO for local businesses.
Duplication is easy to detect
Comparing pages for near-identical content is one of the simplest things a search system does. Forty pages that are 90 percent the same with a city name swapped are trivially identified as templated, and templated local pages are exactly what the doorway policy targets. Unique local content is not just better for readers, it is the thing that keeps the pages from being clustered together and discounted.
AI answers pull from pages that clearly serve an area
When an AI system answers "who does drain cleaning in Denton," it is more likely to surface a business whose pages, profile, and third-party mentions consistently and specifically tie it to Denton, than one with a thin templated page. Vague, duplicated local content gives an AI system nothing confident to cite.
When a city page is warranted, and when it is not
City pages are worth building when you can make them real. The test is whether you have enough genuine, specific material about your work in that city to fill a page that a local resident would find useful.
A city page is probably warranted when
- You do meaningful, regular volume in that city, enough to have real jobs, photos, and reviews from there.
- The city is large enough or distinct enough that "plumber in [city]" is a real search with its own competition.
- There are local specifics worth writing about: housing stock and its typical issues, local code or permit quirks, climate factors, common neighborhoods.
- You can point to a local presence beyond the page: reviews mentioning the city, a sponsorship there, coverage, partnerships.
A city page is probably not warranted when
- You have done a handful of jobs there and have nothing specific to say.
- The "city" is a small suburb that searchers lump in with the metro anyway.
- You would be writing the same page you wrote for the last city with the name changed.
- You are building the page to rank, with no expectation that a human would benefit from it.
For the towns that fail the test, the service-area hub page handles them: a sentence or two each, listed as areas you serve, with no pretense of a full local page. This is not a lesser treatment, it is the honest one, and search engines read it as such.
A quick scoring exercise
For each city you are considering, score these five items from 0 to 2, where 0 is none, 1 is some, 2 is strong:
- Search demand for "[my service] in [city]" and "[city] [my service]."
- Real jobs completed there in the last year, with photos.
- Reviews from customers in that city.
- Distinct local material to write about: housing, code, climate, neighborhoods.
- Local presence beyond the website: sponsorships, partnerships, coverage.
A city that scores 7 or higher is a strong candidate for a real page. A city that scores 4 to 6 might warrant a lighter page once you build up more material. A city below 4 belongs on the service-area hub with a sentence, not its own page. Run this for every town you serve and you will usually find that three to six deserve real pages and the rest do not, which is a much healthier structure than a page for all thirty.
Start with your best three
Rather than building twenty city pages at once, build the two or three where you have the most real material, make them genuinely strong, and see how they perform over a few months. If they rank and convert, you have a model to extend to the next few cities where you have real substance. If they do not, you have learned something cheaply.
The doorway page line, in Google's own terms
Google's spam policies name doorway pages specifically. The policy describes them as pages created to rank for similar search queries that lead users to intermediate pages less useful than the final destination, and it lists examples: multiple pages or domains targeting specific regions or cities that funnel users to one page, and substantially similar pages closer to search results than to a real, browseable part of the site.
What this means in practice
A set of city pages crosses into doorway territory when:
- The pages are near-duplicates with the city name swapped and little else different.
- They exist to capture search traffic and then push everyone to the same contact form or the same generic content.
- There are far more of them than there is real, distinct content to support.
- They are not part of a navigable structure a visitor would actually browse, just a list of URLs built for search engines.
The consequence
Google says pages that violate the spam policies may rank lower or not appear at all. In practice, sites with large sets of thin city pages tend to see those pages fail to rank, and sometimes see broader site-quality effects when a core update reassesses the whole domain. The risk is not always a dramatic penalty, sometimes it is just that the pages never work and the effort was wasted, plus a site that looks lower quality overall.
Google has said this directly for years
This is not a new or ambiguous position. Google published guidance on doorway pages more than a decade ago and has restated it in its spam policies since. The specific language about "multiple domain names or pages targeted at specific regions or cities that funnel users to one page" describes the swapped-city-name template almost exactly. A business building that structure in 2026 is not finding a clever gap, it is doing the thing the policy was written about.
The safe side of the line
You are clearly fine when each local page has substantial unique content, reflects real work in that place, is linked from a sensible navigation structure, and would be useful to a person who lives there even if search engines did not exist. If you would be comfortable showing the page to a customer from that city and saying "this is our page about the work we do in your area," it is a real page. If you would be embarrassed to show it to them because it is obviously the same page with their town's name pasted in, that is the answer.
What makes a local page real, not thin
Here is what actually goes on a city page that earns its ranking.
Genuine local content
The core of a real city page is material that could only have been produced by a business that actually works there:
- Real jobs from that city, with photos and a short honest description. Two or three recent examples.
- Local specifics: the age and type of housing common there and the problems that come with it, local permit or code notes, climate or water conditions that affect the work.
- Neighborhoods and landmarks you actually serve, named naturally, not stuffed.
- Reviews from customers in that city, pulled in or quoted with the city noted.
- Your response time and coverage for that specific area, stated plainly.
Conversion elements
A local page that ranks but does not convert is only half the job. Every city page should carry:
- A clear call to action above the fold, with a tap-to-call phone number.
- Trust signals: license, insurance, years in business, review rating.
- The specific services you offer in that area, linked to your service pages.
- A short FAQ addressing questions specific to that market.
- A form that is short and works on mobile.
- A statement of response time or availability for that area, so the reader knows you actually cover them.
The visitor on a city page has often narrowed their choice to two or three companies and is checking which one clearly serves their area and looks trustworthy. Make that obvious in the first screen. A page that buries the phone number, has no visible reviews, and makes the visitor scroll to find out if you even come to their town loses to a competitor whose page answers all three questions immediately.
What thin pages have instead
A thin city page has a headline with the city name, two or three paragraphs of generic copy about the service with the city name inserted a few times, a stock photo, a list of nearby cities also linked, and a form. Nothing on it could not have been written by someone who has never been to the city. That is the page that does not rank and might hurt you.
A concrete comparison
Two versions of the same page for a roofer, "Roof Repair in [City]."
The thin version: "Looking for roof repair in [City]? [Company] is your trusted local roofing contractor serving [City] and surrounding areas. Our experienced team handles all types of roof repair in [City], including shingle repair, leak repair, and storm damage. We are licensed and insured and offer free estimates. Contact us today for roof repair in [City]." Then a stock photo of a roof, a list of eight nearby towns linked, and a form. The word "[City]" appears six times and communicates nothing.
The real version: A note that much of [City]'s housing was built in a particular decade with a particular roof type that tends to fail in a specific way, and how the company approaches that. Two recent [City] jobs with before-and-after photos and a sentence on what each involved. A pulled quote from a [City] customer review. A note on the local permit process and typical timeline. A line on how fast the company can get a crew to [City] neighborhoods after a storm. Links to the relevant service pages. A short FAQ with questions [City] homeowners actually ask. The city is mentioned where it is relevant and the page would be genuinely useful to someone who lives there.
The second page takes an afternoon to write and cannot be mass-produced, which is exactly why it works.
A site architecture that scales without spam
Here is a structure that lets a growing service business expand its local footprint safely.
- A clear set of service pages, one per real service, each deep and conversion-focused. This is the foundation and it does most of the ranking work for service terms across your whole area.
- A service-area hub page listing every town you serve, with a map, short descriptions, and links to the city pages that exist.
- City pages only for the places you can make real, starting with your strongest two or three and extending as you build genuine substance elsewhere.
- Service-plus-city pages only where the search demand and your material both justify it, which is a small subset, not the full grid.
- Multi-location pages for every physical office, each tied to its own Google Business Profile.
This structure grows with the business. You add a city page when you have earned the right to one, not on a schedule. The local ranking model rewards this, because a real local page contributes to relevance and prominence for that area, while a thin one contributes nothing or worse.
How this looks at different sizes
A one-truck plumber serving a single metro might have eight service pages, one service-area hub, and a homepage that carries the local relevance, with no separate city pages at all, and rank fine. A three-crew company serving a metro plus four distinct outlying towns might add a real page for each of the four towns where it does regular work. A company with two physical offices adds a location page and profile for each. A regional company with ten branches has ten location pages, each substantial, each with its own profile, plus service pages, plus a coverage hub. The structure scales by adding real pages backed by real operations, never by multiplying templates.
The homepage carries local weight too
For a single-location or single-metro business, the homepage is often the strongest local page on the site. It should state clearly where you are based and the area you serve, carry your primary trust signals and reviews, and link to your service pages and hub. Do not neglect it while building out secondary pages, because for many searches it is the page Google ranks for your business.
Internal linking between local pages
How your pages link to each other matters almost as much as what is on them.
Link from a real structure, not a footer dump
A block of forty city links crammed into the footer of every page is a classic doorway signal. It tells a search engine the pages exist only to be crawled, not to be browsed. Instead, link to city pages from where it makes sense: the service-area hub, relevant service pages, and related city pages, in context, the way you would link if you were helping a reader rather than feeding a crawler.
Link city pages to service pages, and back
A city page should link to the specific service pages for the work you do there. A service page can link to the city pages for the markets where that service has real local content. This creates a small, sensible web where a visitor researching "water heater replacement in Denton" can move between the service detail and the local proof.
Do not interlink thin pages to prop each other up
Linking thirty thin city pages to each other does not make them strong, it makes the cluster look more like a network built for search engines. If pages are not worth linking to from your main navigation and content, they are probably not worth having.
The hub is the anchor
The service-area hub page is where your local structure lives. It should be linked from your main navigation or footer once, list every area you serve, and link out to the individual city pages that exist. That single page does the job that a footer full of city links does badly, and it does it without the spam signal.
Multi-location businesses
If you have real offices in more than one place, the rules change in your favor.
Each real location gets a real page and a real profile
A staffed office in Denton and a staffed office in Fort Worth each get their own location page, with that office's address, phone, hours, staff, and local content, and each gets its own Google Business Profile. This is legitimate and expected. The name, address, and phone on each page must match its profile exactly, which is where NAP consistency becomes a multi-page discipline.
Do not fake locations to get more pages
A virtual office, a mailbox, or a friend's address you do not actually operate from is not a location, and building a page and a profile around it is the fastest way to get the profile suspended and the page treated as spam. The rules for when a second profile is legitimate are in how many locations a local business should list online.
Keep location pages distinct
Even real location pages can be thin if they are templated. Each should reflect that office: its team, its service area, jobs from that area, reviews from those customers. The bar is the same as for a city page, you just have more real material to work with because there is an actual office there.
When not to build another page
Sometimes the right move is no new page at all.
- When you have nothing new to say. If the page would repeat an existing one, add the city to your service-area hub instead.
- When the search demand is not there. A tiny town where nobody searches "plumber in [town]" does not need a page competing for a search that barely exists.
- When your service pages are still weak. Fix the foundation first. Strong service pages plus a good profile will out-rank a pile of thin city pages every time.
- When you cannot maintain it. Every page you add is a page to keep current. Twenty city pages with outdated info and dead links look worse than five that are maintained.
- When it would push a real page deeper. Adding fifty thin pages dilutes the internal links and attention your strong pages need.
- When a competitor's thin pages seem to be working. Enforcement is uneven and delayed. A competitor ranking with thin city pages today may lose them at the next core update, and you do not want to have copied a strategy that is about to be reassessed.
The instinct to match a competitor's page count is strong, especially when theirs seems to be ranking. Resist it. The right comparison is not how many pages they have, it is whether your real pages are stronger than their real pages, and whether your profile and reviews are ahead of theirs. Those are what decide most local searches, and they are where the effort a page-building spree would consume is better spent.
Fixing thin pages you already have
If you already built a grid of thin city pages, you have three options, and doing nothing is not one of them.
Option one: improve the ones worth keeping
For the cities where you do real volume, rebuild the page with genuine local content, real jobs, real reviews, real specifics. Turn a doorway into a destination.
Option two: consolidate the rest
For cities where you cannot make a real page, remove the individual pages and fold those towns into the service-area hub. Redirect the old URLs to the hub or to the most relevant service page. Fewer, stronger pages is almost always the better site.
Option three: for a large problem, a staged cleanup
If you have dozens of thin pages, do not delete them all overnight. Identify the ten or fifteen worth keeping and improving, redirect the rest to relevant destinations in batches over a few weeks, and monitor. Sites often see overall quality signals improve after removing a large set of thin pages, because the domain no longer looks like a doorway network.
How to prioritize which thin pages to save
Run the scoring exercise from earlier on your existing thin pages. The ones for cities where you score 7 or higher are worth the rebuild. The ones scoring 4 to 6, decide case by case, usually improve the ones with real search demand and consolidate the rest. Anything below 4 gets redirected. You will typically end up keeping and strengthening a quarter to a third of a bloated set and consolidating the rest, which almost always produces a stronger site than the full pile did.
Handle the redirects properly
When you remove a thin city page, redirect its URL to the most relevant place: the service-area hub, a nearby real city page, or the relevant service page. Do not just delete the pages and leave dead URLs, and do not redirect everything to the homepage, which search engines often treat as a soft delete. A clean redirect to a genuinely related page preserves whatever small value the old page had and gives a visitor who clicks an old link something useful.
Expect a short adjustment period
After a large cleanup, rankings and traffic can wobble for a few weeks as search engines recrawl and reassess. This is normal. What you are watching for over two to three months is whether your remaining strong pages hold or improve their positions, and whether the overall site looks healthier. In most cases removing a doorway network is a net gain, but it is not instant.
A decision framework
When you are deciding whether to build a local page, run through this:
- Do people search "[my service] in [this place]" enough to matter? If no, add it to the hub and stop.
- Do I have real material: jobs, photos, reviews, local specifics from this place? If no, do the work to earn it first, or add it to the hub.
- Could I show this page to a customer from that city without embarrassment? If no, it is not ready.
- Can I keep this page current? If no, do not build it.
- Are my service pages already strong? If no, fix those first, because they will do more for your reach than any city page.
Five yeses means build it, and build it properly. Any no means either do the underlying work or route the town through your hub page.
The pattern to remember
Strong service pages do most of the ranking work for what you do. A service-area hub answers where you do it. Real city pages, a small number, add local depth for the places that deserve it. Location pages back real offices. Everything else is the hub's job, not a page's job. A business built this way has a site that grows with the company, stays maintainable, reads as legitimate to both search engines and AI systems, and does not carry the risk that a large thin-page network does.
A service business with eight strong service pages, a clear service-area hub, and four genuinely local city pages will out-perform a competitor with the same services and forty thin ones, and it will not be one core update away from losing a chunk of its traffic. If you are planning a new site or untangling an existing one, this is the kind of structure our website development work is built around: real pages with a job, and no page phone book.

