This roofer was already ranking for one reason and one reason only: the words in his domain name matched what people were searching. Here's how that works in plain English — and what I added on top to push him onto page one across 8 cities.
This client had a thin site, almost no reviews, and a barely-touched Google profile. By every rule, it shouldn't have ranked. But it did — modestly — for his home city. The reason was sitting in the address bar: his domain name was something like cityroofingpros.com, and the words in it matched exactly what homeowners typed into Google.
That's called an "exact-match" or "keyword-rich" domain. When your domain literally contains the service and the place ("[city] roofing"), Google sees an instant relevance signal — and so do searchers, who are more likely to click a result that looks exactly like what they searched. That alone had carried him to the bottom of page one and no further.
If someone searches "Springfield roofing" and your domain is springfieldroofing.com, Google sees an obvious, direct match. It's a small head start — but a real one, especially in less competitive towns.
A result that reads exactly like what someone just typed feels like the "right" answer. More clicks tell Google the result is useful, which nudges it up further. The name is doing marketing and SEO at the same time.
When other sites or directories link to you, they usually use your domain or business name as the link text. If that name contains "[city] roofing," every single mention quietly reinforces the exact thing you want to rank for.
A keyword domain gets you to the start line — it does not win the race. Once a couple of competitors showed up with better content, more reviews, and complete Google profiles, his domain advantage hit a ceiling. He was stuck at position ~34 for anything outside his home city, and invisible in the Maps pack. The name had done all it could on its own. Now it needed a real business behind it.
Made sure the business name on the Google Business Profile, the website, and every directory matched — and naturally contained the same "[city] roofing" wording. Now the relevance signal from the domain was repeated everywhere Google looks, consistently.
The domain only helped his home city. So I built 8 dedicated city pages — each with unique, genuinely local content — so the same advantage could work for every market he served, not just one.
Cut load time from 4.2s to 1.8s, added schema markup, cleaned up duplicate and dead URLs, and submitted a proper sitemap so Google could actually index everything we'd built.
Listed him on 80+ directories with identical name, address and phone — using the keyword-rich name every time. Each consistent listing strengthened the exact-match signal instead of diluting it.
Automated review requests, weekly Google Posts, fresh photos, and replies on every review — the trust signals the domain name could never provide on its own.
Six months later, clicks were up 641% and average position improved from 34.1 to 18.8 — pushing his primary keywords into page-one territory across all 8 cities, not just his home base. The domain name gave him a head start; the real work turned that head start into bookings.
A keyword-rich domain is a genuine, lasting advantage — if you can get one, it helps. But it's a head start, not a finish line. Ranking and staying ranked still comes from real content, a complete Google profile, consistent listings, and steady reviews. The name opens the door; the work walks you through it.
Free 30-minute audit — I'll tell you what's already working for you and what's leaving money on the table.
Get My Free Audit