Service area pages that actually rank
Every contractor has been sold 40 city pages with the town name swapped in. Google calls those doorway pages. Here’s what a real service area page looks like, and how many you should have.
Updated July 2026 · Engineered Reach
A service area page ranks when it contains information that could only have been written about that specific place: real jobs done there, local conditions, permit and code specifics, neighborhoods, and reviews from that market. A doorway page is the same template with the city name swapped, and Google explicitly targets those. Build fewer, deeper pages for the markets you genuinely serve rather than one thin page per town in a 50-mile radius.
At some point, an agency sold you on city pages. Forty of them. One for every town within an hour of your shop. They were generated in an afternoon, they all read identically except for the town name, and they never ranked for anything.
That is not a coincidence, and it is not because the idea is wrong. Service area pages absolutely can rank. The version you were sold was a doorway page, and Google has an explicit policy about those.
The 40-page problem
The logic seemed sound. You serve 40 towns. People search “plumber in [town].” Make a page per town, rank in all 40.
What actually happened: 40 near-identical pages with no meaningful content, thin or duplicated across the set, targeting places you have never done a job. Google either ignored them or, in the less pleasant scenario, took a dimmer view of the whole site.
The failure was never the concept. It was that the pages contained nothing. A page that says “Looking for a plumber in Centennial? Our expert plumbers serve Centennial with quality service” contains zero information about Centennial. Swap in “Parker” and it is equally true, which is exactly the problem: a page that could be about anywhere is about nowhere.
What Google actually says
This is not folklore. Google’s spam policies describe doorway pages directly: multiple pages targeting similar queries where the differences amount to funneling users to one destination, including “multiple domain names or pages targeted at specific regions or cities that funnel users to one page.”
The diagnostic question Google effectively poses: does each page provide substantial unique value, or is it just a variation of the others generated to catch a keyword?
Answer that honestly about your city pages. If the only difference between page 12 and page 31 is a proper noun, they are variations. If page 12 describes actual work you did in that town, local conditions that affect the trade there, and reviews from customers who live there, they are not.
What makes a page genuinely local
Here is the test that cuts through everything: could this paragraph have been written by someone who has never been to this city?
If yes, it is filler. If no, it is the reason the page works.
Things only a real local operator knows:
- Housing stock. Which decades the neighborhoods were built, what that means for your trade. A 1978 subdivision has different panels, different ductwork, different pipe than a 2019 build. That is a paragraph nobody can fake.
- Local code and permits. What the jurisdiction requires, what inspection looks like, roughly how long it takes. This alone can carry a page.
- Climate and conditions. Hail patterns. Hard water. Freeze depth. Wind exposure. Radon. Specific to the place, relevant to the trade.
- Actual jobs. “We replaced a 40-gallon water heater in a Tollgate Crossing home last month” is a sentence only you can write.
- Real reviews from that market. A review from a customer who names the neighborhood is worth more than three paragraphs of prose.
- Response reality. How long it takes you to get there, honestly. Which parts of town you cover same-day.
- Landmarks and neighborhoods used naturally, because you actually work there — not stuffed in a list at the bottom.
If you cannot write 300 words of genuinely specific content about a city, you probably should not have a page for it. That is not a content problem. It is a signal that you do not really serve that market yet.
The anatomy of a page that works
| Section | What goes in it | Why |
|---|---|---|
| H1 | Service + city, phrased like a human would say it | Matches query, sets the page’s subject |
| Opening answer | What you do there, response time, how to reach you \u2014 in the first 50 words | Extractable; respects urgent intent |
| Local context | Housing stock, climate, code, conditions specific to this place | The unique value that makes it not a doorway |
| Services here | What you actually do in this market, linked to the main service pages | Relevance plus internal structure |
| Proof from this market | Reviews, job photos, named neighborhoods you’ve worked in | Trust, and evidence you are genuinely present |
| Permits and process | What this jurisdiction requires, what to expect | Often the single most useful and most linkable block |
| FAQ | Questions specific to this market | AEO surface; genuine differentiation |
| Clear CTA | Phone, form, service hours \u2014 above the fold and repeated | The page exists to produce a call |
The local context and the permits sections are where the page lives or dies. Everything else is on your other pages too.
How many pages should you build?
Fewer than you were sold. Considerably fewer.
Build a page for a market when you can say yes to most of these:
- You have done real work there and can prove it
- You have or can get reviews from customers there
- You genuinely want more work there — drive time and margins pencil out
- You can write 300+ words that could not describe anywhere else
- There is actual search volume for your service in that market
For most contractors that is three to eight markets, not forty. Eight strong pages will outperform forty thin ones, and they will not put the rest of your site at risk.
The right move for the other thirty-two towns is a single honest service area page listing everywhere you go, with a map. That satisfies the “do they come to my town” question without pretending to a local presence you do not have.
Service × city: when to multiply
The tempting next step is a page for every service in every city. Five services, eight cities, forty pages. You have reinvented the problem with extra steps.
Multiply only where there is a real reason:
- Meaningful volume for that specific combination. “AC repair Aurora” may justify a page. “Duct cleaning Foxfield” almost certainly does not.
- Genuinely different content. If roof replacement in a hail corridor differs materially from roof replacement in the next county over, that is a real page. If it does not, it is not.
- Different local requirements. Different permit process, different code, different inspection regime. That is substantive difference.
Otherwise, one strong page per city covering all your services there, linking out to your service pages for the detail. That is a cleaner architecture and a lower-risk one.
The proof problem in a new market
Reasonable objection: how do you rank in a market you are trying to enter, when the page needs proof from a market you have not worked in?
Honestly, it is hard, and there is no clean trick. Distance is a real factor in local ranking and you cannot content your way past geography — we cover why in the Google Business Profile guide.
What actually works, in order:
- Work there first, then write about it. Take the jobs, even at thinner margin, then the page has something true to say. This is slow and it is the real answer.
- Use paid search to buy presence while organic develops. Ads have no proximity constraint the way the map pack does.
- Publish the useful local research anyway — permits, code, rebates for that jurisdiction. You can write that without having done a job there, it is genuinely useful, and it tends to earn links. See how contractors earn backlinks.
- Get local links from that market — a sponsorship, a chamber, a partner. Local relevance signals do not all come from your own site.
What does not work: pretending. A page claiming a presence you do not have will not rank, and if a homeowner calls and you cannot be there for three days, you have converted a marketing problem into a review problem.
Linking, structure, and schema
A few structural things that matter more than people expect.
URL structure. Pick a pattern and hold it. /hvac-repair-aurora-co/ or /service-areas/aurora/ both work. Mixing patterns confuses crawlers and you.
Internal links. Every service area page should link up to the main service pages and to the parent service area index. Every service page should link down to the markets. These pages should not be orphans reachable only from the sitemap — if nothing on your site links to a page, you have signaled that it does not matter.
Schema. Each page gets a Service block with areaServed set to that specific city, and a provider pointing back to your LocalBusiness. Our schema guide covers the properties. Do not copy an identical block across all pages — the whole point is that they differ.
Titles and descriptions. Unique per page, obviously, and written for a human deciding whether to tap.
Mistakes that keep pages from ranking
- Template with the noun swapped. The original sin.
- Neighborhood keyword lists dumped at the bottom. Everyone recognizes this for what it is.
- Cities you do not serve. Ranking for a town you will not drive to produces angry callers, not revenue.
- Orphan pages. In the sitemap, linked from nothing.
- Fake local proof. Stock photos presented as local jobs, invented testimonials. Beyond the FTC exposure, homeowners in a market recognize their own streets.
- No CTA above the fold. Emergency intent will not scroll.
- Publish once, never touch again. A 2021 page referencing a permit process that changed is worse than no page.
How to build them without losing a month
The realistic process, one market at a time:
| Step | What it takes |
|---|---|
| 1. Pick the market | Look at where jobs actually come from and where you want more. 30 minutes with your dispatch history. |
| 2. Pull the local facts | Permit office site, local code, climate data, housing age. About an hour of real research. |
| 3. Pull your own proof | Jobs done there, photos, reviews from that market. Your techs have the photos on their phones. |
| 4. Write it | Local context first, everything else after. 500\u2013900 words that could not describe anywhere else. |
| 5. Wire it up | Schema, internal links from and to the service pages, sitemap, CTA above the fold. |
| 6. Revisit | Add new proof as you do work there. Update when the code changes. |
That is roughly three focused hours per page. Eight markets is a manageable project across a quarter, and at the end you have eight pages that can actually compete rather than forty that cannot.
The instinct to cover the whole map is understandable. It is also why every contractor in your metro has the same forty worthless pages, which is quietly good news: the bar for doing this properly is low, and almost nobody clears it.
Want to know which markets are actually worth a page for your business? Book a free 30-minute Revenue Plan with Engineered Reach and we will look at where your demand really is.