Quick answer: SEO for roofers is the work that gets a roofing company found when homeowners search Google, Google Maps and AI assistants for roof repair or replacement nearby. The core steps are a complete Google Business Profile, one page per service, honest city pages, steady reviews, accurate citations, and tracking calls back to booked jobs.
This is the playbook we use with roofing clients, in the order we run it. Each step has a template or checklist you can use yourself, or use to check the work of whoever handles your roofing SEO.
The 9 steps
- Set a baseline before you change anything
- Fix your Google Business Profile
- Choose roofing keywords by job type
- Build one page per service
- Build city pages that aren't doorway pages
- Earn reviews every week
- Clean up citations and earn roofing-specific links
- Get the technical basics and schema right
- Make your company easy for AI to recommend
Step 1: Set a baseline before you change anything
Do this: record five numbers before you touch the site, so you can prove later what worked.
| Number | Where to find it |
|---|---|
| Organic clicks and top search queries | Google Search Console, last 3 months |
| Calls and website clicks from your profile | Google Business Profile (GBP) Performance |
| Calls and forms by source | A call tracking tool, with one number for the website and one for the profile |
| Map-pack position across your service area | A ranking grid tool, such as Whitespark Local Ranking Grids or Local Falcon |
| Booked jobs from those leads | Your CRM or job board |
The last row matters most. A roofer with 40 calls and 4 jobs has a different problem from one with 10 calls and 6 jobs.
Step 2: Fix your Google Business Profile
Do this: make your profile complete, accurate and active before you write a single new page. For most roofers it drives more calls than the website.
This is the core of local SEO for roofers. In Whitespark's 2026 Local Search Ranking Factors (47 local search experts, 187 factors), the primary profile category ranked as the #1 factor for map-pack rankings, and being open at the time of the search ranked #5.
Google Business Profile checklist
- Primary category: "Roofing contractor." Add secondary categories only for work you actually do, such as "Gutter cleaning service" or "Siding contractor."
- Services: add Google's predefined roofing services, plus custom ones like "Hail damage roof inspection." Whitespark's experts ranked predefined services #22, a big jump from earlier years.
- Hours: your real hours. Say you answer emergency calls 24/7 only if it's true.
- Service area: if customers don't come to your office, Google says to remove your address and set a service area instead. You can list up to 20 service areas by city or ZIP code, and you should have only one profile for the whole area you serve.
- Business name: your real name, exactly as it appears on your trucks and paperwork.
- Photos: real job photos every week, no stock images.
- Ownership: your company is the primary owner; any agency is added as a manager.
If you'd rather have this handled, see our Google Business Profile management for roofers.
Two pieces of common advice we don't follow
Keywords in the business name. Whitespark's experts rank "keywords in GBP business title" the #3 map-pack factor, which is why so many "Best Roofing Dallas Roof Repair" listings exist. But Google's guidelines say your name should reflect your real-world business name, and adding service or location information "could result in the suspension of your Business Profile." After the April 2026 wave of profile suspensions, which hit home-service businesses hardest, it's a bad trade.
Filling all 20 service areas. Service areas mostly control what customers see. In the same survey, "setting service areas in GBP" ranked 152nd of 187 factors for map rankings. List the areas you truly serve, and earn the rest with pages and reviews.
Step 3: Choose roofing keywords by job type
Do this: group roofing keywords by the job they lead to, not by search volume alone. Each group needs its own page.
| Job type | Example searches | Page that answers it |
|---|---|---|
| Emergency | emergency roof repair near me, roof leak repair [city] | Roof repair page with the phone number at the top |
| Storm and insurance | hail damage roof inspection [city], roof insurance claim help | Storm damage page with the inspection and claim steps |
| Replacement | roof replacement cost [city], new roof [city] | Roof replacement page with price ranges and financing |
| Materials | metal roofing contractor [city], architectural shingles | One page per material you install |
| Commercial | TPO roof repair, flat roof contractor [city] | Commercial roofing page written for property managers |
| Brand and trust | [your company] reviews, GAF certified roofer [city] | Reviews page and certification proof |
To find search volumes, put your core terms into a keyword tool (Semrush, Ahrefs, or the free Google Keyword Planner), set the location to your metro, and export. Then check Search Console for the questions people already use to find you.
Step 4: Build one page per service
Do this: give every service you want to sell its own page. Whitespark's experts ranked "dedicated page for each service" the #1 factor for local organic rankings.
Keep those pages clear and short. In the 2026 survey, "volume of quality content on service pages" dropped 40 places, to #17. The experts' advice is to "write clear, concise, quality content that answers the user's questions with no fluff." That also makes your pages easier for AI tools to quote.
Service page template
- H1 with the service and your main city: "Roof Repair in [City]"
- Two sentences: what you fix, how fast you respond, your phone number
- Signs you need this service (bulleted)
- Your process in 4 to 6 numbered steps
- A price range, or what affects the price
- Proof: 3 to 6 job photos, one review that mentions this service, your certifications
- A short FAQ (3 to 5 questions from Search Console or customer calls)
- A call to action with phone and form
Step 5: Build city pages that aren't doorway pages
Do this: create a city page only when you can fill it with real local proof. A page that just swaps the city name is a liability.
Google's spam policies list doorway abuse, and give this example: "pages targeted at specific regions or cities that funnel users to one page." Ten near-identical city pages fit that description.
The local-proof test. Before you publish a city page, can you add at least three of these?
- Jobs completed in that city, with photos and street names (no house numbers)
- A review from a customer in that city
- Local conditions: common roof types, hail or wind history, HOA rules, the permit process
- A local crew lead or project manager named on the page
- Neighborhoods served and typical response time
If you can't pass the test yet, keep the city in your service-area list and earn the page later.
City page template
H1 "Roofing in [City], [State]" → one paragraph on your work there → recent jobs (photo and one line each) → local roof conditions → services available (linking to your service pages) → a local review → FAQ → contact.
Step 6: Earn reviews every week
Do this: ask every customer for a review within 24 hours of finishing the job, every week of the year.
Steady reviews beat bursts. In Whitespark's 2026 survey, the quantity of Google reviews with text ranked #9 for map rankings, review recency #11, and a sustained influx of reviews over time #14. Customers set hard thresholds too: BrightLocal's 2026 Local Consumer Review Survey found 47% won't use a business with fewer than 20 reviews, and 74% only consider reviews from the last three months.
Review request text (send it the same day)
Hi [First name], this is [Your name] from [Company]. Thanks for trusting us with your roof on [Street]. If you have 60 seconds, a quick Google review helps local homeowners find us: [short review link]. Mentioning what we did (repair, replacement, storm inspection) helps the most. Thank you!
Rules: send it from the crew lead's or owner's number. Never offer discounts or gifts for reviews: Google's contribution policy bans offering "payment, discounts, free goods and/or services in exchange for posting any review." Reply to every review within a week.
Step 7: Clean up citations and earn roofing-specific links
Do this: make your name, address and phone number (NAP) identical everywhere, then earn links from sites only a real roofer can get.
Citations matter more than they did a few years ago. Whitespark reports that 3 of the top 5 AI search visibility factors in its 2026 survey are citation factors, and puts it simply: "In AI SEO, mentions (citations) are the new link."
Core citations: Google Business Profile, Bing Places, Apple Business Connect, Yelp, BBB, Facebook, Nextdoor, Angi, Houzz, and your state's contractor license lookup.
Roofing-specific links most competitors miss:
- Manufacturer contractor locators. GAF runs a residential contractor directory and says only about 2% of North American roofers are invited to become Master Elite. Owens Corning lists its Platinum and Preferred contractors in its Roofers Near Me locator, and CertainTeed's top credential is now ShingleMaster PREMIER, listed in its Find a Pro tool. Claim and complete every profile you qualify for.
- Supplier and distributor "find a contractor" pages.
- NRCA and your state roofing association's member directories.
- Your chamber of commerce and local business groups.
- Local news: offer TV and newspaper reporters a storm-prep or hail-claim tip sheet before storm season.
- Sponsorships: youth sports, Habitat for Humanity builds, and community events with a sponsor page.
Don't buy links or join link networks. Google's spam policies define link spam as "creating links to or from a site primarily for the purpose of manipulating search rankings."
Step 8: Get the technical basics and schema right
Do this: make the site fast on phones, secure, and consistent with your profile, then add structured data.
- HTTPS on every page
- Fast on mobile; check it in PageSpeed Insights
- The name, address and phone in your footer match your profile exactly (Whitespark ranks this match #15 for map rankings)
- The phone number is a tap-to-call link
- Every important page is indexed in Search Console, with no duplicate city pages
- Key numbers and text are in plain HTML, not loaded only by JavaScript
RoofingContractor schema example. RoofingContractor is the schema.org type for roofing companies. If you hide your address on Google, list only your city, state and ZIP here.
{
"@context": "https://schema.org",
"@type": "RoofingContractor",
"name": "[Company Name]",
"url": "https://www.example.com/",
"telephone": "+1-555-555-0100",
"address": {
"@type": "PostalAddress",
"addressLocality": "[City]",
"addressRegion": "[State]",
"postalCode": "[ZIP]",
"addressCountry": "US"
},
"areaServed": [
{ "@type": "City", "name": "[City 1]" },
{ "@type": "City", "name": "[City 2]" }
],
"openingHours": "Mo-Fr 07:00-18:00",
"sameAs": [
"[Facebook URL]",
"[BBB URL]",
"[GAF contractor profile URL]"
]
}
Step 9: Make your company easy for AI to recommend
Do this: keep your business facts consistent across the web, get listed where AI tools look, and check every month whether they name you.
This matters now. BrightLocal found that 45% of consumers use ChatGPT or other AI tools for local business recommendations, up from 6% a year earlier. AI answers are narrow: ChatGPT names about 4 businesses per local answer, and Google's AI Mode and AI Overviews share only about 29% of the businesses they recommend (BrightLocal, 2026).
What helps, based on Whitespark's 2026 recommendations:
- Get onto local "best roofers" lists published by third parties.
- Complete every major directory listing, and start each description with one clear sentence on who you are, what you do and where.
- Collect reviews on more than Google: BBB, Yelp, Angi, Houzz.
- Keep a reviews or testimonials page on your site, linked in the main menu.
- Write service pages as short, factual answers.
- Earn local mentions: community work, local news, local bloggers.
The 15-prompt check (monthly): write 15 questions a homeowner might ask, such as "best roofer in [city]" or "who does hail damage inspections near [city]." Run them in ChatGPT, Perplexity and Google AI Mode. Log whether you're named, linked or absent, and who appears instead. It's the same tracking we use in our AI search optimization work.
Want us to run these 9 steps for you? Read how to choose a roofing SEO agency first, then request a roofing SEO audit. We only ask for read-only access.
Storm season SEO playbook
SEO can't be built after hail hits. Prepare in the off-season, react within 48 hours, and capture proof afterwards.
| When | What to do |
|---|---|
| Off-season (2 to 4 months before peak storms) | Publish storm damage, hail damage and insurance claim pages; add storm services to your profile; push review volume up |
| Within 48 hours of a storm | Post on your profile about inspections in affected areas; update the storm page with the date and neighborhoods; turn on paid ads if you need speed |
| 2 to 8 weeks after | Add job photos from affected neighborhoods to city pages; request reviews from every storm customer |
| Year-round | Check NOAA's Storm Events Database for your counties to write accurate local storm history |
How to measure roofing SEO each month
Track the same five numbers from Step 1 every month, and judge trends over quarters, not weeks.
| Metric | Source | Healthy direction |
|---|---|---|
| Calls from Google Business Profile | Profile Performance plus call tracking | Up quarter over quarter |
| Organic clicks on service and city pages | Search Console | Up, with new queries appearing |
| Map-pack grid coverage | Ranking grid tool | More green across your service area |
| Reviews in the last 90 days | Your profile | At or above your top competitor |
| Booked jobs from organic and map leads | CRM | Up; this is the number that pays for SEO |
7 roofing SEO mistakes to avoid
These are the errors we see most often when we audit SEO for roofing companies.
- Stuffing keywords or cities into your Google Business Profile name.
- Publishing city pages that only swap the city name.
- Showing a home address when no customers visit it.
- Creating more than one profile for the same business.
- Buying reviews or links, or offering rewards for reviews.
- Using "General contractor" as your primary category.
- Judging SEO by rankings instead of calls and booked jobs.
Do it yourself or hire help?
Google's own guide, Do you need an SEO?, says: "If you run a small local business, you can probably do much of the work yourself." Steps 1, 2 and 6 are the best place to start if you have a few hours a week. Google's SEO Starter Guide covers the basics behind the rest.
Hiring makes sense when you're in a dense metro, need a site rebuild, want to expand into several cities, or simply don't have the time. Roofer SEO done well is steady, unglamorous work, and most of the gains come from doing the nine steps every month. Our guide on how to choose a roofing SEO agency covers costs, timelines and the questions to ask, us included, and our roofing SEO services page shows how we run this playbook for clients.
Next step: request a roofing SEO audit and we'll show you which of the nine steps would move your calls first. We only ask for read-only access.
Sources
- Whitespark: Local Search Ranking Factors 2026 (Darren Shaw, published November 2025)
- Google Business Profile Help: Manage your service area
- Google Business Profile Help: Guidelines for representing your business
- Google Search Central: Spam policies
- Google: Maps user contributed content policy
- Google Search Central: Do you need an SEO? (updated June 2026)
- BrightLocal: Local Consumer Review Survey 2026
- BrightLocal: Local AI visibility study (2026)
- Wolfpack Advising: Google Business Profile suspensions, April 2026
- GAF: Residential roofing contractors
- Owens Corning: Find a roofing contractor
- CertainTeed: Roofing credentials
- NOAA NCEI: Storm Events Database
- schema.org: RoofingContractor
Frequently asked questions
What is SEO for roofers?
SEO for roofers is the process of improving a roofing company's Google Business Profile, website and online reputation so it appears when local homeowners search for roofing services. It covers the map pack, regular search results and, increasingly, the answers AI assistants give.
How long does roofing SEO take to work?
Profile fixes and new pages can move map rankings within a few weeks to 90 days. Steady organic calls usually build by months 4 to 6 in a typical market, while new sites in dense, storm-heavy markets can take 8 to 12 months.
What matters most for ranking a roofer on Google Maps?
In Whitespark's 2026 expert survey, the top map-pack factors were the primary profile category, the searcher's distance from the business, and keywords in the business name. You control your category and reviews; you can't change distance, and stuffing your name breaks Google's rules.
How many Google reviews does a roofing company need?
At least 20, because 47% of consumers won't use a business with fewer, according to BrightLocal's 2026 survey. What matters more is matching or beating the review count and recency of the top three roofers in your local map results.
Can I add my city to my Google Business Profile name?
Only if it's part of your real business name, as shown on your signage, trucks and paperwork. Google's guidelines don't permit adding service or location information to the name, and doing it can get your profile suspended right when you need it most.
Should a roofer hide their address on Google?
Yes, if customers don't visit your office. Google tells service-area businesses that don't serve customers at their address to remove it from the profile and set up to 20 service areas instead, with one profile covering the whole area you serve.
Do roofers need a blog?
Not first. Service pages, city pages and your profile come first. After that, a few posts answering real customer questions, such as repair versus replace, insurance claims and material costs, can rank in search and help AI tools understand your expertise.
What schema should a roofing website use?
Use the RoofingContractor type from schema.org on your homepage or contact page, with your name, phone number, service areas and links to your profiles and manufacturer listings. Add FAQ markup only to pages that show the same questions and answers visibly.
Is roofing SEO worth it compared with ads?
Ads bring calls faster; SEO brings cheaper calls that keep coming after you stop paying. Most roofers run both while SEO builds, then shift budget toward organic as map and search calls grow over the following months and seasons.

