Service-Area Pages for Contractors: Template + the Doorway-Page Safety Rule
Every contractor SEO guide tells you the same thing: build a page for each town you serve, but don't make doorway pages. Then they stop. Nobody shows you what the good version actually looks like, so you end up with fifteen pages that say "We proudly serve [Town Name] with quality plumbing at affordable prices" and a swapped-out city name in the H1. Google has a name for that pattern, and it's the exact thing the warnings are about.
Here's what we actually see across the accounts we run: a service-area page earns its ranking when it could not have been written about any other town. That's the whole test. If you could paste the same body under a different city name and nothing would be false, it's a doorway page and it will either sit on page 4 forever or get quietly demoted in a core update. This guide gives you the real template, the three things that make a town page genuinely distinct, and the exact line you can't cross.
The radius strategy this feeds into sits inside local SEO for home service contractors, and the reason coverage pages matter at all is the distance decay explained in map pack ranking for contractors. Four trades have their own worked version of this build, each solving the uniqueness problem with different raw material — HVAC, plumbing, landscaping, and window installation.
The doorway-page line, stated plainly
Google's doorway-page policy targets pages built to funnel searchers into the same destination with little unique value between them. The tell isn't the existence of town pages. It's whether each page stands on its own. A legitimate service-area page answers "what is it like to hire us for this job, in this specific place?" A doorway page answers nothing. It exists to catch "[service] [town]" and dump the visitor onto your generic pitch.
The practical line we hold on client sites: if a page has no information that is true only for that town, it doesn't ship. Not "mostly unique with a local intro paragraph." No page-specific truth, no page. On one HVAC account we killed 22 near-identical city pages that had been up for two years and never cracked the top 20 for anything. We rebuilt 6 of them properly. Within about four months those 6 were outranking what the 22 never touched. Volume of thin pages is not a strategy. It's a liability that dilutes your whole domain.
The trades where this bites hardest are the ones with a genuinely wide radius and a low job frequency, so there is little local detail to draw on — generator installers and fencing contractors are the two we see fail this test most often. Trades that visit the same streets weekly, like pool service and cleaning companies, have more page-specific truth available than they realise and usually build too few town pages rather than too many.
The other thing nobody says: a doorway page hurts the pages around it. Google evaluates site quality partly at the domain level now. Twenty thin town pages drag down your money pages. We've watched a service page's rankings recover after we deleted the junk town pages that surrounded it, without touching the service page itself.
The template: what a real town page contains
Here's the structure we use, in order. H1 that names the service and the town. A first section on the specific work you've done there, with real job photos (more on that below). A section on local specifics that affect the job: permit rules, climate load, common housing stock, water conditions, whatever the trade cares about. A block of named neighborhoods and landmarks that proves you actually drive those streets. Two or three real reviews from customers in that town, name and neighborhood shown. A short FAQ answering questions specific to that market. Then the CTA and NAP.
The load-bearing parts are the job section, the local-specifics section, and the neighborhoods. Everything else is standard. A page that nails those three is impossible to mistake for a doorway page because you literally cannot write it without having worked in that town. That's the point. The template isn't there to help you scale thin pages faster. It's there to force each page to carry local truth.
Word count is not the metric. We've shipped 500-word town pages that rank because every sentence is specific, and we've seen 1,800-word ones tank because they're padded generic filler wearing a town name. Length follows how much true, local, specific material you actually have. If you only have 400 words of real stuff about a town, ship 400 words. Don't inflate it. Inflation is what makes it look like a doorway.
Three things that make a town page genuinely distinct
First, real job photos from that town. Not stock, not your best three photos reused on every page. Actual before-and-afters from jobs in that specific city, geotagged where you can, with alt text and a caption naming the neighborhood and the work. This is the single hardest thing for a competitor to fake and the single strongest "we're really here" signal. A roofer we work with photographs every completed job with the street sign or a recognizable landmark in one frame. Those pages read as evidence, not marketing.
Second, permit and code specifics. This is where trade knowledge separates a real page from AI filler. In one metro our electrical client serves, two adjacent towns have different permit-pull requirements and one requires a separate inspection for panel upgrades. Putting that on the town page does two jobs at once: it's information that's only true there, and it answers a question the homeowner actually has. Same logic with climate — a town in a freeze zone needs different pipe-insulation talk than one 40 miles south that never freezes. Trades know these differences cold. Most contractor sites never put them on the page.
Third, named neighborhoods and micro-geography. Not the town's Wikipedia intro. The subdivisions, the older vs newer construction areas, the part of town on well water vs city water. When you write "we do a lot of sewer-line work in the older homes off Elm and around the Riverside district because of the clay pipe from that era," you've said something no template generator produces. That's the texture that tells both Google and a reader that you work these streets, not just this zip code from a spreadsheet.
How many town pages, and how they widen your radius
Your Google Business Profile ranks you strongest near your pin and fades out fast the further a searcher is from it — that proximity falloff is the core problem the hub guide is built around. Service-area pages are one of the few levers that extend your organic reach into towns where your map pack presence is weak. A well-built page for a town 12 miles out can rank in classic organic results even when you're invisible in that town's local pack. That's the whole argument for building them: they win the ground your pin can't hold.
But only where you have real material. Our rule: build a town page when you can honestly fill the three load-bearing sections — you've done jobs there, you know the local specifics, you can name neighborhoods. If you've done two jobs in a town and can't name a street, it's too early. Build it after your fifth or sixth job there when you've got photos and stories. A short list of genuine pages beats a long list of hopefuls every time.
For most single-location contractors we run, that's somewhere between 6 and 15 real town pages, prioritized by where the money is and where the map pack fails you. Don't build a page for all 40 towns in your "service area" dropdown. Build for the 10 that matter and where you can prove presence. The other 30 can live as a plain list on one areas-served page with no pretense of being individual ranking pages.
Internal linking, GBP alignment, and not tripping the duplicate filter
Link each town page from your main service pages and from a clean areas-served hub, and cross-link neighboring town pages where it's natural ("we also serve nearby [Town]"). This gives Google a sane structure and passes authority down to pages that are otherwise orphaned. A town page with zero internal links pointing at it is a page you don't really believe in, and Google reads it the same way.
Keep the town pages consistent with your GBP service area, but understand they do different jobs. The GBP service-area setting influences the map pack; the pages compete in organic. They reinforce each other — matching city names, matching NAP — but the page has to carry unique content the profile can't. Don't treat the page as a text version of your GBP listing. That's just a doorway page with an address on it.
The near-duplicate filter is the quiet killer here. Even pages that aren't technically doorway pages get filtered if their bodies are 80% identical. We run a simple check on client sites: pull any two town pages side by side and count the sentences that are word-for-word the same. If it's more than the CTA and the NAP, the pages aren't distinct enough and one of them will get suppressed. The fix is never "spin the wording." It's add real local material until the pages diverge on substance.
This is one piece of the bigger picture. For the complete playbook, read our main guide: Contractor Local SEO.
FAQ
Frequently Asked Questions
What's the actual difference between a service-area page and a doorway page?
A service-area page contains information that's true only for that town — real jobs you've done there, local permit or climate specifics, named neighborhoods. A doorway page is the same generic pitch with the city name swapped, built only to catch "[service] [town]" searches and route people to your main offer. The test is simple: if you could paste the body under a different town name and nothing would be false, it's a doorway page.
How many town pages should a contractor build?
As many as you can genuinely fill, and no more. For most single-location contractors we run, that's 6 to 15 real pages, prioritized by revenue and by where your map pack presence is weak. Build a page for a town only after you've done enough jobs there to show photos, name streets, and speak to local specifics. The other towns you technically serve can live as a plain list on one areas-served page.
Do longer service-area pages rank better?
No. Length follows substance. We've ranked 500-word town pages because every sentence was specific and true for that town, and we've watched 1,800-word pages tank because they were padded generic filler wearing a city name. Inflating a thin page to hit a word count is exactly what makes it look like a doorway page. Write only as much real, local, specific material as you actually have.
Will building town pages hurt my main service pages?
Thin ones will. Google evaluates quality partly at the domain level, so a stack of near-identical town pages drags down your money pages. We've seen a service page recover its rankings after we deleted the junk town pages around it, without touching the service page itself. Well-built, genuinely distinct town pages do the opposite — they add topical depth and pass internal-link authority around your site.
What makes a town page impossible for a competitor to copy?
Real job photos from that specific town with the neighborhood named, permit and code specifics that differ from the next town over, and named micro-geography — subdivisions, older vs newer construction, well vs city water. Those three things require actually working the streets, so a competitor scraping your site or running a template generator can't reproduce them. That's the material that reads as evidence instead of marketing.
How do town pages help if my Google Business Profile already covers my area?
Your GBP ranking fades fast the further a searcher is from your pin, so towns on the edge of your radius barely see you in the map pack. Service-area pages compete in classic organic results, where proximity matters far less, so a strong page can rank in a town where your map presence is weak. They win ground your pin can't hold — which is the core of the radius strategy on our hub guide at /local-seo-for-home-service-contractors.
See where you rank right now
Free local SEO audit — GBP, reviews, and your map rankings. No sales call.
Get your free audit