Local SEO

Home Services SEO: A Guide for Contractors

By Alex Crisan · · 13 min read

Home services SEO is local SEO with the website in a supporting role. For an HVAC, plumbing, roofing, or remodeling contractor, most of the result comes from a Google Business Profile set up correctly as a service-area business, reviews that keep arriving every month, and one page per service and per city where real demand exists. The site backs the profile up. It rarely carries the ranking on its own.

The numbers here come from our own client work, checked by live search on August 22, 2026 from each client's city. A Phoenix sport court builder we work with holds #1 organic for "tennis court construction" and #1 in the local pack for "sport court builder," and a Las Vegas ceiling fan store we audited holds #1 organic and #1 in the local pack for "ceiling fans las vegas." Where a claim rests on a published test, the source is linked. Where it rests on our own observation, it says so.

Key Takeaway

For a contractor, the Google Business Profile and the reviews attached to it decide most of the local pack result, and the pack appears on 93% of searches with intent to hire. Get the address setting, primary category, and services right first, keep reviews arriving every month, then build service and city pages only where demand exists. The blog can wait until year two.

Isometric line drawing of a house with a service van in the driveway and an orange map pin above it, set in a neighborhood street grid

What Is Home Services SEO?

Home services SEO is getting a contractor to show up when someone nearby searches for the trade: the local pack, Google Maps, and the organic results under them. The inputs are Google's three local factors, relevance, distance, and prominence, plus the site's service and city pages. Two wrinkles set it apart: no storefront, and the conversion is a phone call.

The first wrinkle changes the setup. A plumber working from a home office or an unsigned unit is a service-area business under Google's rules, and that decides the address setting, what the profile can show, and how far its ranking reaches. Most of the contractor profile mistakes we see come from treating a service-area business like a storefront.

The second wrinkle changes the economics. Almost nobody books a roof replacement through a form. They call, and the paid route to those calls is expensive. Home improvement search ads ran a median $8.33 per click and $90.92 per lead in WordStream's 2026 benchmarks, and in our own budget modeling a qualified plumbing or HVAC lead from ads lands between $100 and $225. Google states there is no way to request or pay for a better local ranking. A profile in the pack takes the same calls without the click cost, and it does not switch off when a budget does.

Our general checklist is in Local SEO for Small Business. This guide covers what is different for the trades.

Where Do Contractors Actually Show Up on Google?

For a search with intent to hire, such as "plumber phoenix," Google shows the local pack 93% of the time and an AI Overview 15%, per Whitespark's 2025 study of 540 hand-collected queries in three US cities. For a contractor, the profile is the front door, the service page is the second entry, and the blog is neither.

That inverse relationship is why we tell contractors to leave the blog alone in year one. AI Overviews fire on informational queries such as "how much does repiping cost," and the pages they cite are cost guides, comparisons, and third-party publishers. A hiring-intent search in a trade goes to the pack, and the pack ranks profiles, not articles. Twelve posts on a roofing site will not rescue a profile with the wrong primary category.

Google describes local ranking with three inputs: relevance, how well the profile matches the search; distance, how far the business is from the searcher; and prominence, how well known it is, with links and reviews named as inputs. Relevance is cheap and fast to fix through categories and services. Distance is fixed by the verified address. Prominence is slow and expensive. Exhaust relevance before paying for prominence. Whitespark's 2026 Local Search Ranking Factors, 47 practitioners scoring 187 factors, puts profile and review signals together at more than half of the local pack weight. Trust the ordering, not the decimals.

How Should a Contractor Set Up a Google Business Profile?

Set the profile up as a service-area business with the address hidden unless the premises carry permanent signage, choose the primary category the top-ranking competitors use, exhaust the predefined services list, and set hours the business honors. Categories and services show ranking movement inside 72 hours in Sterling Sky's tests. Most other fields pay once. Those pay every day.

The Address Decision

Google's guidelines say a service-area business should hide its address, and Whitespark's 2026 survey scores showing an address on a service-area-only profile as the single highest suspension risk of any factor. The ranking evidence points the other way: a visible address in the city of search is a top-ten factor. The tiebreaker is physical. A staffed office with permanent signage can show the address as a storefront or hybrid. A home office or an unsigned unit cannot, and listing one invites a competitor report that never expires.

