Local SEO

How to Write Service Area Pages That Actually Rank Locally in 2026

date posted

10/26/26

read time

13 Mins

Hook Agency marketing glossary example showing a Plano, Texas roof repair browser window with a 4.8-star rating, map markers, and a free quote button.

Picture this: a roofing contractor’s website with 47 city pages. Forty-seven. You pull up page six and page thirty-one side by side and the only differences are the city name in the H1 and one sentence mentioning a local landmark that sounds like it was written by someone who looked at Google Maps for thirty seconds.

Same structure. Same word count. Same service description. Same FAQ questions.

Now imagine their organic traffic dropped 38% after the Google June 2026 spam update. They want to know why. You already know before you finish reading page two.

The contractors I watch dominate local search in competitive markets are not the ones with the most city pages. They are the ones with the best service area pages. Here is what separates them:

  • One page per city per primary service, not a templated mass publish
  • Genuine local content that a homeowner in that specific city can actually recognize
  • A page structure built to convert, not just rank

That distinction changes everything about how you should be building these pages. Here is the full breakdown.

What a Service Area Page Is and Why Every Contractor Needs Them

A service area page is a dedicated webpage targeting a specific city where a contractor wants to rank in organic search. It is separate from Google Business Profile, which drives map pack visibility based on physical address proximity. Service area pages extend organic rankings for service-city keyword combinations across a broader footprint. Both matter and work in parallel.

For local SEO for home service businesses, your GBP does the heavy lifting within a few miles of your office. A roofing contractor in Bellevue will show in map results for Bellevue searches. They will not reliably show for Kirkland or Redmond unless there is a page built specifically for those cities.

What They Do That a Homepage Cannot

A homepage trying to rank for “roofing Bellevue,” “roofing Kirkland,” and “roofing Redmond” simultaneously sends a diluted signal for all three. A dedicated page for “roof replacement in Kirkland” can rank for that query because every element signals the same thing: this service, in this city. Per Whitespark’s 2026 Local Search Ranking Factors survey, Dedicated Page for Each Service is the number one local organic ranking factor (score 210), with Geographic keyword relevance of content at number two (score 190).

How Many Do You Actually Need

One page per city that generates or could generate meaningful lead volume, with rich unique content. For most contractors, that is 15 to 30 key cities rather than every place within driving distance. Start with the five to eight cities generating the most current revenue and build outward. A mass of thin templates published at once is not a strategy and after June 2026 it is a risk.

Why Most Contractor City Pages Fail

Most contractor city pages do not rank because they are not actually different from each other. I have audited hundreds of contractor websites and this is the single most consistent finding: same page, different city name in the headline.

The Swapped City Name Problem

Build one template, duplicate it across 50 cities, swap the city name. The contractor figures it is unique because the city is different. Google figures it is a near-duplicate because everything else is identical.

Finding synonyms does not make content unique. Reordering sentences does not make it unique. Running the same page through an AI tool to rephrase it does not make it unique. The test is whether a homeowner reading the page could tell it was written for their city based on the content, not just the heading. How homeowners research contractors has become more discerning. A page that could have been written by someone who has never been to Kirkland reads exactly like that.

What Google Does With Thin Pages in 2026

The June 2026 spam update tightened enforcement on near-duplicate location pages. Contractors with large templated city page sets saw individual pages deindexed and in some cases sitewide ranking drops. Doorway abuse and scaled content abuse are separate spam policies, but templated location pages can trigger both simultaneously. The benchmark that holds: 60 to 70% unique content per page, with the shared template limited to 30 to 35%.

The Page Structure That Works

A service area page that ranks has a consistent structure and genuinely unique content filling every section. The structure stays the same. The content inside it does not. Here are all eight sections in order.

1. URL

Include both the city name and the core service: /ac-repair-plano or /emergency-plumber-boulder. The cleanest multi-service structure is /service/city. Do not dump all city pages under a generic /locations/ directory.

2. Title Tag and H1

Best format: Primary Service + Location + one specific differentiator. “Emergency Plumbing Services in Austin TX | Same-Day Appointments” works. Keep the title tag under 60 characters. The H1 can be slightly more conversational while still containing the service and city.

3. Opening Paragraph

Confirm the service, the city, and one specific thing that makes this contractor the right choice for that area. Something real: how long the company has served that city, how many jobs completed there, what the most common service call looks like locally. This is the paragraph that decides whether a homeowner keeps reading.

