Guide

Roofing SEO: how a roofing company gets more jobs from Google

Google sends you two kinds of customer: the one with water coming through the ceiling and the one collecting three quotes. They search differently, and your site has to work for both.

A storefront beside a map pin and a row of review stars

Who's searching, and what they need to see

SEO (search engine optimization) just means showing up in Google's results without paying for each click. For a roofer, the part that matters most is the map results, the listings with a map above the regular web results, plus a handful of pages on your own site.

The mistake is treating every roofing search as the same lead. Someone with a stain spreading across the bedroom ceiling isn't comparing warranties. Someone whose 22-year-old roof is starting to curl might read for three weeks before calling anyone. These are examples of what each person types, not measured volumes:

The jobWhat they typeWhat they want in ten secondsWhere they should land
Active leakroof leak repair near me, emergency roofer plus a townA phone number and whether you can come todayA leak repair page with the number at the top
After a stormhail damage roof repair plus a town, roof inspection after stormProof you're local and licensed, and what happens nextA storm damage page
Planned replacementroof replacement cost, metal roof vs shinglesPrice ranges, materials, warranties, jobs you've doneA replacement page and a plain cost guide
Commercialflat roof repair plus a town, TPO roofing contractorCommercial experience and who can vouch for youA commercial page, kept apart from the residential ones

If all of those land on one "Services" page, that page has to be everything to everyone. A homeowner in a panic won't scroll for it, and Google has little reason to think it's the best answer to any one of those searches.

Your Google Business Profile comes first

Your Business Profile is the free listing that appears in Google Maps and in the map results. Google says complete and accurate information makes you more likely to show up, and that's the cheapest work on this page. Roofers tend to trip on these points:

  • Your name. Use the name on the truck. Google says adding unnecessary information to your business name isn't permitted and can get the profile suspended. "Best Roof Repair Dallas" tacked onto your name is the classic version.
  • Your category. Pick the most specific one that describes the core business, usually Roofing contractor. Google asks for as few categories as possible and says not to use them as keywords.
  • Your service area. You can list up to 20 areas, they can't be set as a radius, and the whole thing shouldn't reach beyond about two hours' drive. If customers don't come to your yard, take the address off your profile.
  • Offices in storm towns. This one catches roofers who follow the weather. Virtual offices aren't eligible and neither are remote mailboxes, and a service-area business gets one profile for the whole area it serves.
  • Photos. Google lists photos and videos among its tips for local ranking. Use your own job photos: the crew, the tear-off, the finished ridge line. A stock photo of a smiling man in a clean hard hat tells nobody anything.

The pages worth building

Start with one page per job you actually want more of: leak repair, full replacement, storm damage, each roofing material you install, gutters if you do them, commercial if you do it. If you've got no page for your best-paying work, that's the first gap to close. Our new landing pages feature exists for exactly this kind of gap, but you can write them yourself in an evening each.

Then come the town pages, and here's where roofing sites get into trouble. Copying one page 40 times and swapping the town name is what Google's spam policies call doorway abuse: pages built for specific cities that funnel people to one place. Nobody learns anything from them either.

A town page earns its place when it has something only a roofer working there could say. Say you run a made-up company in Wichita and you've done a dozen jobs in a nearby suburb. That page could cover the HOA's shingle color rules, what the permit office asks for, the age of the subdivisions and what those original roofs are doing now, and show three of those jobs with photos. If you can't fill a page like that for a town yet, leave it out and list the town in your service area instead.

Finally, write the cost page. People search for roof replacement cost long before they call, and many roofers refuse to answer because every roof is different. Every roof is different. Tell them what moves the price (size, pitch, tear-off layers, material, decking repairs) and give ranges from your own recent jobs. Whoever explains it clearly gets the first call.

Get ready for storm traffic while it's quiet

New pages rarely start pulling their weight the week you publish them, so a hail page written the morning after the hail is late. Write it in the off-season. Cover what hail and wind damage look like, what a homeowner should photograph, how to get a temporary repair, and how an inspection with you works.