Service areas are a display setting, not a ranking one. Sterling Sky's long-running test found ranking comes from the verified address and the service area only changes what the map shows, so adding twenty cities does not extend reach. Keep the list inside about two hours of driving from base, which is Google's documented limit, and get extra geography from city pages on the site instead.

Primary Category and Services

The primary category is the highest-leverage field on the profile, and choosing it is empirical, not descriptive. Sterling Sky documented an HVAC company that changed its primary category from "Air Conditioning Repair Service" to "Air Conditioning Contractor" and fell from position 1 to position 31. Our method: search the money keyword on Google Maps from inside the service area, read the primary categories of the top ten with a free Chrome extension such as GMB Everywhere, and adopt the category the winners use. Add every secondary category the business genuinely is. Dilution is a myth in Sterling Sky's three-test study.

Then services, because Google's predefined list is driven by the category set. Predefined services moved rankings within 24 to 72 hours in Sterling Sky's retest, and custom services work but less well. A roofer lists roof replacement, roof repair, storm damage inspection, and gutter installation as separate services rather than one "roofing" entry. After any services edit, search the business and read the justification line Google renders under it, because Google picks that line and sometimes gets it wrong.

What Not to Spend Time On

Posts do not move rankings. Sterling Sky published weekly for nine weeks across 441 tracked keywords and measured nothing, so post when there is a real job to show and skip it otherwise. Photos are weak for ranking in the trades and strong for conversion, so upload two to four real job photos a month, crew mid-job included, and never stock or AI-generated images. Geotagging is dead; Google strips the data on upload. And never batch edits. Change one field per day and record the date, because batching is a documented suspension trigger and destroys attribution.

The field-by-field walkthrough is in our Google Business Profile optimization guide. If you would rather hand it off, our GBP management service does the category research, the services list, and the monthly check.

Why Does "Near Me" Come Down to Proximity and Reviews?

Google resolves "near me" from the device's location, not the phrase, so putting "near me" in a page title does nothing. Distance from your verified address is fixed. What you control is the review stream: monthly review volume matters more than lifetime total in Sterling Sky's near-me study of 8,186 businesses, and one client's rankings fell after an 18-day gap.

Velocity is the operative word. Three of the top twenty local pack factors are velocity-shaped: quantity, recency, and sustained influx. A profile that collects 30 reviews in one quarter and none in the next is worse off than one that gets five a quarter forever. There is no published safe rate. Benchmark slightly above the top competitors in the pack and never let the rate reach zero.

BrightLocal's 2026 survey of 1,002 US adults found 47% will not use a business with fewer than 20 reviews, 68% require at least four stars, and 74% look for reviews from the last three months. Twenty is the floor, and a review older than a quarter is invisible to most of the market.

The rules changed in April 2026 and some agencies are still selling programs that break them. Google's review policy now prohibits staff review quotas, asking customers to name a technician, and pressure to review on the premises, on top of the standing bans on incentives and gating, where a survey screens out unhappy customers before they see the Google link. Gating can cost a profile every review it has. The safe program is dull: ask every customer the day the job is walked, by a link on the invoice or a same-day text, and reply to every review naming the actual job.

Which Service and City Pages Should You Build?

Build one page per core service, then one page per city only where demand and capacity exist, within a two-hour drive of base. Sterling Sky's data shows 35 service-area pages at 84% content match all ranking and converting, and a manual action against a site with more than 3,000. Dozens are safe. Hundreds are not. Start with 5 to 15.

Google's doorway policy is narrower than the fear around it. It prohibits pages that funnel users to another destination and names city pages that all push to one page as the violation. A city page that is itself the destination, with its own proof and its own phone number, is not a doorway page even on a shared template. The separate keyword-stuffing rule bans blocks of text listing cities, which kills the "we also serve" footer.

How to decide which cells to build: pull the profile's search terms report and Search Console for queries that already carry a city name, then pull the job list for where the crew actually drove in the last twelve months. A city in both gets a page now. A city with searches and no jobs gets one later, once the first batch shows impressions. A city with jobs and no searches usually needs none, because the profile already covers it. Here is that decision for a hypothetical roofer based in Round Rock, Texas:

