Skip to content

Growth marketing · SEO · Roofing

Roofing SEO

Roofing SEO plan: service and city pages, storm pages that age well, Google Business Profile and reviews, and tracking which pages turn into sold roofs.

By TradesWork Field Notes team · Reviewed by TradesWork product team · Updated October 15, 2026 · 12 min read

Roofing SEO goes wrong in one predictable way: it gets judged too early, on the wrong number. A roof replacement can take weeks to go from the first search to a signed contract. Inspection, estimate, insurance back-and-forth, a second visit with the spouse. If you judge your pages at the end of the month they brought in the inspection, they look like failures. If you judge them on traffic, they look like successes whether or not a single roof sold.

This guide covers what to build (service pages, city pages, storm pages, your Business Profile) and spends real time on the part most roofing SEO advice skips: keeping the search source on the lead through the whole sales cycle, so you can see which pages sell roofs. It sits under the SEO hub, which explains the measurement chain all the trade guides share.

What roofing searchers are actually asking

Roofing searches fall into four groups, and they want different things from a page.

Search groupTypical phrasingWhat they need to seeThe call to action that fits
Repairroof leak repair, missing shingles, flashing repairThat you do small jobs, how fast you come outCall now, or book a repair visit
Replacementroof replacement, new roof cost, metal roof installerMaterials you install, what drives price, warranties, financing if offeredBook a free inspection and estimate
Storm and insurancehail damage roof, wind damage inspection, roof insurance claimWhat to check, what an inspection covers, how you work with the claimBook an inspection; photos sent after
Commercialflat roof repair, TPO, commercial roofing contractorSystems you work on, maintenance programs, referencesRequest a site visit

Almost every one of these is local. The searcher wants a roofer who serves their town, so your service area and your Business Profile carry as much weight as your pages.

Pages that rank and convert

Service pages. One page per service you want to sell, written for that searcher. A replacement page that doubles as a repair page serves neither. Say what the job involves, what changes the price (pitch, layers to tear off, decking, material), and how the inspection works. Real photos of your own jobs beat stock images every time.

Material pages. If you install metal, tile or specific shingle lines, a page for each is worth having. People researching a material are often further along than people searching "roofer near me."

City pages, done right. Google's spam policies list "multiple domain names or pages targeted at specific regions or cities that funnel users to one page" as doorway abuse.1 Its helpful content guidance asks whether a page offers "original information" and "first-hand expertise."2 For a roofer, that's easy to pass if you use your own records. Here's a working test.

The three-fact test for a roofing city page

  • At least three facts true only of this area: roofs you've done there, the typical roof age or style in its neighborhoods, the permit office and inspection steps.
  • Photos from jobs in this area, with the customer's permission.
  • Reviews from customers in this area, quoted with permission, not invented.
  • A clear statement of whether you serve the whole city or only parts of it.
  • If you can't meet the first item, merge the city into a regional page instead.

Storm pages that don't go stale. The panic page ("Hail hit! Call now!") is useless a month later and reads like storm chasing. Build one standing page per region instead, written as a dated log. NOAA's Storm Prediction Center publishes daily tornado, hail and wind reports with county and location, marked preliminary.3 Use them to date each entry, add what you saw on inspections, and keep the advice (what to check from the ground, when to call, what an inspection includes) at the top. The page gets better with every storm instead of expiring.

Google Business Profile for roofers

For "roofer near me" searches, your profile often matters more than any page. Three rules from Google's own guidelines trip roofers up most.

  • Service area, not a fake office. If customers don't come to your address, Google says to hide it. You can list up to 20 service areas by city or postal code, and the overall area shouldn't extend beyond about two hours' driving from your base.45
  • Your real name. Adding extra words to the business name isn't permitted and can lead to suspension.4
  • Categories. Google asks you to use as few categories as possible and to pick the most specific ones.4

Photos from real jobs, current hours and a steady flow of reviews do the rest.

Reviews from finished roofs

