Local SEO for contractors
Local SEO for contractors is the work that helps Google show your business when someone nearby searches for what you do, both in the map results and in the regular results under them. Google says local results are ranked on relevance, distance and prominence. You can't change where the searcher is standing. You can make it obvious what you do and where (relevance), and build the reviews and links that show you're a real, known business (prominence).
In practice that means a complete Google Business Profile, a website with one strong page per service, town pages only where you have something real to say, the same contact details everywhere, LocalBusiness structured data, a steady flow of reviews, pages that load fast on a phone, and a monthly look at Google Search Console. Here is each piece.
How Google ranks local results
Google explains local ranking with three factors. Relevance is how well a business matches what someone is searching for, so complete, detailed information helps. Distance is how far the business is from the person searching; if they don't share their location, Google uses what it knows about it. Prominence is how well known the business is. Google says it's based partly on how many websites link to the business and how many reviews it has, and that more reviews and positive ratings can help.
Two more facts shape everything below. Google uses the mobile version of your site for indexing and ranking, so what your site shows on a phone is what counts. And Google says there's no way to request or pay for a better local ranking.
The map results are built around Business Profiles, so set yours up first: our Google Business Profile guide walks through it. The rest of this guide is about your website and your reputation around town.
One strong page per service, linked together
Homeowners search for the job, often with a town: “emergency plumber,” “roof replacement Plano,” “ductless mini split installation,” “retaining wall contractor.” Give each main service its own page, so there's one clear answer for each kind of search. Each service page needs:
- A clear title and address. Google's SEO Starter Guide asks for a title that's unique to the page, clear and concise, and for words in the URL that help people: /water-heater-replacement, not /page?id=17.
- The answers a homeowner wants: what the job involves, the signs they need it, how long it takes, whether a permit or inspection is part of it, and what your warranty covers.
- Photos from your own jobs, sharp and placed next to the text they belong to, with short alt text that says what they show.
- A visible FAQ with the questions you hear on the phone. Google stopped showing FAQ rich results on May 7, 2026, but the answers still help the reader decide.
- The towns you serve for that service, the call button and the quote form.
- No padding. Google says the length of content alone doesn't matter for ranking. Answer the questions and stop.
- Links in and out. Google says every page you care about should have a link from at least one other page on your site. Link the home page to each service, each service to the projects that show it, and each town page to the services you offer there.
- Link text that says where it goes. “See our tankless water heater installs” tells people and Google more than “click here” or “read more.”
Town pages only with real local content
Swapping the town name on twenty copies of the same page is the most common local SEO shortcut, and Google names it. Its spam policies list “pages targeted at specific regions or cities that funnel users to one page” as doorway abuse, and “blocks of text that list cities and regions that a web page is trying to rank for” as keyword stuffing. Google says sites that violate its spam policies may rank lower or not appear in results at all. Its guidance on helpful content asks the same question from the other side: is a page made mainly to attract visits from search engines, or for the people reading it?
If you can't write a real page for a town, don't make one yet. Name the towns you serve in one plain list on a service-area page and in your Business Profile, and add the town page once you have real jobs there. A town page earns its place when it says something only you could write about that town:
- Jobs you've done there, with photos and what the problem was, without customers' addresses.
- The local permit and inspection steps for your kind of work, where there are any.
- The houses you work on there: 1950s ranch homes, older houses with galvanized pipes, newer subdivisions with HOA rules on fence height or roof color.
- The weather that matters for your trade: hail, freeze and thaw, hard water, long cooling seasons.
- How soon you can usually get there and who on your team covers that area.
Consistent details and LocalBusiness markup
Google needs to be sure that the business on your website, on your profile and around the web is the same one. Use the same business name, phone number and, if you show it, address everywhere: website footer, contact page, Business Profile, Facebook page, directory listings, invoices and truck wraps. When you change your number or move, update every one of them.
Then describe the business in structured data, a small block of code (JSON-LD) in the page that Google reads. Google's guide for local business markup says to use the most specific LocalBusiness subtype possible. Schema.org has types for several trades: RoofingContractor, HVACBusiness, Plumber, Electrician, GeneralContractor, HousePainter, Locksmith and MovingCompany. A trade without its own type, such as concrete or fencing, can use the broader HomeAndConstructionBusiness. Google says it doesn't guarantee that features using structured data will show up in search results: the markup helps Google read your details, and the page still has to earn the click. What to include:
- Required by Google: the business name and its address. If you hide your street address, use the parts you do show, such as city, state and ZIP.
- Recommended: the phone number with country and area code, your site's URL, map coordinates with at least five decimal places, opening hours, and a price range under 100 characters if you use one.
- areaServed, a schema.org property, for the towns you serve.
- Not your own star rating. Google recommends review and rating markup only for sites that collect reviews about other local businesses, so don't mark up your own testimonials.
- The same markup on phone and desktop, as Google's mobile-first guidance asks.
Reviews and links from your own town
Prominence is the factor you build over years, and Google ties it to how many reviews you have and how many websites link to you.
For reviews, ask every customer after every job with a link or QR code, and reply to what they write. Never offer anything in return, never ask only the happy ones, and never write or buy reviews: Google's policies forbid it, and under the FTC's rule on fake reviews courts can impose civil penalties for knowing violations. Our guide on how to get more Google reviews has the whole routine.
For links, think of the places in your area that would mention you anyway, and don't buy them: Google's spam policies name buying or selling links for ranking, excessive link swaps (“link to me and I'll link to you”) and low-quality directory links as link spam. Good places to start:
- Manufacturer or supplier pages that list certified installers, if you hold the certification.
- Your chamber of commerce or trade association's member directory.
- A youth team, school event or charity you really sponsor.
- Local news or a neighborhood group covering a project you did.
- Builders, property managers or real estate agents who list the trades they trust.
Speed on phones: Core Web Vitals
Google recommends that site owners achieve good Core Web Vitals. On contractor sites, slow pages usually come from the same few things: full-size job photos straight from the phone, a hero video with no light poster image, chat widgets and tracking scripts that load before the page, and fonts that hold up the first screen. These are the three measurements and their “good” thresholds, judged at the 75th percentile of page loads, with phones and desktops counted separately:
- Largest Contentful Paint (LCP), how fast the main content appears: 2.5 seconds or less.
- Interaction to Next Paint (INP), how fast the page responds to a tap: 200 milliseconds or less.
- Cumulative Layout Shift (CLS), how much things jump around while the page loads: 0.1 or less.
- 1Measure first: PageSpeed Insights for one page at a time, the Core Web Vitals report in Search Console for the whole site. Both use data from real Chrome users.
- 2Resize and compress job photos before they go on the site.
- 3Give a hero video a light poster image, and load the first image right away and the rest as the visitor scrolls.
- 4Remove chat widgets and scripts you don't use, and load the ones you keep after the page.
- 5Test again on a phone after every change.
What to measure in Google Search Console
Search Console is free and shows how Google sees your site. Verify your site and submit your sitemap, then check these reports once a month. Put them next to your Business Profile's calls and website clicks and your own lead log: rankings only matter when they turn into calls and booked jobs.
- Performance: clicks, impressions, click-through rate and average position, by query and by page. Search Console keeps 16 months of data, so compare a month with the same month last year; contractor searches swing with the seasons. Some rare searches are hidden to protect privacy, so the query list won't account for every visit.
- Your services and towns in the queries. Are you showing up for “roof repair” with your towns, or only for your company name? A new service or town page should start to collect impressions for its searches.
- Pages with impressions but few clicks. Rewrite the title and description so they match what people searched for.
- Page indexing: which pages Google has indexed and which it hasn't, and why. “Not indexed” isn't always an error, but server errors, redirect errors and soft 404s need fixing.
- URL Inspection: check a single page, and request indexing after an important change Google seems to have missed. Don't keep re-requesting; Google recrawls pages by itself.
- Core Web Vitals: pages that fall below the “good” thresholds on phones.
Questions
Google says some changes take effect in a few hours and others take several months, and suggests waiting a few weeks before you judge whether a change helped. New pages first have to be crawled and indexed before they can show up, so check them in Search Console's URL Inspection.
Only for towns where you have something real to say: jobs you did there, local permits, the houses and weather you deal with. Near-copies with the town name swapped are what Google's spam policies call doorway abuse. For the other towns, a plain list on one service-area page and your Business Profile's service areas are enough.
No. Google says the length of content alone doesn't matter for ranking. A page that answers the homeowner's questions, shows real jobs and makes it easy to call does more than a long page written around keywords.
Your profile can bring calls by itself, but the website is where you have room for a page per service, real town content, your project photos and a quote form, and it's where the profile's website button sends people. If you'd rather have it built, V3SU's plan includes the website with local SEO pages, Google Business Profile optimization, a review system and $100 a month of Facebook and Instagram ads, with no contract. You can get started online.
All of it for $297/mo
No contract · no sales call · live in 48 hours
- A website that gets calls. Fast and built for phones: your services, your photos, a one-tap call button and a quote form. Every request goes straight to you.
- Your own domain. yourcompany.com, included. It's registered to your business and stays yours.
- Hosting & care. Online 24/7 with SSL and backups. We keep it running. No extra bill.
- Google reviews system. Your review link, a QR code and printable cards. Ask every customer with one tap.
- Local SEO. A page for every service and every town you serve, built around what homeowners type into Google.
- Google Business Profile optimization. We optimize your Maps profile: website link, categories, services, hours and photos. The profile itself is free from Google.
- $100/mo of Facebook & Instagram ads. Included in the $297. We run the campaign in your area and every lead hits your phone in seconds.
The $100 of ads is part of the $297. We don't promise a number of leads: every month you see what was spent and what it brought.
Get started in 30 secondsMore guides
Websites by trade
Sources
- Google Business Profile Help: Tips to improve your local ranking on Google
- Google Search Central: Mobile-first indexing best practices
- Google Search Central: SEO Starter Guide
- Google Search Central: Documentation updates (FAQ rich result removed from Search, May 7, 2026)
- Google Search Central: Link best practices (crawlable links, anchor text, internal links)
- Google Search Central: Spam policies for Google web search
- Google Search Central: Creating helpful, reliable, people-first content
- Google Search Central: Local business (LocalBusiness) structured data
- Schema.org: HomeAndConstructionBusiness (trade subtypes)
- Schema.org: areaServed
- Google Maps user-contributed content policy: Fake engagement
- FTC: Consumer Reviews and Testimonials Rule, questions and answers
- web.dev: Web Vitals (Core Web Vitals thresholds)
- Google Search Central: Understanding Core Web Vitals and Google search results
- Search Console Help: Performance report (Search results)
- Search Console Help: About the Performance report data (privacy filtering)
- Google Analytics Help: Search Console integration (16 months of data)
- Search Console Help: Page indexing report