A plumber in Nanaimo called me last year. He showed up first in the Google Maps pack for "plumber Nanaimo" — but his website service page for hot water tank replacement barely got a click. The page existed. It had a heading and a few paragraphs. But it ranked for nothing specific, and when someone searched "hot water tank replacement Nanaimo," he wasn't in the results at all. He was losing jobs he never knew he was competing for.
This is the gap I see on almost every website audit I do for Vancouver Island trades and service businesses. The Google Business Profile is decent, or at least visible. But the actual website — the place that should close the deal — is full of generic, city-less service descriptions that Google has no idea how to rank for anything specific. This article is about how to fix that: how to write a service page that Google can match to a city + service search, and that a real customer in that city will actually trust. (If you'd rather have someone do the diagnosis for you, the Local Spotlight audit covers exactly this.)
Google can't rank a page for a city it can't find on that page
This sounds obvious when you say it out loud, but most service pages on small business websites don't mention the city they serve more than once — sometimes not at all. The heading says "Hot Water Tank Replacement." The body copy talks about experience and same-day service. Nowhere does it say Nanaimo, or Ladysmith, or Parksville, or wherever the business actually operates.
Google, when someone types "hot water tank replacement Nanaimo," is looking for a page that's clearly about that service in that place. It reads your URL, your title tag, your heading, your body text, and your schema markup — and if the city only appears in the footer address, that's a weak signal. A page that mentions Nanaimo specifically and naturally, several times across different elements, sends a much stronger one.
The fix isn't to stuff the city name into every sentence until the page reads like a robot wrote it. It's to write a page that's genuinely about serving that city — and to let the city name appear naturally as a result. If you're actually the plumber people in Nanaimo call for hot water tanks, writing about that shouldn't require contorting your language.
What the page actually needs to contain
There's a predictable structure that works for city-specific service pages, and it's not complicated. Think of it as a short brief you're writing to both Google and your potential customer at the same time.
URL: Include both the service and the city. Something like /hot-water-tank-replacement-nanaimo/ is ideal. If you're not ready to restructure your entire site, at minimum make the page title and heading city-specific.
Title tag: The formula that works is [Service] in [City] | [Business Name]. "Hot Water Tank Replacement in Nanaimo | Island Plumbing." Under 60 characters, city included. This is the first thing Google reads and the first thing a searcher sees in results.
H1 heading: Name the service and the city. "Hot Water Tank Replacement in Nanaimo" is perfectly good. You don't need to be clever — you need to be clear.
Body copy: This is where most pages fall short. Two or three paragraphs is enough if they're specific. Say where you work within Nanaimo — north end, south end, Chase River, University District. Say how long you've been serving the area. Mention anything genuinely local: the water quality in the region if it affects your service, the fact that you carry stock locally and can often come same-day, the specific neighbourhoods you cover. These aren't tricks — they're details that make the page useful and make the city signals credible.
FAQ section: Four to six questions that a customer in that city would actually ask. "Do you service Lantzville and Parksville as well?" "How long does installation take?" "Is there a callout fee?" This adds word count naturally, targets long-tail questions, and — if you add FAQPage schema markup — can earn rich results in Google that increase your click-through rate.
The shortcut that doesn't work: duplicating pages with different city names
Every few months I audit a website that's tried to solve this problem with a shortcut: create the same service page ten times, one for each city, and just swap the city name throughout. The heading, the body copy, the FAQ — all identical except for the location. It feels efficient. It does almost nothing.
Google is good at recognising duplicate content. When it finds ten pages that are 95% identical, it typically picks one to rank and treats the rest as near-duplicates — ignoring or demoting them. Worse, if it decides the pages look spammy, it can penalise the entire domain. The businesses I've audited who've done this are often puzzled about why their location pages get no traffic despite being indexed. That's why.
The alternative takes more time but actually works: write each city page as a genuinely distinct piece of content. Not from scratch every time, but with enough real variation that a human reading them back-to-back would notice the difference. Different opening paragraph. Different local detail. Different FAQ questions. If you serve Courtenay and Comox and Campbell River, those three pages should each have something specific to that city that the others don't have. Local SEO on Vancouver Island rewards specificity — and punishes templating that tries to fake it.
What "specific" actually looks like in practice
Here's the difference between a generic line and a specific one, using a landscaping business in Duncan as an example.
Generic: "We provide professional landscaping services in the Cowichan Valley."
Specific: "Most of our Duncan clients are on half-acre to one-acre lots — the kind with established trees and a mix of sun and shade that makes lawn care more complicated than it looks. We know the soil here, we know which grass varieties actually survive a Cowichan summer, and we're not going to upsell you on irrigation if your yard doesn't need it."
The specific version is longer, but it's not padded. It shows local knowledge. It sounds like a person, not a template. And it gives Google something genuinely distinct to index — not because the word "Duncan" appears three times, but because the content is about Duncan in a way that can't be lifted and dropped into a Sidney page without rewriting it.
That's the bar to aim for. Not keyword density. Not a certain word count. Real, local, specific content that a customer in that city would recognise as written for them.
The supporting elements that amplify the page
A strong service page works harder when a few other things are in place around it. These aren't the page itself — they're the signals that tell Google the page is legitimate.
- Internal links from other pages. If your homepage, your about page, and a relevant blog article all link to your Nanaimo hot water tank page, that's a vote of internal authority. Google follows links. A page that's well-linked internally gets discovered faster and ranks more easily than one that exists in isolation.
- Google Business Profile alignment. Your GBP should list the same services you're building pages for, in the same city you're targeting. If your GBP says you serve Nanaimo but your website has no Nanaimo-specific pages, you're leaving half the signal chain disconnected. The GBP and your website should be consistent and mutually reinforcing.
- LocalBusiness schema on the page. Adding structured data that specifies your business type, your service area, and your contact details gives Google a machine-readable version of the information you've written in prose. It's not a ranking factor on its own, but it reduces ambiguity about what the page is and who it serves.
- Reviews that mention the city or service. A Google review that says "fixed our hot water tank in Nanaimo, same day, no drama" is a trust signal that reinforces exactly the page you're trying to rank. You can't control what customers write — but you can make it easy to leave a review and let the specifics come naturally from the experience you've provided.
None of this is complicated in isolation. The challenge is doing all of it — consistently, across multiple services and multiple cities — without it becoming a full-time job. That's where an audit helps: it shows you which pages are already close, which ones need the most work, and which gaps in your site structure are costing you searches you should be winning.
If you'd like me to look at your service pages and tell you exactly what's missing, the Local Spotlight audit covers this as part of a full review — see the pricing page for what's included. Or if you want to talk it through first, get in touch — I'll give you a straight read on where your site stands.
Written by Michael Perks — Island Rank Canada, Duncan, BC
Got a service page you're not sure about? Ask me to take a look — no obligation.
Sources
- Google, How Google Search Works — Understanding pages and sites — Google's own documentation on how it crawls and indexes content, and the role of on-page signals like title tags and headings in determining relevance. Google Search Central
- Google, Avoid creating duplicate content — Official guidance on how Google handles near-duplicate pages and the risks of templated city pages. Google Search Central
- Moz, Local SEO: The Definitive Guide — Comprehensive overview of local ranking factors including on-page city signals, GBP alignment, and review signals. Moz
- BrightLocal, Local Search Ranking Factors (annual) — Survey of local SEO practitioners on what signals most influence local pack and organic rankings for service businesses. BrightLocal