Skip to main content
<- back to archive
contractorslead generationwebsitesconversionlocal seo

Rob Behbahani9 min read

Your contractor website isn't getting leads because it does at least one of five things wrong: it doesn't say where you work or what exactly you do, it loads slowly on a phone, it asks visitors to fill out a form they have no reason to trust, it shows no proof you've done the work before, or it doesn't show up when someone in your town searches for you. Usually it's three of the five at once.

The fix is not a redesign. It's a short list of specific changes, most of which fit in a month, and the ones that matter most fit in a week. I've built local service sites with booking and lead-generation sites, and the pattern holds every time: the sites that convert are boring in the right ways. Clear service, clear area, clear phone number, clear proof.

What are the five reasons contractor sites fail?

Here's the list I run through when a contractor sends me a site that "gets traffic but no calls."

  1. No clear service area or service pages. One generic "Services" page instead of one page per service per area.
  2. Slow on mobile. Giant hero images, five tracking scripts, a page builder theme, and a three-second wait before anything is clickable.
  3. A call to action that asks for too much. A seven-field contact form and no phone number above the fold.
  4. Missing proof. No job photos, no reviews on the page, no license number.
  5. Not showing up locally. No Google Business Profile tied to the site, no city pages, no structured data, nothing an AI answer engine could quote.

If you only fix one, fix the call to action. If you fix two, add the proof. The rest is about getting more people to the page.

Why does a generic services page kill leads?

A homeowner searching "roof repair in Mesa" lands on a page titled "Services" that lists roofing, siding, gutters and windows for "the greater Phoenix area." They don't see Mesa. They don't see repair. They bounce back to the results and call the roofer whose page says exactly what they typed.

Google and the person both want to see the words they searched for. A single page can't rank for, or reassure, twenty combinations of service and city.

The fix is one page per service, and for your top two or three services, one page per city you want work in. A roofer with five target suburbs ends up with roughly 10 to 15 pages. Each one needs:

  • A heading that matches the query: "Roof Repair in Mesa, AZ"
  • Two or three plain-language paragraphs about that service in that area
  • Photos from jobs in or near that city
  • Your phone number and a one-step form
  • Response time and license number

Four to six hundred words of real information beat 1,500 words of filler. Write them the way you'd explain the job in a customer's driveway. My full service page guide has the detail.

How slow is too slow on mobile?

Rule of thumb: if the page isn't usable within about three seconds on a phone with average signal, you're losing a real share of visitors before they read a word. Most contractor traffic is mobile, because people search for a plumber while standing next to the leak.

The usual culprits:

| Problem | What it costs | Fix | | --- | --- | --- | | Uncompressed hero photos (3 to 8 MB each) | Seconds of blank screen | Resize to display width, export as WebP, aim under 200 KB | | Page builder theme with 40 plugins | Slow first paint, layout jumps | Strip to what the page needs, or rebuild lean | | Autoplay background video | Blocks the phone number from loading | Replace with a still photo | | Five analytics and chat scripts | Delayed interactivity | One analytics tag, chat loads after the page is interactive | | Fonts from three services | Flash of invisible text | One family, two weights, self-hosted |

Run your site through Google's PageSpeed Insights on the mobile tab. You want Largest Contentful Paint under 2.5 seconds. If you're at 6 or 7, nothing else on this list matters until that's fixed. The sites I build are static pages with no page builder, which is most of why they load fast.

Why doesn't anyone fill out the contact form?

Because you're asking a stranger for their name, email, phone, address, project type, budget and a description before you've given them a reason to trust you. And the form is at the bottom of the page.

A homeowner's decision is short: do these people do what I need, in my area, and can I reach them right now? If yes, they want to call or text. The form is a fallback.

What works:

  1. Phone number in the header, tap-to-call, on every page. Not an icon. The digits.
  2. A three-field form: name, phone, what do you need. Everything else gets collected on the call.
  3. A text option. Many homeowners would rather text a photo of the problem than describe it.
  4. A stated response time. "We call back within 2 business hours" beats "Contact us today."
  5. The same call to action repeated after the proof section and at the end of every service page.