Service Round Rock Austin Georgetown Pflugerville Cedar Park
Roof replacement Build Build Build Later Later
Roof repair Build Build Later Later Skip
Storm damage Build Later Later Skip Skip
Gutter installation Build Skip Skip Skip Skip
Metal roofing Build Later Skip Skip Skip

Eight build cells, not twenty-five. The later cells wait for Search Console impressions from the first batch. Each page that gets built needs what makes it distinct, in value order: photos of jobs in that city, a named review from a customer there, the permit or code detail for that municipality, and the crew who cover it. Naming neighborhoods is the weakest lever and shades into stuffing.

Each page also has to convert: the service and the city in the headline, a click-to-call number in the header and a sticky call bar on mobile, a form with five fields or fewer, a starting-at price or the factors that move it, and reviews from that city above the fold. That is the shape of the landing pages we build. It is also the shape of the Scottsdale city page on our Phoenix client's site that earned an AI Overview citation, a page that was already there when we took the site over in August 2026.

What Does the Website Need, and How Do You Track Calls?

The site needs to be crawlable, fast, and consistent with the profile. Four of the top twenty local pack factors are landing page attributes: name, address, and phone matching the profile, keywords in the title tag, geographic relevance, and keywords in headings. The website is part of the profile's ranking surface, so we treat the two as one project.

Schema and Speed

Use HomeAndConstructionBusiness or the closest subtype, never bare LocalBusiness, with address, phone, hours, and service area, and keep the phone identical to the profile character for character. Google says no structured data is required for AI features, and a controlled Ahrefs study of 1,885 pages found no AI citation lift from adding it, so schema earns its place for entity clarity, not as an AI tactic. Whatever the markup says, the page text must also say.

Speed is a threshold, not a gradient. The three metrics are LCP at or under 2.5 seconds, INP at or under 200 milliseconds, and CLS at or under 0.1, from real Chrome users at the 75th percentile. On a contractor site the usual failure is a chat widget or a pile of tags an old agency left behind, and deleting dead scripts is the largest fix available at zero cost. Read the field data in PageSpeed Insights, not the lab score. A contractor with a perfect Lighthouse score and no profile loses to a slower competitor with 200 reviews.

Tracking That Does Not Break Your NAP

Clicks from the Maps app and mobile browsers arrive with the referrer stripped, so untagged profile traffic shows as direct in GA4 and the profile looks like it produces nothing. Tag the website link with utm_source=gbp and utm_medium=organic. The medium has to be exactly organic to stay in the Organic Search channel; the common recommendation of referral files it out. Tracking parameters are ordinary URL parameters and are not a documented suspension trigger.

Call tracking is where contractors break NAP consistency without noticing. A tracking number pasted into the site header, the profile, and a few directories is three phone numbers for one business. Keep the real number as the default in the HTML, the footer, and the schema, and let the tracking script swap the displayed number after load for web visitors only. Never put a tracking number in the profile or in structured data. Count a call as a lead at 90 to 120 seconds for the trades, because a 61-second call is routinely a wrong number that sat on hold, and count missed calls before deciding a campaign failed. Recording consent is a legal question in all-party states such as Florida and California, not a marketing one. If the business is not appearing at all, the diagnostics are in Why Is My Business Not Showing Up on Google.

What Does It Take to Get Cited by AI Overviews?

Google's stated eligibility is only that the page be indexed and eligible to show with a snippet; no special file, markup, or Markdown helps. In practice, a contractor's citations come from service and city pages with self-contained, fact-dense sections, plus mentions on third-party sites Google already trusts. Nothing in the top five AI visibility factors is a profile field.

Whitespark's 2026 survey scores AI search visibility as its own column, and the top five there are presence on expert-curated best-of lists, dedicated service pages, prominence on industry domains, quality unstructured citations, and presence on review sites. The local pack column is all profile and geography. Optimizing the profile harder does not move ChatGPT, which has no documented Google Business Profile input and reads Yelp, the Bing index, and Foursquare instead. Claiming Bing Places takes fifteen minutes and is the one lever we control that feeds it.

For our Phoenix sport court client on August 22, 2026, both Google's AI Overview and ChatGPT cited the site for "best tennis court construction company in Arizona," and both cited the Scottsdale basketball court page for "backyard sport court builder Scottsdale." Those are the site's existing homepage and city page, which we took over in August 2026 for on-site fixes and structured data. Each carries a plain fact block naming the services, the cities served, and the process, in sections that stand on their own. AI answers vary run to run, so we screenshot citations on the day rather than treat them as a fixed ranking.

