City and service area pages

How to build city pages Google won’t ignore

A page for every suburb sounds like an easy way to rank across DFW. Usually it isn’t. Here is how to decide which cities deserve a page, what has to be on it, and how to keep forty near-identical pages from doing more harm than good.

Short answerLocation pages SEO works when each city page earns its place: you do real jobs there, people search for your service there, and the page says something true about that city that no other page on your site says. Build fewer, better pages, give each one a single job, and link them into a clear hierarchy.

Location pages SEO is the practice of building a page for each city or area you serve so you can show up when someone searches “water heater repair Mesquite” or “roofer in Rockwall.” For a home service business working across Dallas–Fort Worth, it’s one of the few ways to rank in the organic results outside the town your shop sits in. It is also the place where most contractor websites go wrong, because the cheap version (one template, city name swapped forty times) is exactly what Google’s spam policies describe.

What Google actually says about city pages

Google doesn’t ban location pages. It bans a particular way of making them. Its “Spam policies for Google web search” (Google Search Central) describe doorway abuse as pages “created to rank for specific, similar search queries,” and list as an example “pages targeted at specific regions or cities that funnel users to one page.” The same document covers scaled content abuse: many pages generated mainly to manipulate rankings rather than to help the reader, whether a person, a template or an AI tool produced them.

So the question Google is really asking about each city page is simple: would someone in that city be better off landing here than on your main service page? If the answer is no, the page is a doorway, whatever it looks like.

SignalDoorway pageCity page that ranks
Why it existsTo catch a keywordYou do real jobs in that city
CopySame paragraphs, city name swappedWritten for that city: jobs, homes, drive times
ProofNone, or the same reviews on every pagePhotos and real reviews from jobs there
LinksFooter list of 60 cities, nothing elseLinked from a service-area hub and relevant service pages
CountEvery town within 50 milesThe areas you want work in and can reach

Which cities deserve a page

Start with your job history, not a map. Export the last year of invoices and count jobs by city. A page should exist where at least three things are true:

  • You already work there, or truly want to. A page for a suburb your crews won’t drive to brings calls you’ll turn down.
  • People search there. Check whether “[service] + [city]” searches show local results and competitors with city pages. Small towns often get folded into the nearest big city’s results.
  • You have something to say. If you can’t write three specific sentences about how the work differs there, you don’t have a page yet.

For most DFW contractors that means a short list. A garage door company in Carrollton might justify pages for Farmers Branch, Addison, Coppell and Lewisville, and leave Weatherford alone until there’s real work out there. Ten good pages beat sixty thin ones.

A city page helps you in the organic results below the map. It does very little for the Maps 3-pack, which Google ranks partly on distance from your verified location.

That distinction matters. Google Business Profile Help (“Tips to improve your local ranking on Google”) names relevance, distance and prominence as the main local ranking factors, and a web page can’t move your location. Your service area settings don’t either, as our guide to setting up a service-area business on Google explains. City pages are your best tool for the blue links in towns where you’ll never win the map.

What goes on a service area page

Good service area pages read like a short briefing from the person who runs crews in that city. Useful content to include:

  • The work you do there, specifically. Which services you’re called for most in that city and why. Slab leaks, attic installs, storm repairs, whatever is true.
  • The homes. Housing age and type change the job. Fast-growing northern suburbs like Celina and Prosper are full of new builds still under builder warranty; older inner-ring suburbs bring original plumbing, aging panels and tired ductwork.
  • Logistics. How far it is from your yard, typical response time, whether you do same-day there, and which areas within the city you cover.
  • Proof from that city. Photos from actual jobs there and real reviews from customers who live there, quoted exactly. If you don’t have any yet, leave this out rather than recycle reviews.
  • Local questions. A short FAQ answering what people there actually ask you, like HOA rules, permit questions or whether you serve their part of town.
  • A clear next step. Phone number, booking button and the services you offer there, linked to the full service pages.