The right moment to ask a roofing customer is after the final walkthrough, when the yard is clean and the magnet sweep is done, not on tear-off day. Send the request the same day, with a photo of the finished roof if you have one. The guide to getting more Google reviews covers timing and wording; the roofing-specific point is simply to tie the request to job completion, not to the invoice date, which may come weeks later after insurance pays.

Technical basics in one checklist

You don't need to become a developer. You need a site that loads fast on a phone and tells Google plainly who you are.

Roofing site technical checklist

  • Core Web Vitals in the Good range for real users: largest content in 2.5 seconds or less, responses to taps in 200 ms or less, layout shift 0.1 or less (Search Console shows this).
  • Tap-to-call phone number at the top of every page on mobile.
  • LocalBusiness structured data using the most specific type, RoofingContractor, with your name, address (or service area), phone and URL.
  • Every service and city page indexed: check the Page indexing report in Search Console.
  • One page per URL: no duplicate city pages reachable at two addresses.
  • Photos compressed before upload; galleries are the usual reason roofing sites are slow.

Those thresholds come from Google's Core Web Vitals report.6 Google's LocalBusiness guidance asks for the most specific subtype, and schema.org lists RoofingContractor under HomeAndConstructionBusiness.78 One change worth knowing: Google stopped showing FAQ rich results in Search in May 2026, so FAQ markup no longer buys extra space on the results page.9

Tracking SEO to sold roofs

This is where roofing differs from every other trade. A plumbing call books today. A roofing lead might sell in ten weeks. So the source has to survive a long trip.

  1. 1

    Read page performance in Search Console

    Performance report, Pages tab: clicks and impressions for each page. Group them: replacement pages, repair pages, city pages, storm pages. That's the top of the funnel.

  2. 2

    Make the form and the phone keep the source

    Give organic visitors their own tracking number, or one per page group if volume allows. Make sure your web form passes its source onto the lead. Most form tools can add the page address in a hidden field.

  3. 3

    Carry the source onto the inspection

    When the office books the inspection, the job keeps the lead's campaign. No re-asking the homeowner how they heard about you three weeks later.

  4. 4

    Keep it through estimate and sale

    The estimate and the sold job inherit the same source. If a second visit or an insurance supplement creates a new job, link it to the first so the source isn't lost.

  5. 5

    Read sold revenue after the cycle closes

    Each month, look at inspections booked 90 to 120 days ago, by page group: how many sold, for how much. That's the number to judge pages on.

Sold revenue by landing page group (cohort view)

sold revenue from inspections booked in month M, by page group, read in month M + 4

Here's why the cohort view matters, with example numbers. Say a roofer's replacement pages brought in 20 inspection requests in April.

Read inInspections from AprilSold so farSold revenue so farWhat it looks like
End of April201$14,000Pages are failing
End of June205$71,000Pages are fine
End of August207$98,000Pages are a top channel

Same 20 inspections, three different verdicts. These numbers are an example to show the shape, not a benchmark. Your own lag is in your records: the median days from lead to sold across your last year of replacements. Use that, not the 120 days above, once you have it.

Hiring a roofing SEO company: 8 questions

Most people searching "roofing SEO" are sizing up agencies. That's reasonable. These are the questions that separate reporting you can use from reporting that flatters.

  1. Who owns the website, the domain and the content if we part ways? Get it in writing.
  2. Which pages will you build in the first 90 days, and why those? You want named services and areas, not a page count.
  3. How will you handle city pages? If the answer is one template for 50 towns, walk away. See the doorway policy above.
  4. What will you do with storm events? A standing, dated page per region, or a stream of throwaway pages?
  5. Will you report by page group and ZIP? Traffic totals and keyword counts aren't enough.
  6. Can you join your reports to our sold jobs? They'll need our tracking numbers and form sources to do it.
  7. What happens to our Business Profile? Who has access, and will they ever change the business name or address?
  8. What's the reporting window for sold work? Anyone who judges roofing pages at 30 days doesn't understand roofing.

