Google ranks local results on three things: relevance, distance, and prominence. Links to your site and customer reviews both feed prominence.
“Relevance is how well a Business Profile matches what someone is searching for.”
SEO for US roofing, plumbing and construction companies, sold like a build: a free audit, one fixed price in writing, the fixes done and tested on a phone, and a record of every change. No monthly retainer.
Updated · Written by Habib Ahmed, founder and lead developer











Contractor SEO is the work that puts a trade business in front of homeowners at the moment they search for the job, on Google, in the map pack and in AI answers. We do it as a fixed-price project for roofing, plumbing and construction companies: $799, $1,499 or $2,499+, agreed after a free audit. That buys speed fixes on a phone, the right schema for your trade, one clear page per job, internal links and a Google Business Profile set up properly.
People look for this under several names. Contractor SEO services, SEO for contractors, an SEO contractor, a contractor SEO company or a professional contractor SEO agency all mean the same work, and contractor SEO marketing is usually the same thing described by someone who thinks of it as marketing. Whichever you searched, this page covers what the work includes, what it costs, how long it takes and how it compares with ads and lead sites, with our own measurements rather than borrowed statistics.
We are a small team led by founder Habib Ahmed. Our focus is US roofers, plumbers and builders, and we measured 360 of their websites before writing a word of this page. If your trade is roofing, our roofing SEO page goes deeper on storm season and roofing searches, and our guide to SEO for roofers shows how to do the groundwork yourself.
The foundations are the same for every contractor. What changes from trade to trade is how urgent the search is, what the buyer needs to see before calling, and which pages win the job. Here is how that plays out for each of the three trades we work with, with one number we measured for each.
Storms decide the calendar. Hail, wind and leak searches jump the morning after the weather, and most of them come from a phone in the map pack. Roofing SEO is about having a page for every service and roof type, a profile that shows recent jobs, and storm pages indexed before the season starts.
Measured: Only 9 of the 342 roofing homepages we measured showed their main content inside Google’s 2.5 second target on a phone.
Roofing SEO in detail →Plumbing searches are the most urgent of the three: a burst pipe, a blocked drain, no hot water. The caller wants someone today, so speed on a phone, a number that dials in one tap, and a separate page for each emergency and each town matter more than anything written about the company.
Measured: Half of the eight plumbing sites we measured carried no local markup telling Google which towns they serve.
Plumbing websites and local SEO →Construction buyers take weeks to decide and search for the project, not the trade: a kitchen remodel, a home addition, a commercial fit-out. General contractor SEO works when each project type has its own page backed by real photos of finished jobs, because proof of past work closes these deals.
Measured: None of the ten construction sites we measured used Schema.org’s GeneralContractor type, and six of the nine we could read had no tap-to-call link.
Construction websites and local SEO →
Search engines judge a roofer, a plumber and a builder on the same few things. Does each page clearly answer one job? Does the site load on a phone? Do the business details match everywhere, and does the Google Business Profile look active? The fixes are the same work, so the price is the same. What we change for each trade is the order of the work and the schema type, and the audit tells you both before you pay anything.
The order matters more than it sounds. For plumbers, speed and tap-to-call come first, because an emergency caller will not wait. Builders usually need project pages and proof first, since a homeowner planning an addition reads before calling. Roofers need both, plus storm pages in place before the season. Same fixes, different first week.
The searches homeowners and property managers type when they need a contractor, and how many times a month Google says they are made in the US. Google Keyword Planner data, pulled 27 September 2026, checked against Ahrefs.
| Trade | Search | Monthly US searches (Google) |
|---|---|---|
| Roofing | roofers near me | 165,000 |
| Roofing | roofing contractor | 135,000 |
| Roofing | roof repair near me | 90,500 |
| Plumbing | emergency plumber near me | 110,000 |
| Plumbing | 24 hour plumber near me | 49,500 |
| Plumbing | emergency plumbing services | 14,800 |
| Construction | general contractors near me | 135,000 |
| Construction | remodeling contractor near me | 27,100 |
| Construction | commercial contractors near me | 4,400 |