What not to include: a paragraph about the city’s history copied from Wikipedia, a list of 40 ZIP codes, or a fake local address. Google’s Business Profile guidelines rule out virtual offices, and the same logic applies on your site: don’t imply a location you don’t have. Mark up the business with local business schema using areaServed, not an invented street address.

City pages SEO without cannibalization

The other way city pages fail is by competing with each other and with your main service pages. When “Plumber in Plano,” “Plano plumbing services” and your plumbing service page all chase the same search, Google has to guess, and often ranks none of them well. We cover how that happens and how to diagnose it in keyword cannibalization and the city-page trap. The short version for city pages SEO: one page per search intent.

Pick a structure and stick to it

There are two sound ways to organise location pages:

  1. One page per city. “/service-areas/plano/” covers every service you offer there, with short sections linking to each full service page. Best for most contractors with several services.
  2. City plus service, only where it’s earned. A separate “AC repair in Frisco” page only when that combination has real search demand and you have enough specific material to fill it. These sit under the city page, never alongside a near-copy.

Mixing both without a plan is how sites end up with three pages for the same search. Write down which page owns which keyword before anything is published.

Link them like a real hierarchy

Every city page should be reachable from a service-area hub page in your main navigation, link to the relevant service pages, and be linked back from them where it’s natural. A site that only links its city pages from a footer is telling Google they don’t matter much.

How we build DFW suburb pages

This site runs the same rules. Our own DFW city pages cover a limited set of DFW cities, and each one takes a different angle: how competition and search behaviour differ in that city, from map-pack radius to how far Dallas-based competitors have to drive. The Frisco page, for example, focuses on a fast-growing market along the Dallas North Tollway and SH-121, not on a template with the name swapped.

For clients, the process looks like this: pull job data by city, check search demand and who ranks there, cut the list to the cities that pass all three tests above, assign one target search to each page, then write from the crew’s knowledge of the area. Our SEO content writing team handles the writing; the owner or a lead tech gives us the details only they know.

Digital Ducats has seen what happens when this is done wrong. In one case, a plumber’s map rankings improved by about 70% within six days of fixing city pages that were competing with each other. That is a Digital Ducats result, not a promise, but it shows how much a messy page structure can hold a business back.

How to tell if your city pages are working

In Google Search Console, filter the Performance report by page and look at each city page’s queries. A healthy page ranks for searches that include its city and service. Warning signs:

  • The page gets impressions for other cities’ searches, or none at all after a few months.
  • Two of your URLs swap places for the same query week to week.
  • The page is “Crawled, currently not indexed” in the Pages report, which often means Google didn’t see enough unique value.

Then check the phone. Track calls and forms by landing page so you know which city pages bring booked jobs, not just visits. A page that ranks and never produces a call needs better content or a better offer, or it shouldn’t exist.

If you already have a stack of city pages and aren’t sure which to keep, merge or rewrite, contact us and we’ll go through them with you. More guides are in our resource library.

Location page questions

Are city pages bad for SEO?

No. Thin, duplicated city pages are. Google’s spam policies target pages built only to catch city searches and funnel people to the same place. A city page with specific content about the work you do there, real proof and a clear place in your site structure is a normal, useful page.

How many location pages should a contractor have?

As many as you can make genuinely useful, and usually fewer than you think. Base it on where you do real jobs and where people search for your service. For many DFW contractors that’s somewhere between a handful and a couple of dozen, not every town within an hour’s drive.

Will a city page get me into the Maps 3-pack there?

Rarely on its own. Google ranks map results mainly on relevance, distance and prominence, and distance is measured from your verified business location. A city page mostly helps in the organic results below the map. Reviews and overall prominence do more to widen your map reach.

Can I use AI to write my city pages?

You can use it to draft, but Google’s scaled content abuse policy applies however the pages are made. If the result is forty pages that say the same thing, it’s a problem. The details that make a city page worth ranking, like your jobs, response times and customers there, have to come from you.

Ready when you are

Let's get your phone ringing.