Most service businesses work across ten or twenty towns but their website only really talks about one — the one on the business licence. When a homeowner two suburbs over searches for "roof repair" or "AC replacement" plus their town name, the business that actually serves that town is invisible, and a competitor with a page for it takes the call. City pages fix that. Done lazily, though, they become the exact thing Google's spam policies were written to bury. The difference between the two is worth understanding before you build anything.
Why city pages work — and why most of them fail
Searches for local services carry the searcher's location, either in the query itself ("furnace repair Oakville") or implicitly through where they're standing. Google tries to return businesses that demonstrably serve that place. Your Google Business Profile covers the area around your address reasonably well; it does much less for the towns at the edge of your service area. A dedicated page for each town you serve gives Google something to rank and gives the visitor confirmation that yes, you actually come out there.
The failure mode is familiar: take one template, find-and-replace the city name, publish thirty copies. Google calls these doorway pages and its spam policies explicitly target them. Even when they slip past the algorithm, they fail with the person reading them — a page that could describe any town describes none, and the visitor can feel it. If your Oakville page would still make sense with "Burlington" swapped in, it isn't an Oakville page.
What a city page needs to earn its spot
A page earns its rank — and its conversions — by containing things that are only true of that town. Jobs you've actually completed there, described by neighbourhood or street area. Photos taken on those jobs, not stock imagery. Reviews from customers in that town, pulled out of your general pile and shown where they're most persuasive. Practical local specifics: typical response or travel time from your shop, whether you handle that municipality's permits, the housing stock quirks that shape the work — the slate roofs in the old part of town, the aging heat pumps in the subdivisions built in the same decade.
Add a short FAQ answering what people in that town actually ask, one clear call to action, and ideally a tracked phone number per page so you know which towns generate calls. That last piece matters more than most on-page tweaks: it turns your city pages from an SEO hope into a measurable channel, and six months in it tells you which pages deserve more investment.
Which towns deserve a page is a judgement call
Not every town on your service-area map should get one. A good city page takes real material — local jobs, local photos, local reviews — and you can't fake material you don't have. Prioritise towns where three things line up: you have genuine proof of work, you have the capacity to take more jobs there, and the jobs are worth taking. There's a compounding effect too: the towns where you already have density are the towns where extra jobs cost the least to serve, so the page and the route feed each other.
Eight pages with real substance will outperform forty thin ones, and the forty carry risk the eight don't. Start with your best towns, watch the tracked numbers, and expand only when you have the material to do the next page properly.
What to automate, and what stays human
The grunt work here automates well. Pulling completed jobs by town out of your CRM or job-management system. Filtering your review feed by customer location. Assembling each page's raw material — job list, review excerpts, photo folder — into a structured brief. Drafting the page from that brief, so the writing starts from facts instead of a blank template. Internal linking, tracking-number assignment, and the monthly report on calls per page: all of it is repeatable and none of it needs your judgement.
What stays human is everything that makes the page true. You decide which towns make the cut. You verify every local claim before it publishes — an AI drafting tool left unsupervised will happily invent a number of homes served or a neighbourhood you've never worked in, and a fabricated local detail is worse than none, because locals notice. If you don't have the number, don't state one. The page's job is to prove you're the company that already works there. Proof can be assembled by a machine, but only you know what's actually true.
Want this built into your business, properly?
Start with the $250 Growth & AI Audit — a concrete teardown of where your leads leak, credited to setup if you start within 30 days.
Book a 10-min call →