And make sure the form actually delivers somewhere someone reads. I've seen sites that were emailing a dead inbox for months. A booking flow that texts you and logs the lead is a small build, the kind I ship in a few days.

What proof does a contractor site need?

People hire contractors on trust, and your site has about 30 seconds to establish it. Stock photos of a smiling crew do the opposite. What reads as proof:

  • Job photos, before and after, captioned. "Full tear-off and re-roof, Gilbert, 2 days." Phone photos are fine.
  • Reviews on the page itself, pulled from Google, with names and dates. Three to five on the homepage, two or three per service page.
  • License, bonding and insurance in the footer and on the about page. Homeowners filter on this and almost no contractor site answers it.
  • Who's behind it. A photo of you, the owner, with a short paragraph. Not a logo.

On the service pages above, put a photo, a review and the call to action right under the heading, before the longer explanation.

Why don't you show up in local search or AI answers?

Two separate problems with overlapping fixes.

Local search. For most contractors, the Google Business Profile does more lead generation than the website on "near me" searches. It needs to be claimed, categorized correctly, linked to your site, filled with real photos, and fed reviews (full checklist). Your site needs the exact same business name, address and phone number, plus a page for each city you serve.

AI answers. More people now ask ChatGPT, Google's AI results or Perplexity "who's a good roofer in Mesa" instead of scrolling ten links. Those systems pull from pages that answer a question directly in the first paragraph, use headings that match how people phrase things, and include LocalBusiness and Service schema so a machine knows what you do and where. Most contractor sites have none of that.

The specific moves are in the plan below.

What does a 30-day fix plan look like?

Week one is where conversion changes first. The rest builds on it.

Week 1: stop the bleeding

  • Tap-to-call number in the header on every page
  • Cut the form to three fields and test that it delivers
  • Add a stated callback time
  • Compress every image over 300 KB
  • Remove any plugin, script or video you can't name a reason for

Week 2: add proof

  • 10 to 20 real job photos with captions
  • Five Google reviews on the homepage
  • License, bonding and insurance in the footer
  • Short about section with a photo of the owner

Week 3: build the pages that rank

  • One page per core service
  • One page per top city for your top two services
  • First two paragraphs answer the query directly
  • LocalBusiness and Service schema

Week 4: get found

  • Complete the Google Business Profile and link it both ways
  • Fix name, address and phone consistency everywhere
  • Automate a review request after every job
  • FAQ sections on the homepage and top service pages

Do all four weeks and you beat most of the competition, because most of them haven't done week one.

One exception: if you pay a monthly fee to a company that owns your site, rebuild instead. You can't fix what you don't own. A contractor site with booking, service pages, schema and a lead tracker is a fixed-price build for me, typically in the lower part of the $3K to $25K range. You own the code, there's no subscription, and the first version usually ships within days.

FAQ

How many leads should a contractor website get?

No universal number, but a rule of thumb: a few hundred visitors a month and fewer than two or three inquiries means the site is the problem, not the traffic. A site doing its job converts in the low single digits as a percentage of visitors. If you're well under 1 percent, start with the call to action and proof fixes.

Do I need a separate page for every city I work in?

For your top two or three services and your top four or five cities, yes. Beyond that, returns drop fast and thin pages can hurt more than help. Start with the combinations that bring your most profitable jobs and expand once those pages rank.

Is a Google Business Profile more important than my website?

For "near me" searches, in my experience it generates more calls than most contractor websites do. But people click through before calling. Treat them as one system: the profile gets you found, the site closes the trust gap.

How long until local SEO changes show results?

Call-to-action and proof changes affect conversion immediately. New service and city pages typically take a few weeks to a few months to rank, depending on competition. Profile improvements and new reviews move faster. Plan on 60 to 90 days before judging the search side.

If you'd rather hand the whole thing off, describe your business in the configurator and I'll send back a fixed quote, usually the same business day. Or book a short call and we'll go through your current site together.

// end of transmission

Want something like this built for your business?