SEO for contractors, and how to win local jobs from search

A practical SEO plan for contractors, covering Google Business Profile setup, service pages, real job photos, reviews, and when Local Services Ads fit.

A contractor's pickup truck parked outside a half-finished house at dusk, with a ladder on the rack and lumber stacked in the driveway.
On this page12 sections
  1. How homeowners actually find a contractor
  2. Your Google Business Profile does most of the heavy lifting
  3. SEO for contractors starts with one page per service
  4. Location pages only where you have real work
  5. Photos of real jobs beat stock photos every time
  6. Reviews: ask every customer, the right way
  7. Your website: fast, clear and built to get calls
  8. Local Services Ads vs SEO: which comes first?
  9. Tracking what SEO is worth
  10. What I'd do in the first 90 days
  11. Where to start
  12. Frequently asked questions

Short answer

SEO for contractors is mostly local SEO. Set up an accurate Google Business Profile as a service-area business, build one strong page per service you want to sell, show photos of real jobs, ask every customer for a review, and make your site fast with a tap-to-call number. Local Services Ads can buy leads this week. SEO builds a lead source you own, and most busy contractors end up running both.

When someone's water heater dies or a storm takes shingles off their roof, they don't browse. They search, look at the first few options, check the reviews and call. SEO for contractors is about being one of those few options, consistently, for the jobs you actually want.

The good news is that local search rewards things contractors already have: real work, real customers and a real service area. The work is in showing Google and homeowners that evidence clearly.

How homeowners actually find a contractor

A typical search like "roof repair near me" or "electrician Naperville" can show four different kinds of results, often in this order:

Where a contractor can show up in local search A simplified search results page with four stacked areas. At the top, Local Services Ads, paid per lead, and Google Ads, paid per click; together these are paid placements that stop when the budget stops. Below them, the map pack, powered by Google Business Profiles, and the organic results, powered by your website; these are earned through SEO and do not switch off when spending stops. The layout varies by search. Where a contractor can show up Typical layout, varies by search Local Services Ads Google Ads Map pack Organic results Pay per lead Pay per click Google Business Profile Your website You pay Stops when the budget stops You earn (SEO) Doesn't switch off when spending stops
Fig. 01The layout varies by search, but there are usually four places a contractor can appear. Two you pay for, two you earn.
  1. Local Services Ads, where you pay per lead
  2. Google Ads, where you pay per click
  3. The map pack, the local results powered by Google Business Profiles
  4. Organic results, powered by your website

The map pack and organic results are where SEO lives. They cost nothing per click, and they keep working when you pause your ad budget.

Your Google Business Profile does most of the heavy lifting

