SEO Playbook for Roofers
Roofing SEO built on real search data (roofers near me: 201K a month): repair vs replacement pages, storm and insurance content, project galleries, Google Business Profile and schema.
Why SEO Matters for Roofers
A roof is a big, infrequent purchase, and most people have no idea who to call. According to Google Ads keyword data, “roofers near me” and “roofing companies near me” each get about 201,000 searches a month in the United States, “roof repair near me” about 110,000, and “replace roof” about 49,500. Clicks on these terms cost around $17 to $33 in the paid data, which is why so many roofing companies buy leads from platforms instead.
What makes roofing different from other home trades:
- The job is large and the decision is slow. A replacement is often a five-figure decision. Homeowners usually get several quotes and read a lot before they call.
- Storms and insurance drive spikes. After hail or wind, demand surges, many storm-chaser contractors arrive, and locals look for someone who will still be around in five years.
- Trust is the real search. Roofing is full of stories about door-to-door contractors and unfinished work, so proof of license, insurance and a real local address counts for a lot.
SEO is a fit for the research phase: the “how much does a roof cost,” “repair or replace,” and “will my insurance cover this” questions. It will not guarantee a steady supply of jobs, and nothing in this playbook promises a number. It is a way to be the local contractor who explains things clearly before the customer ever calls.
Top Keywords to Target
These figures come from Google Ads keyword data. Volumes are monthly US searches and CPCs are what advertisers bid, not what you will pay. Treat them as relative demand.
Head terms
| Keyword | Monthly Volume | CPC | Difficulty |
|---|---|---|---|
| roofers near me | 201,000 | $19.78 | 46 |
| roofing companies near me | 201,000 | $28.12 | 38 |
| roof repair near me | 110,000 | $32.86 | 52 |
| roof installers near me | 60,500 | $17.76 | 51 |
| roofing replacement near me | 49,500 | $27.15 | 45 |
Service and material terms
| Keyword | Monthly Volume | CPC | Difficulty |
|---|---|---|---|
| leak in roof repair | 40,500 | $32.64 | 3 |
| metal roof installation | 27,100 | $16.42 | 11 |
| roof fixers near me | 49,500 | $27.15 | 16 |
| metal roofing near me | 18,100 | $18.76 | 43 |
| commercial roofing | 27,100 | $26.02 | 79 |
Reading the data honestly
- Several of these rows are the same search in different words (“roofing co,” “roofing firms,” “roofing business” all show 201,000). One strong page covers the cluster; you do not need five pages.
- “Roofing subcontractors near me” (90,500) and “roofer supply near me” (33,100) are mostly searches by contractors and DIYers looking for labor or materials. If you do not sell materials or hire subs through the site, skip them.
- “Rooftop roofing company” (110,000, difficulty 75) probably refers to a brand or to rooftop terms rather than a homeowner search. Do not target it.
- “Commercial roofing” is a very different buyer from a homeowner. Give it its own page if you do that work, and do not mix the two.
We do not have reliable volumes for storm-specific searches such as “hail damage roof repair” or “storm damage roof inspection” because they spike by weather and region. Check Search Console instead of trusting anyone’s guess.
Local SEO Strategy
Google Business Profile
- Primary category: “Roofing contractor.” Add secondary categories (such as “Metal roofing contractor” or “Roof inspection service”) only for services you really provide.
- Service area: set the real cities you work in, and hide the address if customers do not visit your office.
- Services and products: list repair, replacement, inspection, gutter work, skylights, and each material you install (asphalt shingle, metal, tile, flat/commercial) with a short plain description.
- Photos: this is the biggest lever. Post before and after photos of finished roofs, crews in safety gear, close-ups of flashing and valley work, and drone shots if you take them. Date and caption them with the roof type and city.
- License and insurance: state them in the profile description and on your site if your jurisdiction expects it. Check what your state’s contractor board requires in advertising, since many require a license number in ads.
- Do not put keywords or city names in the business name.
- Posts: seasonal tips and a note on how you handle storm inspections.
Service plus city pages
Roofing is a local business, but “Roofing in [Town]” pages with only the town name changed will not help you. Make each one distinct:
- Common roof types in that area, and what typically fails (flat roofs, older asphalt, clay tile in hot climates, snow load in cold ones), only if you have actually seen it
- Local building code or HOA considerations that you really know about
- Projects completed in the area (with permission, no addresses)
- Reviews from that area
- Storm history that you can point to from a public source, such as a local weather service report, rather than a number you invent
Build pages for towns you serve. Skip towns you would refuse to drive to.
Reviews
- Ask after the final walkthrough or cleanup, when the customer sees the roof, and send a text link.
- Ask for reviews that name the roof type and the neighborhood.
- Reply to every review. For complaints, acknowledge and take it offline.
- Never offer discounts, gifts or referral cash for reviews, and do not gate them.
Content Strategy
Service pages
- Roof repair: leaks, flashing, missing shingles, storm damage. Explain how you diagnose, what is a patch and what is a sign the roof is at end of life.
- Roof replacement: process from inspection to final cleanup, how long it takes, how weather affects the schedule, permits, and how you protect landscaping and attic spaces.
- Roof inspections: what you look at, what a report includes and whether it is free.
- Material pages: asphalt shingles, metal, tile, slate, flat roofing systems. Compare fairly, including the downsides of each, and cite manufacturer warranty documents for lifespan claims instead of making up numbers.
- Gutters, skylights, ventilation: related work that appears in the same quote.
- Commercial roofing: separate page and separate tone.
For every page, give an easy way to request an estimate and be honest about what drives the price (roof size and pitch, tear-off layers, decking repairs, materials, access).
Insurance and storm content
This is where roofing content can really help a customer and set you apart. Cover in plain language:
- What to do after hail or wind: photograph damage, stay off the roof, call your insurer and get a licensed inspection
- How an insurance claim for a roof generally works, with the reminder that policies and rules vary by state and by insurer, so point readers to their policy and state insurance regulator
- The difference between a repair and a full replacement claim
- Warning signs of storm-chaser contractors, framed as a helpful checklist (ask for a local address, license and proof of insurance, never sign anything before you have read it)
Some states restrict how contractors talk about or handle insurance claims, for example around deductibles or acting on behalf of the homeowner. Check your state’s rules before publishing and do not advertise that you will “waive” or “cover” a deductible.
Seasonality
- Before storm season (spring hail, summer wind, fall hurricane): inspection and preparation articles, published well ahead of the season.
- After the first major storm: update your storm page with practical steps, not pressure.
- Late fall and early winter: ice dams, snow load and leaks. In cold areas, a note on what can and cannot be done in freezing weather.
- Summer: attic ventilation, heat and energy costs.
Project gallery
Group projects by roof type, include city and a short description, give files descriptive names and alt text (“new standing seam metal roof on a ranch home, [city]”), and compress images. Get permission and leave out house numbers.
Publishing rhythm
Balzac can research and draft articles around these topics for you to review. Have someone who knows roofing check anything about lifespan, codes, warranties and insurance before it goes live. Two to four articles a month is a realistic pace, starting with “repair or replace” and “how much does a roof cost” explained by what affects price.
On-Page SEO Checklist
Title tags and meta descriptions
- Service pages:
[Service] in [City] | [Company Name], for example “Metal Roof Installation in Denver | Summit Roofing” - Homepage:
[Company Name] | Roofing Contractor in [City] - Meta descriptions: about 150–160 characters; include the service, the city and something true, such as “free inspections” only if that is your policy. Preview with the SERP snippet checker.
Headers and internal links
- One H1 per page, matching service and location
- Link repair pages to the replacement page and the “repair or replace” guide
- Link storm and insurance articles to the inspection page
- Link every page to the estimate request
Schema markup
Use RoofingContractor, a schema.org subtype of HomeAndConstructionBusiness. Build it with our schema markup generator or start from this:
{
"@context": "https://schema.org",
"@type": "RoofingContractor",
"name": "[Your Company Name]",
"description": "Roof repair, replacement and inspections in [Your City]",
"image": "[Your Image URL]",
"url": "[Your Website URL]",
"telephone": "[Your Phone Number]",
"address": {
"@type": "PostalAddress",
"streetAddress": "[Your Street Address]",
"addressLocality": "[Your City]",
"addressRegion": "[Your State]",
"postalCode": "[Your Zip Code]",
"addressCountry": "US"
},
"areaServed": [
{ "@type": "City", "name": "[City One]" },
{ "@type": "City", "name": "[City Two]" }
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Roofing Services",
"itemListElement": [
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Roof repair" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Roof replacement" } },
{ "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Roof inspection" } }
]
}
}
Keep everything accurate and consistent with your Google Business Profile. Do not mark up star ratings that are not shown on the page.
Showing Up in AI Assistants
Homeowners increasingly ask AI assistants “should I repair or replace my roof” or “is my roof leak covered by insurance.” Nobody can guarantee what an assistant will cite, but some habits help:
- Write the direct answer first. “A roof usually needs replacing rather than repairing when…” followed by the detail and exceptions is easy to quote accurately.
- Back claims with sources. Link to manufacturer warranty pages, your state’s contractor board and insurance regulator. Pages with named sources read as more trustworthy to both people and machines.
- State your facts the same way everywhere: license number, service area, years in business (only if true) and phone, across your site, Google Business Profile and directories.
- Check you are not blocking AI crawlers by accident. Some security plugins and hosts add blocks to
robots.txtsilently. Test with our free AI crawler checker and confirm your file with the robots.txt checker. Whether to allow them is your decision; just make it deliberately.
Technical SEO Essentials
- Photo weight. Roofing galleries are heavy. Serve WebP or AVIF, lazy-load below the fold, set width and height.
- Mobile. After a storm, most people search from a phone. Tap-to-call, a short estimate form with photo upload and no pop-ups blocking the page.
- Core Web Vitals. Largest Contentful Paint under 2.5 seconds, Interaction to Next Paint under 200 ms, Cumulative Layout Shift under 0.1. Check PageSpeed Insights.
- Crawlability. Sitemap in Search Console, no accidental blocks in
robots.txt, canonical tags if location pages overlap. - Clean URLs.
/services/roof-replacement,/areas/[city].
Link Building for Roofers
- Manufacturer locators: if you hold a manufacturer certification, make sure the locator links to your site. List only certifications you actually hold.
- Local sponsorships and charity work: a roof for a community building or a family in need is a real local story, if you do it
- Realtors, home inspectors and insurance agents: a referral relationship that can also produce a link. See the home inspector playbook.
- Local news after storms: be a source for what to check on a roof
- Better Business Bureau and trade associations, if you are a member
Avoid paid links and mass directory submissions.
Measuring Success
- Google Business Profile: calls, directions, website clicks
- Search Console: impressions and clicks by page and query, especially seasonal pages
- Estimate requests and calls, tagged as conversions, with a “How did you find us?” field
- Booked jobs: a call that does not become a quote is a different problem
A realistic timeline
Profile improvements and new service pages can move in weeks to a few months. Educational content and storm pages take longer, and storm demand is out of your control. Judge by quarter and by season.
Try Balzac
Balzac is an AI SEO agent that researches keywords, writes articles and can publish them to your site. You can try it with 3 free articles and no card. It will not replace licensed inspections or your reviews, and you should still have a roofer review the content before it goes live. Start with your 3 free articles.
Related Playbooks
- SEO Playbook for Plumbers: another home service with emergency and planned work
- SEO Playbook for Construction Companies: larger projects and commercial work
- SEO Playbook for Home Inspectors: a common referral partner
- SEO Playbook for Painters: gallery and project-page tactics apply here too
Ready to run this playbook?
Balzac turns it into published articles: keyword research, writing and publishing on autopilot.
3 free articles · No card needed