Seven of these nine searches end in “near me”, and the other two still come from someone looking for a business close by. That is why contractor SEO is mostly local SEO: the answer to these searches is the map pack and the organic results under it, and both are decided by where you are, what your pages and profile say you do, and how much proof sits behind it.
The volumes also show where the money is. Emergency plumbing and roof repair are searched by people who want someone today, so those pages turn into booked jobs faster than any page about your company history. Keyword research for your own towns tells you which of these you are missing a page for.
Keyword tools disagree, sometimes by a lot. Google’s planner puts “remodeling contractor near me” at 27,100 searches a month; Ahrefs puts it at 2,200. Google’s numbers are bucketed ranges, and third-party tools estimate from their own data. We read every volume as a band, compare Ahrefs, Semrush and Google, and decide what to build first from all three.
Every homepage was run through Google PageSpeed Insights on a mobile connection, and its code was read for structured data and a tap-to-call link. Google’s target is to show the main content within 2.5 seconds.
| Trade | Sites | Measured | Main content in 2.5 s | Median load | Structured data | Tap-to-call |
|---|---|---|---|---|---|---|
| Roofing | 342 | 13 Sep 2026 | 9 of 342 | 9.2 s | 51 with no structured data | 77 with no tap-to-call |
| Plumbing | 8 | 6 Aug 2026 | 1 of 8 | 7.8 s | 4 with no local markup | all 8 had a call link |
| Construction | 10 | 12 Aug 2026 | 2 of 10 | 15.8 s | 6 of 9 readable with none, 0 using GeneralContractor | 6 of 9 readable with none |
Twelve of 360 contractor homepages showed their main content inside Google’s target on a phone. Speed was the most common failure in every trade, ahead of missing schema or a missing call link. That matters for SEO in two ways: a slow page is a weaker candidate to rank, and a page that does rank still loses the homeowner who gives up waiting.
The cheapest fixes were the ones most often missing. Structured data costs nothing to add, yet 51 roofing sites had none, half the plumbing sites had no local markup, and not one construction site used the GeneralContractor type written for it.
Each site was measured once, on the date shown, from lead lists of US companies rather than a random sample of every contractor. The roofing set is large, the plumbing and construction sets are small, so read those two as examples rather than industry averages. The individual results are published on our roofing, plumbing and construction roundups.
Before anyone quotes you a price, the site should be checked. These are the ten things our free contractor SEO audit looks at, explained on a 30-minute call.
Keyword research for your towns
Which searches your customers actually type, how many, and which of them your site has a page for. Most contractor sites we look at are missing pages for their best-paying jobs.
Index coverage
Whether Google has indexed every page that should rank, and whether any page is blocked, duplicated or pointing search engines somewhere else by mistake.
Mobile speed
The main content load time on a phone against Google’s 2.5 second target, and what is slowing it down: images, scripts, fonts or the platform itself.
Pages that compete
Two or more pages chasing the same search, which splits the signal so neither reaches the first page.
Schema
Whether your site carries the right trade type, RoofingContractor, Plumber or GeneralContractor, with your service area and hours.
Google Business Profile
Primary category, services, service areas, photos, reviews and whether the profile and the website describe the same business.
Listings and citations
Whether your name, address and phone number (NAP) match across Google, Yelp, BBB, Angi, Houzz, Nextdoor and the rest, including old numbers still live. These local citations are how search engines confirm you are one real business.
Trust signals
License number, insurance, real job photos and reviews, and whether they sit near the phone number and the quote form where homeowners decide.
Calls and forms
Tap-to-call on every screen, a short quote form, and whether calls and form leads are tracked at all in Google Analytics 4 (GA4), so qualified leads can be counted later.
The contractors above you
What the three to five businesses ranking above you in your towns have that you do not: pages, reviews, speed or structure.

