Almost every local service business eventually builds a set of city pages. Almost all of them do it the same way: one template, the city name swapped in, four hundred words of near-identical text, forty pages published in an afternoon.
Google has been filtering that pattern out of results for a long time. The pages get indexed, sometimes, and then sit there attracting nothing. Here is what actually works.
Start with fewer pages
The instinct is to cover every town within driving distance. Resist it. Five genuinely good city pages will outperform forty thin ones, and they will not drag your site quality signals down while they fail.
Pick the cities where you have real evidence of business: completed jobs, reviews, photos, staff who live there. Those are the pages you can make specific. Expand only when you can bring the same specificity to the next one.
What "specific" means in practice
A page that could describe any city in America is a page Google has no reason to rank. Include things that could only be true of this one:
- Named neighbourhoods and districts you serve within the city
- Actual jobs completed there, with photos and a sentence about the problem
- Reviews from customers in that city, quoted with their first name and neighbourhood
- Local conditions that affect your work — hard water, clay soil, hail season, permit requirements
- Your realistic response time to that area, and where the nearest crew is based
- Local landmarks or reference points that a resident would recognise
Most of this cannot be written by someone who has never been there. That is the point. It is also why the pages are hard to copy.
Structure the page around the search, not the service
Someone searching "emergency plumber Edmond OK" has a problem right now. The page should lead with the fact that you cover Edmond, how fast you can get there, and a phone number that is tappable on mobile. The company history goes further down, if at all.
A workable outline:
- H1 naming the service and the city
- Two sentences confirming coverage and response time, with a call button
- The specific services you provide in that area
- Local proof: jobs, photos, reviews from that city
- Neighbourhoods and ZIP codes covered
- Local FAQ — permits, pricing norms, seasonal issues in that area
- Clear call to action repeated
Schema markup
Add LocalBusiness or the more specific subtype that fits your industry, with the areaServed property listing the city. If you have a physical location in that city, use its address. If you do not, do not invent one — fake addresses are one of the fastest ways to lose a Google Business Profile.
Internal linking that makes sense
Link city pages from a service-areas hub page, and link them from the relevant service pages. Link between neighbouring cities where it is genuinely useful to a reader — "we also cover nearby Norman and Moore" is fine. What you should not do is build a footer block containing all forty city links on every page. That pattern is well recognised and does you no favours.
Give them time and then judge honestly
City pages usually take two to four months to settle into position. When you review them, look at each page individually rather than as a group. The pages that got real local content will separate themselves from the ones that did not, and that will tell you exactly where to spend the next round of effort.