For most contractors, the profile drives more calls than the website does. Google says local results are based on three things: relevance, distance and prominence (Google's explanation). It also says plainly that "there's no way to request or pay for a better local ranking."

Set it up as a service-area business

If you go to customers and don't serve them at your address, Google's service-area guidelines say to remove the address from your profile. You can list up to 20 service areas, and the overall area shouldn't extend more than about two hours of driving from where you're based. If you also have a showroom customers visit, you can show the address and service areas together.

Get the details right

  • Name. Your real business name only. Adding "Best Roofer Chicago" to the name breaks Google's rules and can get a profile suspended. Here's what to do if that happens.
  • Primary category. The one that best describes your core trade, such as "Roofing contractor" or "Electrician." Add secondary categories only for things you really do.
  • Services. List every service you offer, in the words customers use.
  • Hours and phone. A number that's answered. Missed calls are missed jobs.
  • Photos. Real jobs, your crew and your trucks, added regularly.

SEO for contractors starts with one page per service

A common gap on contractor websites is a single "Services" page with a bulleted list. A page that mentions twelve services in passing ranks for none of them.

Give each core service its own page: roof replacement, roof repair, gutters and storm damage are four different searches with four different customers. A strong service page includes:

  • What the service is and when someone needs it, in plain language
  • The areas you serve for that service
  • Your process, from estimate to cleanup
  • Honest price ranges or what drives the price
  • Photos from real jobs of that type
  • Reviews that mention that service
  • Licensing, insurance and warranty details
  • FAQs you actually get on the phone
  • A clear call to action: call, text or request an estimate

If you're a multi-trade company, the same rule applies per trade. A plumbing and HVAC company needs separate pages for water heaters, drain cleaning, AC repair and furnace installation, not one page each for "plumbing" and "HVAC."

Location pages only where you have real work

It's tempting to make a page for every town within 50 miles. Google's spam policies describe that pattern as doorway abuse, including "pages targeted at specific regions or cities that funnel users to one page."

Build a location page only when you have something real to say about that place: jobs you've done there, local permit or code notes, neighborhoods you serve and reviews from customers there. Our guide to local landing pages covers how to decide which towns earn a page.

Photos of real jobs beat stock photos every time

Homeowners can spot a stock photo instantly. Real photos do three jobs at once: they prove you do the work, they show quality, and they give Google more context about what you do and where.

  • Take before, during and after shots on every job. Make it part of the checklist
  • Use descriptive file names and alt text, like "asphalt shingle roof replacement in Wheaton," not "IMG_4471"
  • Build project pages for your best jobs, with the problem, the solution and the result
  • Respect privacy. Leave out house numbers, license plates and anything personal unless the customer agrees

Reviews: ask every customer, the right way

Google says that "more reviews and positive ratings can help your business's local ranking." Reviews also do the selling. They're often the last thing a homeowner reads before calling.

A system that works:

  1. Ask in person when the job is done and the customer is happy.
  2. Follow up the same day with a text that has a direct link to your review form.
  3. Reply to every review, good and bad, briefly and professionally.
  4. Mention the service and town in your reply when it fits naturally.

Two rules matter here. Google's fake engagement policy prohibits offering incentives for reviews and selectively asking only happy customers. Separately, the FTC's rule on fake reviews bans fake reviews and paying for reviews that express a particular sentiment. Ask everyone, and give nothing in return. We dig into this more in do Google reviews help SEO.

Your website: fast, clear and built to get calls

Your site's job is to turn a search into a phone call or an estimate request. That means:

  • A tap-to-call phone number at the top of every page on mobile
  • Your service area stated clearly, near the top
  • License numbers, insurance and warranties where people can see them
  • A short estimate form, with optional photo upload so customers can show you the problem
  • Fast pages. Compress photos, skip heavy sliders and test on a real phone
  • The same name, address and phone number as your Google Business Profile

Local Services Ads vs SEO: which comes first?

They solve different problems, so the answer is usually "both, in the right proportion."

Local Services AdsGoogle AdsSEO (map pack + organic)
How you payPer leadPer clickTime and effort, no per-click cost
SpeedFast once verifiedFastMonths to build
When you stop payingLeads stopClicks stopRankings tend to persist
Best forSteady jobs this monthSpecific high-value jobsA lead source you own

With Local Services Ads, you pay for leads related to your business, after passing Google's screening. Note one recent change: Google replaced its older badges, including Google Guaranteed, with a single Google Verified badge and discontinued the money-back guarantee that came with Google Guaranteed.

My take: if the phone needs to ring this month, start Local Services Ads while you build SEO. As the map pack and organic leads grow, you can trim ad spend to the jobs that are worth paying for.

Tracking what SEO is worth

You can't manage what you don't count. At minimum:

  • Watch calls, website clicks and direction requests in your Business Profile performance data
  • Track estimate form submissions on the site
  • Ask every new customer how they found you, and write it down
  • Use Google Search Console to see which searches bring people to your service pages

Rankings are interesting, but booked jobs are the number that matters.

What I'd do in the first 90 days

  1. Month one. Fix the Business Profile: service areas, categories, services, photos and a review routine with the whole crew.
  2. Month two. Build or rewrite pages for your three most profitable services, with real photos and FAQs.
  3. Month three. Add project pages from recent jobs, build location pages only where you have real work, and set up tracking so you can see which pages bring calls.

Then repeat: more services, more projects, more reviews. The work compounds, because every page, photo and review keeps doing its job after the month it was added.

Where to start

Search for your main service plus your town on your phone, the way a customer would. Note who shows up in the map pack and why: reviews, photos, categories, how close they are. That's your competitive picture in five minutes.

If you'd like help building this, our local SEO service works with contractors around Chicago and Denver.

Frequently asked questions

How long does SEO take for contractors?

Fixing an incomplete or inaccurate Business Profile can pay off relatively quickly. Ranking new service pages in competitive markets usually takes months. Our post on how long SEO takes covers realistic timelines.

Can I rank in towns where I don't have an office?

Distance is one of Google's three local ranking factors, so the map pack favors businesses close to the searcher. Your website can still rank organically in towns you serve, especially with location pages backed by real work there.

Should I create a separate profile for each trade I offer?

No. Google allows one profile per business location, and duplicates break its guidelines. Use categories and the services list to cover each trade.

Ready when you are

Let’s make your marketing compound.

Tell us what you’re building. We reply the same day with a plan, not a pitch.

Same-day replyChicago × Denver