Contractor SEO fails most often not from bad tactics but from no checkpoints. Someone builds pages, the owner waits, six months pass, and nobody can say whether a single job came from them. The fix is to set up the measuring before the work starts, then check it at day 30, 60 and 90 against your own job records, not against a rank report.
This guide is the trade-neutral plan. It works for HVAC, plumbing, electrical, roofing, garage doors, remodelers and most other home service trades. The SEO hub explains the measuring chain in more depth; the trade guides for HVAC and plumbing add the trade-specific page lists.
Two contests, two sets of levers
When someone searches "electrician near me" or "garage door repair," Google usually shows a map with a few businesses, then web results. They rank on different things.
| Map pack (Business Profile) | Web results (your website) | |
|---|---|---|
| What Google says matters | Relevance, distance and prominence; more reviews and positive ratings can help2 | Helpful, reliable, people-first content; Google's core ranking systems45 |
| Your main levers | Accurate categories, service areas, hours and phone; photos; reviews | One page per service, honest area pages, fast mobile pages, clear titles |
| What you can't control | The searcher's distance from you | Who else wrote a better page |
| What can get you in trouble | Keywords in the business name, a virtual office address6 | Mass-produced city or service pages1 |
| Where to read results | Business Profile performance: calls, website clicks, searches | Search Console Performance: clicks and impressions by page |
Which of the two brings you more calls depends on your trade and market, and your own numbers will tell you within a few months. The map pack is partly out of your hands, because it depends on where the searcher is standing. Web pages are where effort compounds. Do both, and keep their sources separate so you can tell them apart later.
Days 1 to 14: set up the measuring
Nothing in this phase changes your rankings. All of it decides whether you'll ever know what worked.
- 1
Verify your site in Search Console
Add a Domain property, which covers every subdomain and both http and https, and verify it with a DNS record at your domain registrar. If someone else built your site, ask them to add you as an owner rather than sharing a login.
- 2
Give organic visitors their own phone number
Put a tracking number on your website that's used nowhere else, tied to an organic search campaign in your field service software. Every call from it is an organic call, and the job booked from it carries that source.
- 3
Tag the website link on your Business Profile
Add UTM parameters to the website link (for example utm_source=google, utm_medium=organic, utm_campaign=business-profile) so visits and form fills from the profile are told apart from other organic visits.
- 4
Make sure forms keep their source
Submit a test form from a tagged link and check that the lead in your office system shows the source. If it doesn't, fix the form before writing a single page.
- 5
Write down your baseline
Last 90 days: Search Console clicks, Business Profile calls, and booked jobs with an organic or profile source. If your current system can't tell you the last one, that's the first finding.
The Domain property and DNS verification come from Google's Search Console help.7 UTM parameters are standard campaign tags; Google Analytics says to always include utm_source, utm_medium and utm_campaign.8
Days 15 to 45: profile and service pages
Business Profile first. It's the fastest lever. Check every field against Google's guidelines: your real business name with nothing added, the fewest and most specific categories, customer-facing hours you actually keep, and a phone number under your direct control.6 If customers don't come to your address, hide it and set service areas instead: up to 20, by city or postal code, within about two hours' drive of your base.9
Then one page per service. Not one page listing everything. For each service you want more of, write a page that a customer could use to decide: what the job involves, what changes the price, how long it takes, what's guaranteed, how to book. Google's helpful content guidance asks whether a page offers "original information" and shows "first-hand expertise."4 A contractor has an unfair advantage here: real job photos, real problems your techs see, real answers your office gives on the phone. Use them.
A service page is ready when it has
- A title that names the service and your area, with your business name at the end.
- Tap-to-call at the top on a phone, using the organic tracking number.
- What the job involves, in plain words, with photos from your own jobs.
- What changes the price, and published prices if you're confident in them.
- Who it's not for, or when you'd recommend a different fix.
- How to book, and what happens next.
- Your license number where your state requires it in advertising.
Days 46 to 90: reviews, area pages, first read
Reviews from every completed job. Ask every customer, the same way, soon after the job. No incentives, no filtering. The FTC's 2024 rule bans buying fake reviews,3 and our post on reviews after the FTC rule lines up what the FTC and Google each allow.
Area pages, only where they're real. Google's spam policies list "multiple domain names or pages targeted at specific regions or cities that funnel users to one page" as doorway abuse, and separately warn against generating pages at scale to manipulate rankings.1 Write an area page when you have work there to show and something specific to say. Skip it when you don't.
Day 90: the first honest read. Pull the same numbers as your baseline and compare.
The 30, 60, 90-day checkpoints
| Checkpoint | What you should see | If you don't |
|---|---|---|
| Day 30 | New pages indexed (Search Console Page indexing); tracking number and tagged link recording calls and visits | Fix indexing or tracking before writing more |
| Day 60 | Impressions on new pages for the services they cover; profile calls steady or rising | Rewrite titles and opening paragraphs; check categories |
| Day 90 | Organic and profile calls arriving on their own sources; first booked jobs carrying them | Check call handling and booking rate before blaming SEO |
| Day 180 and on | Completed revenue from organic and profile sources, compared with the same months last year | Re-plan: which page groups produced jobs, which didn't |
Ninety days is a checkpoint, not a finish line. SEO often takes longer to pay than ads, and Google publishes no timeline. What 90 days does give you is a working measuring chain and enough data to stop guessing.
How to measure it from your jobs
Metric
Organic and profile booked jobs
Jobs booked from calls and forms that started in Google's web results or your Business Profile, counted separately.
booked jobs where campaign = organic website, and separately where campaign = Business Profile
Where the numbers come from: The campaign on each job, set by the tracking number that rang or the form source. TradesWork keeps UTM tags on website form leads.
Metric
SEO cost per completed job
What SEO costs for each job it produces, comparable with any other channel's cost per completed job.
SEO spend for the period (agency fees, tools, your own hours at a fair rate) ÷ completed jobs with organic or profile source
Where the numbers come from: Your spend records and completed jobs with those sources.
Metric
Organic share of completed revenue
How much of the business search carries. Watch the trend, not the level.
(completed revenue from organic and profile sources ÷ all completed revenue) × 100
Where the numbers come from: Completed jobs by campaign and marketing channel.
The second card is a version of customer acquisition cost for one channel. If you count your own hours, use the same hourly rate every month so the trend is honest. Website leads landing in one place with their source attached is what makes all three cards work; that's how the TradesWork lead inbox is set up.
If you hire help
Ask any agency, or a marketing platform such as TradesForce, three things before you sign: who owns the domain, site and profile if you leave; which pages they'll build first and why; and whether they'll report results by page group in a way you can check against your booked jobs. The Search Console guide for contractors shows what to look at yourself, so their report isn't the only one you read.
Free download · ExcelField Service KPI ScorecardTrack the 12 numbers that run a service business, week by week, with formulas already built in.Footnotes
-
Google Search Central, "Spam policies for Google web search": doorway abuse, scaled content abuse. https://developers.google.com/search/docs/essentials/spam-policies ↩ ↩2 ↩3
-
Google Business Profile Help, "Tips to improve your local ranking on Google": relevance, distance and prominence; no way to request or pay for a better local ranking. https://support.google.com/business/answer/7091 ↩ ↩2
-
FTC press release, "Federal Trade Commission Announces Final Rule Banning Fake Reviews and Testimonials," August 14, 2024. https://www.ftc.gov/news-events/news/press-releases/2024/08/federal-trade-commission-announces-final-rule-banning-fake-reviews-testimonials ↩ ↩2
-
Google Search Central, "Creating helpful, reliable, people-first content." https://developers.google.com/search/docs/fundamentals/creating-helpful-content ↩ ↩2
-
Google Search Central, "A guide to Google Search ranking systems": the helpful content system became part of the core ranking systems in March 2024. https://developers.google.com/search/docs/appearance/ranking-systems-guide ↩
-
Google Business Profile Help, "Guidelines for representing your business on Google": names, categories, hours, phone numbers, virtual offices. https://support.google.com/business/answer/3038177 ↩ ↩2
-
Search Console Help, "Add a website property to Search Console": Domain properties include all subdomains and protocols and require DNS verification. https://support.google.com/webmasters/answer/34592 ↩
-
Google Analytics Help, "URL builders: Collect campaign data with custom URLs." https://support.google.com/analytics/answer/10917952 ↩
-
Google Business Profile Help, "Manage your service area": up to 20 service areas; about 2 hours of driving time. https://support.google.com/business/answer/9157481 ↩