When a storm does hit, check before you claim. NOAA's Storm Prediction Center publishes daily storm reports with hail size, county and state. If you say hail hit a town on a certain date, that's the kind of thing to confirm first, and a short post on your Business Profile about what you're seeing locally is fair game.

Homeowners are warned about you before they meet you. The FTC tells people after severe weather to hire only licensed, insured contractors, get a written contract, avoid paying cash and pay in full only after the work is done. So put the answers on the page: your license number, an offer to show proof of insurance, your contract process and your payment schedule. Anyone who's only in town for one storm will struggle to match that, which makes it one of the cheapest ways to look different.

Be careful what you say about insurance

This is the part most roofing SEO guides skip, and it's the part that can cost you more than a bad ranking. Your state's rules decide what you can say about claims, so here's one state's version as an example of how specific they get.

The Texas Department of Insurance says a roofer can't act as a public adjuster on a job they're also doing, and can't advertise that they would. Its examples of improper wording include offering to negotiate settlements or file the claim, and promising to recover "every dime you are owed". Texas also bars offering to waive, rebate or absorb a deductible, and its rules count a website as advertising.

Those are exactly the lines that sound great on a storm page. Explain how you document damage and work with whatever the homeowner's insurer decides, and leave the promises out. This isn't legal advice: rules differ by state, so ask your state's insurance department or a lawyer before you publish anything about claims.

Reviews, when customers only buy once in decades

Google says more reviews and positive ratings can help your local ranking. The awkward part for roofers is that nobody comes back next month, so you've got one shot at each customer and it's right after the final walk-through and cleanup.

Make asking a step in closing out the job, for every customer. Google gives you a review link and a QR code you can put in the thank-you email or on the invoice. What you can't do is offer a discount for a review, ask only the happy customers, or tell people what to write. That last one rules out asking them to mention "hail damage" or your town, however often you see it suggested.

What to measure, and when to do something else

Judge this by booked inspections and signed jobs. Rankings are a means to that. Your Business Profile's performance report shows calls, website clicks and the searches people used to find you. Add one question to your intake: how did you hear about us? It's crude and it works.

SEO is the wrong tool for a roofer who needs jobs in the next two weeks. With Google's Local Services Ads, Google says you pay for customers rather than clicks, and roofing has its own screening requirements. Plenty of companies run those while the slower work builds up, and a regular SEO tool or two can help you keep an eye on it.

Sojig, our product, does the regular part of this for owners who don't want another job. It tracks where you appear, checks Google Maps from each city you serve, and drafts review replies, profile posts and profile fixes each week for you to approve. It's the wrong choice if you want a street-by-street map of your rankings: BrightLocal's Local Search Grid and Local Falcon are built for that, and Sojig checks by city. It won't run your ads or answer your phone either. See the industries we cover for how it adapts.

FAQ

Questions, answered.

How long does roofing SEO take to work?

There's no honest fixed answer, and nobody can promise you a position. Fixing a wrong category or hours can matter quickly. New pages and reviews build over months, and how long depends on how many strong roofers work your area.

Should I make a page for every town I serve?

Only for towns where you can say something specific: jobs you've done, local rules, the housing you see there. Near-copies with the town name swapped are what Google calls doorway abuse. List the other towns in your Business Profile's service area.

Can I offer a free inspection in exchange for a review?

No. Google prohibits incentives for reviews, including free goods or services. Offer the free inspection to everyone if you like, and ask for a review separately once the job is done.

Can I show up in a town far from my yard?

Distance is one of Google's three main local factors, so map results favor businesses close to the searcher. You can still rank in regular web results for that town with a page that has real local substance.

Do I need to show my license number on my website?

Some states require it in all advertising, including websites, and California is one. Even where it's not required, homeowners are told to check it, so make it easy to find.

Stop doing SEO.
Start approving it.

Your first week of work is ready shortly after you connect.

7 days free, then from $99/month · Cancel any time