Whoever you hire, ask to see these ten checks for your own site before you sign. An audit that skips the Google Business Profile, or never looks at the contractors ranking above you in your towns, will produce a plan that fixes the wrong things first. If you would rather work through it yourself, the same checks run through our local SEO checklist in the order that matters.
Three of the ten matter more than the rest for most contractors: mobile speed, the Google Business Profile and whether each job has its own page. They are where we found the biggest gaps in the 360 sites we measured, and they are the fixes homeowners feel first, because they decide whether your business shows up at all and whether the page loads before the caller gives up. If your audit comes back clean on those three, the remaining seven are usually quick wins rather than a project.
Eight parts of the work, each tagged with the package where it starts. The free audit decides which package your site needs, and the same scope applies whether you fix roofs, pipes or kitchens. Nothing here is billed monthly, and nothing is left vague for a later invoice.
We read every page the way a search engine does and list what is holding the site back: pages Google cannot index, titles that repeat, service pages fighting each other over the same search, broken links. The list is ranked by impact and priced before any work starts.
Every package
Contractor sites get opened on a phone in a driveway or a truck. We review Core Web Vitals from real visitor data and lab tests, then fix what is slowest: heavy images, blocking scripts, layout that shifts under a thumb. Across the 360 contractor sites we measured, speed failed most often.
Every package, complete in Professional
Titles, headings and structure corrected so each page answers one search: water heater repair, roof replacement, kitchen remodel. A page that tries to rank for six services usually ranks for none, and fixing that costs nothing but careful editing.
Every package
Schema.org has a type for each of our trades: RoofingContractor, Plumber and GeneralContractor, all under LocalBusiness. We add the right one with your service area, hours and contact details, so search engines and AI assistants read who you are instead of guessing.
Every package
Your service, town and project pages linked to each other with words that describe where the link goes. It is how Google learns which page answers which search, and on most contractor sites the menu is the only link a page ever gets.
Professional and up
The right primary category for your trade, every service you offer, service areas instead of a home address, hours, real job photos and a review link your crew can text after a job. For many contractors the profile is where the call starts, because it sits in the map pack above the organic results.
Professional and up
This is for contractors covering a wide area or running more than one office. It adds local SEO across every location and the same business details on every profile and listing. It also sets up a site structure that lets each area rank on its own instead of splitting the signal.
Enterprise
Before and after for every fix, with speed scores and what Search Console showed. You can check the work yourself, hand the file to your next developer, or hold it up against your call log in three months and decide whether the project paid off.
Every package
Google says it ranks local results on three things: how well a listing matches the search, how far the business is from the searcher, and how prominent it is, with reviews and links feeding prominence. Nobody can move your yard closer to the customer. Everything above works on the other two: pages and a profile that say exactly what you do and where, and an easy way to keep reviews coming.
Four steps, one price and no monthly contract. You see the findings before you commit to anything, the price is fixed in writing before work begins, and you get a record of every change at the end so you can judge the work yourself.
01
Free audit
A look at your site, your Google Business Profile and the contractors ranking above you in your towns. You get the findings in plain English on a 30-minute call, whether or not you hire us.
02
One fixed price
The findings decide the package: Starter, Professional or Enterprise. You get the number and the scope in writing, and it does not move once work begins.
03
The fixes
Speed, schema, titles, internal links and your profile, each change tested on a real phone and logged as we go. Your site stays live the whole time.
04
Handover
Every change documented before and after. Then you run it yourself, or add a care plan from $99 a month for monitoring, updates and security.
Speed, schema and profile fixes are often picked up within weeks. Rankings for competitive searches take months, and longer in a big metro or on a domain Google has barely seen. Anyone promising a first-page date is guessing: Google’s own guidance on hiring an SEO says no one can guarantee a number one ranking.
Seasonal trades need a head start. Storm pages for roofers and burst-pipe pages for plumbers have to be live and indexed before the weather turns, because the searches come the same day the problem does.
Homeowners now ask ChatGPT, Perplexity, Gemini or Google’s AI Overviews who to call. The fixes above already suit them: question headings with short direct answers, the right schema for your trade, and business details that agree everywhere. We do not charge extra for it.
One fixed price for defined work, agreed in writing after the free audit and never changed once work starts. The same three packages apply to every trade.
Starter
$799
Technical audit plus the highest-impact fixes on a small site.
Professional
$1,499
Full technical SEO and speed remediation, plus local search setup.
Enterprise
$2,499+
Larger or multi-location sites, or where the audit finds structural work.
Care plan $99 a month
Optional, after the project: uptime & speed monitoring, updates & backups, security monitoring, monthly report. Cancel with a month’s notice. It is the only monthly price we have.
Most contractor SEO agencies charge every month. Of those ranking for this search that publish a price, Skill Mammoth starts at $350 a month and Hook Agency lists local SEO from $2,800 a month. A retainer suits work that never finishes, like a steady stream of new content and links. A fixed project suits a site with a known list of problems, which is what we found on almost every contractor site we measured.
Which package: Starter for a small site that needs its worst problems fixed, Professional for full speed work, internal links and a Google Business Profile set up from scratch, and Enterprise for several towns, branches or a large site. Need pages that do not exist yet? That is a website build or redesign, also fixed-price, on our pricing page.
Who we are not for: Not the right fit if the phone has to ring this week, because SEO takes months and ads are faster, or if you want an agency producing content and links for you every month. We fix and set up at a fixed price; we do not run retainers or manage ad spend.
Contractors usually weigh SEO against three other ways of buying calls. The difference that matters most is where the cost sits and what happens when you stop paying.
| Channel | How you show up | What you pay for | Speed and staying power |
|---|---|---|---|
| Contractor SEO | Your own pages and profile rank in Google’s organic results and map pack. | You pay for the work; each call after that costs nothing extra. | Months to build, keeps working after the work is done. |
| Google Ads | You bid on searches and appear in the ad slots. | You pay for every click, whether or not the visitor calls. | Calls this week; stops the day the budget stops. |
| Local Services Ads | Google shows your badge and reviews above the ads for eligible trades. | You pay when a customer gets in touch through the ad, not per click. | Fast once approved; stops when you pause it. |
| Angi, HomeAdvisor and lead sites | The platform ranks, then passes the homeowner to contractors. | You pay per lead or per membership, and the lead may go to other contractors too. | Instant, but you are renting their audience, not building your own. |
If the phone needs to ring this week, ads or Local Services Ads are the faster tool, and we will say so even though we do not sell them. If you can wait a few months, SEO builds something that keeps bringing calls without a charge on each one. Most contractors end up using both: paid channels for the busy season, SEO for the base that stays when the budget is switched off.
Lead platforms sit somewhere in between. They are quick to start and useful when a new business has no reviews yet, but the homeowner belongs to the platform, not to you, and the same request can reach several contractors at once. Every job won through your own site and profile adds a review and a reason for the next homeowner to call you directly, which is how a contractor slowly stops depending on rented leads.
Whichever mix you choose, track where each call came from. A simple question on the phone, a separate number on the website, or a form field asking how they found you is enough. After a few months you will know which channel brings booked jobs at a price you can live with, and you can move the budget accordingly instead of guessing.
Google publishes a list of questions to ask any SEO. Here they are with our answers, so you can put the same ones to every contractor SEO company on your shortlist.
| Question | Our answer |
|---|---|
| Can you show previous work? | Named clients with measured numbers on our case studies, including two trade businesses below. |
| What results should I expect, and when? | Fixes picked up in weeks, rankings moving over months. No guaranteed position, because nobody can honestly give one. |
| How will you measure success? | Before and after for every change, from speed scores and Search Console to the calls and quote requests your site records. |
| What do you know about my trade? | Our focus is roofers, plumbers and builders, and we measured 360 of their websites for our own research. |
| Will you tell me every change you make? | Yes, in writing, and everything stays in your own accounts. |
| What exactly does the price include? | The package list above, fixed in writing after the audit. Nothing billed monthly unless you add a care plan. |
Both are website rebuilds with SEO built in for trade businesses in Australia, not stand-alone SEO projects for US contractors. We show them because they are real, named and measured, and we would rather label nearby proof honestly than invent a result we do not have. The rest are on our case studies page.
Six problems that hold contractors back in every trade we measured. None of them needs a big budget to fix, and most can be checked in an afternoon with nothing more than a phone and your Google Business Profile login.
Water heaters, drains, repiping and gas lines on one page, or kitchens, baths and additions on another. Google matches one search to one page, so a page about everything is a weak answer to each individual search, and the contractor whose page is about one job wins it.
Twenty pages that differ only in the town name read as thin content to Google and as lazy to homeowners. A town page earns a ranking by saying what is true there: jobs completed nearby, the housing stock, drive time from the yard.
The Google Business Profile is often the first thing a homeowner sees, yet many sit untouched for years: old photos, the wrong primary category, services missing, no recent reviews. Whitespark’s 2026 survey ranks the primary category as the top local pack factor, and it takes a minute to check.
The address or phone number written differently on Google, Yelp, BBB and Angi, often left over from an old office or tracking number. Search engines cannot be sure the listings are one business, and homeowners who reach a dead number do not try again.
Contractors win on proof: finished jobs, license numbers, insurance, reviews. Many sites bury all of it on an About page nobody opens. Put the proof next to the quote form and the phone number, where the decision to call is actually made.
A chart of rising visits feels like progress, but visits from outside your service area pay nothing. Judge contractor SEO by calls and quote requests from your towns, and ask anyone you hire to report those first. A plumber with fewer visits and more emergency calls is doing better than one with a rising traffic chart and a quiet phone.
Every one of these can be fixed without hiring anyone, and our local SEO checklist for contractors walks through them in the order that matters. If you work through it and the site still does not move, that is usually the point where speed, schema or structure needs a developer, and the free audit will show you which.
If your site already has a page for each main service and loads in a few seconds on a phone, start with SEO. If the whole business sits on one page, start with the website, because SEO cannot rank pages that do not exist. Tell us your trade and your towns on a free 30-minute call and we will say which, including when the answer is neither yet.
Websites by trade: roofing, plumbing and construction. The full technical scope for any site is on SEO and speed optimization.
The questions contractors ask most before hiring an SEO company, taken from Google searches and the FAQs of pages already ranking for them: cost, timelines, ads and lead sites, doing it yourself, choosing a company, city pages, AI search and more.
Still have questions? Get in touch →