Tools like TradesForce now show local rank heatmaps and AI search visibility; whichever you use, ask for results by page and ZIP that you can check against your sold jobs.

If you'd rather put money into bought leads for a while, the roofing lead generation guide covers judging those on the same sold-revenue basis. And if you're comparing roofing with other trades, the HVAC SEO guide and SEO for contractors show how the same chain works when jobs book the same day.

How to measure it from your jobs

Metric

Inspection rate from organic search

How many organic leads become a booked inspection. Low numbers point at the office or the offer, not the pages.

(inspections booked ÷ organic leads) × 100

Where the numbers come from: Leads and jobs carrying the organic campaign, from your tracking numbers and form source.

Metric

Organic close rate, cohort

Of inspections booked in a month, how many sold within your sales-cycle window.

(sold jobs from month M inspections ÷ inspections booked in month M) × 100, read after the window

Where the numbers come from: Inspection jobs and sold estimates linked by the same campaign.

Metric

Sold revenue per 100 organic clicks

Lets you compare page groups of very different sizes on one scale.

(sold revenue from the page group's cohort ÷ Search Console clicks to the page group) × 100

Where the numbers come from: Clicks from Search Console's Pages tab; sold revenue from your jobs.

All three depend on clean lead source attribution: one source per lead, set when the lead arrives, never edited later from memory. The Search Console guide for contractors walks through reading the Pages tab and grouping pages. TradesWork doesn't connect to Search Console: you read page performance there and match it to jobs in TradesWork. Want call sources on the job automatically? See how tracking numbers work in TradesWork Phones.

Free download · ExcelField Service KPI ScorecardTrack the 12 numbers that run a service business, week by week, with formulas already built in.

Footnotes

  1. Google Search Central, "Spam policies for Google web search," doorway abuse. https://developers.google.com/search/docs/essentials/spam-policies ↩ ↩2

  2. Google Search Central, "Creating helpful, reliable, people-first content," self-assessment questions. https://developers.google.com/search/docs/fundamentals/creating-helpful-content ↩

  3. NOAA Storm Prediction Center, storm reports: daily tornado, hail and wind reports with county and location; "All Reports Are Considered Preliminary." https://www.spc.noaa.gov/climo/reports/ ↩

  4. Google Business Profile Help, "Guidelines for representing your business on Google": service-area businesses, business names, categories. https://support.google.com/business/answer/3038177 ↩ ↩2 ↩3

  5. Google Business Profile Help, "Manage your service area": up to 20 service areas; about 2 hours of driving time. https://support.google.com/business/answer/9157481 ↩

  6. Search Console Help, "Core Web Vitals report": Good thresholds for LCP, INP and CLS, from real-user data. https://support.google.com/webmasters/answer/9205520 ↩

  7. Google Search Central, "Local business (LocalBusiness) structured data": use the most specific LocalBusiness sub-type possible. https://developers.google.com/search/docs/appearance/structured-data/local-business ↩

  8. schema.org, RoofingContractor (Thing > Organization > LocalBusiness > HomeAndConstructionBusiness > RoofingContractor). https://schema.org/RoofingContractor ↩

  9. Google Search Central, Search updates changelog: FAQ rich results no longer appear in Google Search starting May 7, 2026. https://developers.google.com/search/updates ↩

Free download

Home Service Business Plan Template

A fill-in-the-blanks business plan for HVAC, plumbing, electrical and other home service companies.

Get it free
  • Fill-in business plan in Word
  • Services, pricing and market sections with prompts
  • Marketing and staffing plan
  • Startup costs and 3-year financial outline
  • Works for any trade

Frequently asked questions

New pages usually take months to earn steady clicks, and Google publishes no timeline. Roofing adds a second delay: the sales cycle. An inspection booked from a page in spring may sell in summer. Judge pages on impressions and indexing in the first months, and on sold roofs only after a full sales cycle, ideally a whole season.