What Does This Look Like When It Works?

Two examples from our own clients, verified by live search on August 22, 2026, logged out, from the client's own city. Neither is a guarantee, and rankings move. They show what the shape described above looks like when it is in place: profile, site, and reviews working together.

Search Business Organic Local Pack Maps
sport court builder Phoenix sport court builder #3 #1 #1
tennis court construction Phoenix sport court builder #1 #2 Not checked
basketball court installation near me Phoenix sport court builder #4 #2 #1
ceiling fans las vegas Las Vegas ceiling fan store #1 #1 #2

The sport court builder is a service-area contractor whose site we took over in August 2026. Its service and city pages were already built; our work, which started that month, has been on-site fixes and structured data on those pages, plus a Google Ads rebuild that finished after this check. The ceiling fan store is a storefront, which is why its address shows and why it holds the pack from a fixed location. We audited it, and its rankings are the owner's, not the product of a plan we ran. What both share is the setup layer described above. If a profile is still invisible for its money keyword after the address, category, and services are right, the problem is prominence, and that is reviews and links over months, not more profile edits.

Frequently Asked Questions

Can I do local SEO myself?

Yes, for the setup layer. Claiming the profile, making the address decision, scraping competitor categories, filling in services, and adding a review link to the invoice are a few hours of work for an owner who follows the order in this guide. The parts that stall are recurring: answering every review, the monthly check, and choosing city pages from Search Console data. Start with the setup yourself and hire for the recurring work if it stops happening.

How much should I pay for SEO services?

Industry ranges, not our prices: a one-time profile setup and citation cleanup typically runs $400 to $800, local SEO retainers run $300 to $1,500 a month, and broader small-business SEO retainers run $500 to $1,500 a month, rising with competition. Judge any quote by whether it names the fixes, the pages, and the reporting. Our own packages are on the pricing page, and what drives the number is in How Much Does SEO Cost.

Is SEO still worth it in 2026?

For a contractor, yes. The local pack still appears on 93% of searches with intent to hire, and Google does not sell placement in it. AI Overviews fire on cost and how-to questions rather than on searches for a roofer nearby, and AI-referred traffic is a small fraction of organic. What changed is the blog, which now earns citations more than clicks. The profile and the service pages do what they did before.

What is the 80/20 rule in SEO?

The idea that a fifth of the work produces most of the result. For home services that fifth is specific: the address decision, the primary category, predefined services, accurate hours, and a review arriving every couple of weeks. Whitespark's 2026 survey puts profile and review signals at more than half of the local pack weight between them. Pages, links, and content matter, but only after that fifth is right.

Can ChatGPT do SEO?

It can draft, outline, and summarize. It cannot check a category against live Maps results, read your Search Console, ask your customers for reviews, or photograph the crew on a roof. Google's position is that AI assistance is fine and that pages adding no value are spam however they were produced. Use it for drafts. A person who knows the business adds the facts, checks every claim, and signs the page.

Our Approach

Blank Box Digital Marketing is a small team in Austin, TX, no handoffs, and we do this work for contractors and other local businesses across the Sunbelt. An engagement starts with the setup layer, then the service and city pages the data supports, then the review program and the monthly check. Our monthly SEO service covers the page work and the tracking; the profile-only option is the GBP service linked above.

If your profile is not in the pack for the trade you actually do, or you are not sure which cities deserve a page, . We will look at the profile and the site, show you the gaps, and put together a plan you can run yourself or hand to the people doing the work here.

Keep Reading

Related Posts

Local SEO

Local SEO for Small Business: The Checklist

The full local SEO checklist for small business owners: Google Business Profile, citations, reviews, and local pages, in working order.

13 min read

Read →

Local SEO

How to Optimize Your Google Business Profile

Your Google Business Profile is the most important free tool for local visibility. Here is how to set it up, optimize it, and keep it working for you.

11 min read

Read →

Strategy

How Much Does SEO Cost?

SEO pricing varies from $500 to $5,000+ per month depending on scope and competition. Here's what drives the cost and how to evaluate what you're getting.

9 min read

Read →
Call Text