Local SEO for contractors:
what actually moves you up
Most of what gets a contractor found is not on their website — and most of what is sold as "local SEO" is the part you could do yourself in an afternoon. This is the honest version: what matters, in what order, and which half of it we are actually paid for.
The map pack is the prize, and your website is not in it
Search for a trade and a town and look at what Google puts first: a map, and three businesses. That block takes most of the clicks, and it is not populated from websites. It is populated from Google Business Profiles — which are free, which you already own, and which most contractors have claimed and then never finished.
Google decides those three on roughly three things: how close you are to the person searching, how well your profile matches what they asked for, and how established you look — which mostly means reviews. You cannot do much about the first. The second and third are an afternoon and a habit.
Your website still matters, and it matters more the further someone gets from a panic search: the ordinary blue links below the map, the page they land on from the profile, and whether the site convinces them to call. But if nobody has told you that the profile comes first, you have been sold the wrong thing.
Seven levers, heaviest first
Claim and finish your Google Business Profile
The three-result map pack sits above the ordinary links, and it is fed by your Business Profile rather than your website. Claiming it is free, it takes an afternoon, and a complete one — real service areas, hours, categories, photos that are actually yours — outranks a half-filled one in the same town. Nothing else on this list moves as much for as little.
Ask for reviews, steadily, and answer them
Recency counts, so forty reviews from 2021 lose to twelve from this year. Ask every customer at the moment the job is finished and they are pleased, and reply to all of them — including the bad ones, briefly and without arguing. The reply is read by the next customer, not the last one.
Use one name, one address, one phone number
Your business as it appears on your site, your Profile, your invoices and the directories you are already listed in should match, down to "St" versus "Street". This is dull and it is worth doing once, properly — mismatches are the most common reason a legitimate contractor sits below a weaker competitor.
Give every service you sell its own page
People do not search for "plumber". They search for "water heater replacement" and "sewer line repair", and a single Services page listing nine things ranks for none of them. One page per job type, written like you would explain it on a doorstep, is the whole trick.
Give the towns you serve real pages — or none
A page per town works when the page is genuinely about that town: the jobs you do there, what the housing stock is like, response times, real work you have done. It backfires when it is the same page with the name swapped. See below — this is the one place on this list where doing it badly is worse than not doing it.
Make it fast on a phone with two bars
Your customer is in a driveway or a basement, on a weak signal, and usually in a hurry. Page speed is a ranking factor, but it is a conversion factor long before that: a site that takes six seconds has lost the call regardless of where it ranks.
Measure it, or you are guessing
Google Search Console tells you what you are actually found for, and it holds nothing from before you verify it — so verify it today even if you do nothing else this month. Analytics tells you what people did next. Without both, "our SEO is working" is a feeling.
Fifty town pages will bury you, not lift you
The oldest trick in contractor SEO is a page for every town within fifty miles, each one the same paragraphs with the name swapped. It is easy to generate, it looks like progress, and Google has had a name for it for over a decade: doorway pages. Sites that do it at scale do not rank for fifty towns — they get treated as one thin site and lose ground everywhere, including for the town they are actually in.
The test is simple and you can apply it yourself. If someone who lives in that town read the page, would anything on it tell them you know the place? The jobs you get called for there, the age of the housing, how long it takes you to reach it, two pieces of work you have actually done. If the honest answer is no, the page should not exist.
Which is why we sell location pages one at a time, at $50 per page, and ask you what you actually do in each town before writing one. Three real ones beat thirty spun ones, and they beat them permanently.
AI answers are eating the "how do I" searches
Increasingly, a question-shaped search gets answered by Google itself, above the links, and a large share of those searches now end without a click. That has a practical consequence for how a contractor should spend effort: pages that explain a concept are worth less than they were, and pages that help somebody choose a supplier are worth more.
We have watched it happen in our own Search Console: pages sitting on the first page for question-shaped searches, collecting impressions month after month and almost no clicks. That is why the advice above is weighted towards your profile, your reviews and your service pages rather than towards a blog. Write the article if you have something genuinely worth saying. Do not write forty of them expecting traffic.
What stays yours, and what we do
We build and run websites. That is a real part of local SEO and it is not the whole of it, so here is the line drawn plainly — including the rows where the answer is that we do not do it.
| Yours | Ours | |
|---|---|---|
| Google Business Profile | Yours to claim, fill in and keep current | We will tell you what is missing. We do not log into it or manage it. |
| Getting reviews | Only you can ask, at the moment the job lands | We put the ones you have where visitors see them |
| Service pages | Tell us the jobs you want to be found for | Built with your site, or added later as one request |
| Town and service-area pages | Tell us where you actually work, and what you do there | $50 per page, written to be about the place |
| Words on the page | Yours if you want them to be | We will write a page for you at $25 per page if you would rather not |
| Speed and clean markup | Nothing | Static Astro pages on a global network — included in every plan |
| Search Console and Analytics | Nothing, beyond approving the access | Checked and working as part of the SEO deep dive, $150 one-time |
| Keeping it current | Send a request when something changes | We build and publish it — that is the plan you are already on |
We are not an SEO agency, and this is not a retainer
There is no monthly SEO fee here, because there is no monthly SEO service. We do not build citations, we do not buy or build links, we do not manage your Google Business Profile, and we will not promise you a position — anybody who does is either guessing or describing a term you would never have searched for anyway.
What we sell is a fast, clean, well-structured website with the pages you need on it, kept current by request. If you want the groundwork done once and checked properly, the SEO deep dive is $150 one-time: keyword analysis against your competitors, Google Analytics and Search Console verified as actually working, content recommendations, and one page included. Not a client yet? Start with the SEO Audit: a written report on up to ten pages of your site, free right now.
If what you need is a managed local search campaign with someone working your profile and reviews every month, that is a genuine service and we are not it. Say so and we will tell you plainly rather than take the money.
The version of this for the work you actually do
The levers are the same across the trades; what changes is which searches matter and what a customer needs to see before they call. We build forroofing, plumbing,HVAC, electrical andlandscaping — each with the pages that trade needs and nothing it doesn't.
Want the website half done properly?
A fast, clean site with a page for every service you sell — live in days, and updated whenever you ask.