Building client websites since 2015
Sources last checked 27 September 2026. Outside figures used on this page are listed here with their source, so you can check them yourself instead of taking our word for it.
Google ranks local results on three things: relevance, distance, and prominence. Links to your site and customer reviews both feed prominence.
“Relevance is how well a Business Profile matches what someone is searching for.”
Whitespark’s 2026 Local Search Ranking Factors report ranks the primary Google Business Profile category as the number one factor for local pack and map rankings.
Google treats a page as fast on three measures. Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 milliseconds, and Cumulative Layout Shift under 0.1. All three are read at the 75th percentile of real page loads.
“LCP should occur within 2.5 seconds of when the page first starts loading.”
Schema.org publishes a RoofingContractor type. It inherits from HomeAndConstructionBusiness, which sits under LocalBusiness, so it carries every LocalBusiness property including service area and opening hours.
“A roofing contractor.”
Schema.org publishes a Plumber type. It inherits from HomeAndConstructionBusiness, which sits under LocalBusiness, so it carries every LocalBusiness property including service area, opening hours and geo coordinates.
“A plumbing service.”
Schema.org publishes a GeneralContractor type. It inherits from HomeAndConstructionBusiness, which sits under LocalBusiness, so it carries every LocalBusiness property including service area, opening hours and geo coordinates.
“A general contractor.”
Google’s own advice on hiring an SEO says nobody can guarantee a number one ranking, and suggests asking for examples of previous work, experience in your industry and city, and whether every change to your site will be shared with you.
“No one can guarantee a #1 ranking on Google.”
Google says Local Services Ads let a business appear prominently in search and only pay when a customer gets in touch from the ad.
“only pay when a customer gets in touch from your ad”
Hook Agency, a contractor marketing agency that ranks for roofing SEO searches, publishes local SEO from $2,800 a month as a starting price for SEO only.
Skill Mammoth, a home services agency that ranks for roofing SEO searches, publishes monthly plans at $350 (Essentials), $750 (Growth) and $1,500 (Authority).