4. Local Proof Section

Two to three real customer reviews from homeowners in that city, plus a before-and-after photo from a job completed there, with the neighborhood named in the description. A review from a Kirkland homeowner on the Kirkland page is a trust signal a template can never produce. For the full strategy on generating online reviews for contractors, that system feeds directly into this section.

5. Service Description

A genuine description of the service and what the homeowner can expect. This section can share structure across pages but needs at least one city-specific detail: local permit requirements, weather considerations, common issues in that area’s housing stock, or realistic response time from the nearest location.

6. Local FAQ

Two to four questions homeowners in that specific city actually ask. “What permits are required for an HVAC replacement in Bellevue?” Not generic service questions. Specificity is what makes the page useful rather than templated.

7. Reviews From That Area

A structured display of reviews from customers in that city. If the CRM or review system captures city data, filter and embed here. Reviews from that specific area are one of the clearest signals that the contractor has done real work there.

8. CTA and Contact

A contact form or phone number above the fold and again at the bottom. The CTA copy should reference the city: “Call us for same-day HVAC service in Kirkland” rather than “Contact us today.” For more on home service websites that actually convert those clicks, the page-level decisions around CTAs matter beyond just the ranking itself.

What ‘Unique Content’ Actually Means for a City Page

Unique does not mean rewritten with synonyms. It means genuinely different because it reflects something real and specific about that city and the work done there. This is the section most articles on service area pages get wrong, or skip entirely.

The 60 to 70 Percent Rule

60 to 70% unique content per page, with the shared template capped at 30 to 35%. The shared portion covers structural scaffolding: company overview, service process, guarantee, license and insurance. Everything else should be written specifically for that city. If a 400-word service description is identical across every page, that alone can push a short page into doorway territory.

What Makes Content Genuinely Local

  • Real job examples from that city: the neighborhood, the type of home, the specific problem solved
  • Reviews from homeowners in that city, with names and city referenced
  • Local context: housing age, common service issues specific to that area, weather patterns that affect the work
  • Local permit requirements or the specific building department the contractor works with
  • How long the company has served that area and roughly how many jobs completed there

What Does Not Count as Unique

Swapping the city name in otherwise identical text. Changing sentence order while keeping the same information. Adding one local sentence to an otherwise templated page. The test I use: does this page read like it was written by someone who actually works in that city? If it could have been written by someone who has never been there, it will not rank for long.

The Technical Layer That Supports the Page

Good content on a technically weak page still underperforms. Three elements should be in place before any city page is published.

Schema Markup

LocalBusiness schema with address, phone, areaServed, and review data on each city page. ServiceSchema for the specific service adds a second layer. BrightLocal’s Local AI Visibility Study found GBP was cited for 94.17% of businesses across AI platforms and made up 28.5% of total citations. 

Structured data that mirrors those same geographic and service signals builds consistency across both traditional search and AI Overviews. For the connection to answer engine optimization for home services, schema on city pages is directly relevant.

Internal Linking

A hub page for each primary service should link to all city-specific versions. Nearby city pages should cross-link where geography makes sense. Without internal links, city pages sit in crawl isolation and never accumulate ranking authority.

Page Speed and Mobile

Over 60% of contractor website traffic comes from mobile. A city page that loads slowly loses the conversion the ranking earned. Job site photos should be compressed and served in WebP. Target under 2.5 seconds on mobile as measured by Largest Contentful Paint.

Trade-by-Trade Examples of Local Specificity

HVAC

Generic (does not rank): “We provide quality HVAC services in Kirkland. Our technicians are experienced and ready to help.”

Specific (ranks): “Kirkland homes built between 1970 and 1995 frequently have ductwork that was not designed for modern high-efficiency units. We have completed over 60 HVAC installations in Kirkland in the past three years and know the permit requirements for both central systems and ductless mini-splits under the City of Kirkland’s building department. Most jobs in central Kirkland and Juanita are completed in one day.”

Roofing

Generic: “We serve Bellevue homeowners with quality roofing services.”

Specific: “Bellevue receives over 37 inches of rain per year. Homes in the Somerset and Eastgate neighborhoods frequently need early shingle replacement due to north-facing slopes that retain moisture. We have completed 40-plus roof replacements in Bellevue and work with King County permits for full replacements and partial repairs.”

For the full picture of how to win roofer near me searches, city pages are one piece of a broader strategy that also includes GBP optimization and review velocity.

Plumbing

Generic: “Professional plumbing services in Redmond, WA.”

Specific: “Redmond’s older neighborhoods, particularly Education Hill and Idylwood, have a high concentration of homes with original copper pipes from the 1960s and 1970s approaching or past their service life. We regularly handle repiping projects in these areas and have working relationships with the City of Redmond building department for permit pull and inspection scheduling.”

Electrical

Generic: “Electricians serving the Bothell area.”

Specific: “Many homes in Bothell’s Canyon Park and North Creek neighborhoods were built in the 1980s and 1990s with 100-amp panels that cannot handle modern appliance loads or EV chargers. We have completed over 30 panel upgrades in Bothell in the past two years and handle all permitting through the City of Bothell building department.”

How to Prioritize Which Cities to Build First

Start with your revenue cities. The three to five cities generating the most current work. Real job history, real reviews, and genuine local knowledge are already there. Those signals make writing specific content faster and the pages rank faster because of it.

Second: cities with demand and thin competition. Search the primary service-city combination and check who is ranking. Templated competitor pages are a clear opening for a well-built page to move quickly.

Pace the publishing. Two to four new pages per month with full unique content beats 30 thin pages in a single batch. At around 12 months of SEO maturity, well-built city pages produce leads at $25 to $45 each versus paid search CPLs that regularly run $90 or more. A city page built in January is still ranking in October.

What This Looks Like in Practice

The Distinctive Roofing case study shows what happens when city-specific pages are built around the service-city searches customers are actually making. Ranking positions across multiple cities, driven by location-specific pages with genuine local content, is the mechanism behind the organic lead growth in that project. The contractors who have done the most real work in specific cities write the best city pages, because the local specificity is already sitting in their job history.

Build City Pages That Work, Not Pages That Risk

One page per key city. Eight sections with genuinely unique content. Schema, internal linking, real photos and reviews from that specific area. Published at a pace that builds a library rather than flooding the index with near-duplicates.

For home service businesses that want service area pages built to rank rather than to risk, Hook Agency builds city page content specifically for HVAC, roofing, plumbing, and electrical contractors. Contact us to talk through what that looks like for your market.

FAQs

What is a service area page in local SEO?

A dedicated webpage targeting a specific city where a contractor wants to rank in organic search. It is separate from the GBP, which drives map pack visibility based on physical address proximity. Service area pages extend organic ranking to cities beyond that proximity radius.

Why are my city pages not ranking?

Usually thin, templated content. If city pages share 80% or more of their text and differ only in the city name, Google treats them as near-duplicates. Other causes: no internal links to the pages, no schema markup, and no genuine local signals like real job examples or reviews from that specific city.

How much unique content does a service area page need?

60 to 70% unique per page, with the shared template capped at 30 to 35%. Shared sections can include the company overview, service process, and guarantee. The opening paragraph, local proof, local FAQ, and reviews should all be written specifically for that city.

Can a contractor rank in cities without a physical office?

Yes. Service area pages drive organic rankings for service-city keyword combinations regardless of address location. GBP proximity limits map pack visibility. Organic rankings from well-built city pages can cover a much broader geographic footprint.

What is a doorway page and how do I avoid it?

A page created solely to rank for a location query, with essentially the same content as other location pages and only the city name swapped. Avoid it by writing 60 to 70% unique content per page, including real local proof, and publishing at a steady pace rather than all at once.

What schema should go on a service area page?

LocalBusiness schema with address, phone, areaServed, and review data. ServiceSchema for the specific service on that page. FAQPage schema on the FAQ block. These three give Google structured data covering what the page is, who it serves, and where it applies.

How many service area pages does a contractor need?

One per city with meaningful lead potential, built with genuine unique content. For most home service contractors that means 15 to 30 key cities. Start with the five to eight cities generating the most current revenue and expand at two to four new pages per month.

Learn How To Do Google Local Service Ads Yourself (Free DIY Course)

Want to know how to start getting Local Service Ads leads on your own?

🎥 3 original videos designed to help you get started on LSA Ads.

🔥 Get the ‘Google Guaranteed’ badge to use in other marketing as well.

📈 Only pay per lead, and start getting more leads soon!

Is there you or someone on your team that would like to take it? Enter their info (or yours) below!

  • This field is for validation purposes and should be left unchanged.

Stop wasting your time

Work with a marketing agency that's going to get you what you actually care about, dominate your market, and make you MONEY 💰

Book an Intro Call