Local SEO for roofing companies
A homeowner with a leak searches "roof repair near me", calls one of the three roofers on the map, and books the first one who answers. After a storm that happens hundreds of times in a day. We manage Google Business Profiles and local search for roofers so that call comes to you, in your town and in the suburbs where the jobs are.
We manage J&L Roofing in Wyomissing, Pennsylvania. Written audit of your profile within two business days, no call.

Illustration. Roofing client photos replace this as they come.
the Google maximum
in your inbox, no call
How do roofing companies get found on Google?
Through the map pack: the three businesses Google shows on a map for searches like "roof repair near me" or "roofer" plus a town. A roofer gets into that box by setting the Business Profile's primary category to "Roofing contractor", listing every service (repair, replacement, storm damage, inspections, gutters) with a description, setting the profile up correctly as a service-area business with the towns it works in, posting photos of finished roofs with the town in the caption, collecting a review after every job and replying to each, and keeping name, address and phone identical on every directory. A page on the website for each suburb served extends the map-pack reach beyond the office's own zip code.
Three search patterns, one profile built around them
Every roofer's Search Console and profile data shows the same three groups, and they decide which services, pages and photos the profile needs.
- Urgent. "Roof repair near me", "emergency roof leak repair", "roofer" plus the town. Phone in hand, calling within minutes.
- Planned. "Roof replacement cost" plus the city, "metal roofing contractor", "roof inspection near me". Two or three quotes, decided on reviews and photos.
- After a storm. "Storm damage roof repair", "hail damage roof", "roofing insurance claim help". A wave that lasts weeks and goes to whoever was already in the map pack.
Why is my roofing company not showing on Google Maps?
Roofers lose these searches for five reasons that show up in almost every profile we audit.
Which Google Business Profile categories should a roofer use?
One primary that matches the search, secondaries only for work you do and want. Check the three profiles in your map pack and match what they use; for roofers the answer is almost always the same.
- Roofing contractor, primary. Every roofing company. It is what Google matches to "roofer", "roofing company" and "roof repair".
- Gutter service, secondary. Only if you install or repair gutters and want those calls.
- Siding contractor, secondary. When siding is a real line of work, not an occasional add-on.
- Skylight contractor, secondary. You install skylights and have the photos to prove it.
- Roofing supply store, avoid. Unless you sell materials to the public; it pulls the wrong searches.
Storm-chasing competitors add categories they cannot service; the picker inside the profile is the only reliable list.
Roofing company Google Business Profile checklist
What a roofer's profile needs before it can compete in the map pack. Work top to bottom.
| Item | What to do | Why it matters |
|---|---|---|
| Business model | Service-area business, address hidden, unless customers visit a showroom. | Avoids a suspension trigger; tells Google how to treat distance. |
| Primary category | Roofing contractor. | Largest single ranking factor on the profile. |
| Services | Roof repair, roof replacement, storm damage repair, roof inspection, emergency repair, gutters, each with a description and price range. | Google matches service names against searches. |
| Service areas | The suburbs and counties you actually serve, up to the 20 Google allows. | Declares where you are willing to work. |
| Photos | Before and after per job, crew and trucks, uploaded weekly with the town in the caption. | Homeowners check for real work; Google reads captions. |
| Reviews | Request after every job; reply within a day; ask customers to mention the town and the work. | Recency and rate count as much as total. |
| Posts | Recent jobs, storm notices, seasonal offers, two to four a week in season. | Shows activity to Google and to buyers. |
| NAP consistency | Same name, phone and (if shown) address on every directory and the website. | Mismatches lower trust and can drop the listing. |
| Website link | Point the profile at a roofing services page, and each service at its own page. | Relevance signal, better landing page. |
| City pages | One page per suburb served, with services, jobs done there and how to reach you. | The only way to rank beyond your own zip code. |
Storm season is won before it starts
Hail and wind events create a wave of "storm damage roof repair" and "roofing insurance claim" searches within a day or two, and the wave lasts weeks. Google does not rebuild the map pack for those searches during the storm; it shows the roofers it already trusts for them.
- Months earlier: storm damage repair and roof inspection listed as services on the profile, with descriptions.
- A storm-damage page per metro on the website, with photos of previous storm jobs and the towns named.
- A review routine running all year, so your recency is high on the day the searches spike.
Residential and commercial are different searches
Commercial buyers search "commercial roofing contractor" plus the city, "flat roof repair", "TPO roofing", and they check the website more than the profile before calling. Homeowners do the opposite: the profile decides, the website is a formality.
- If you do both, each needs its own services on the profile and its own pages on the website.
- A profile listing only residential services never appears for the commercial search, however good the crew.
- Commercial pages carry the proof: project photos, membrane specs, warranty terms, the things a facility manager reads before picking up the phone.
What local SEO for a roofer looks like in the first 90 days
- Audit. Your profile against the three roofers in the map pack for your main searches, in your city and two suburbs where you want work.
- Rebuild the profile. Model corrected, categories set, every service listed, service areas declared, job photos captioned by town.
- Reviews and citations. A review request after each job, replies to all, and every directory corrected to one name, phone and address.
- City and service pages. A page per suburb and per service, storm-damage pages first if you are in a hail state, linked to the profile.
Plans for this scope are on the pricing page. Most single-crew roofers fit Map Pack; multi-city companies fit Industrial. We manage J&L Roofing in Wyomissing, Pennsylvania, and run the same method for industrial suppliers and the local businesses on the reviews page.
What the first 90 days look like
- Weeks 1–2: your profile measured against the three roofers in the pack, in your town and two suburbs you want work in.
- Weeks 2–5: service-area model corrected, categories set, every service listed, job photos captioned by town.
- Weeks 4–12: a review request after every job, replies to all, directories corrected to one name and number.
- From week 6: a page per suburb, storm-damage pages first if you are in a hail state.
Out-of-state crews arrive within days. They do not arrive in the map pack.
After a hail event, crews drive in from other states, knock doors and create Google profiles the same week. They are the reason a local roofer's phone goes quiet during the busiest month of the year.
What they cannot bring with them is history. A profile created on the day of the storm has no reviews from that town, no photos of roofs on those streets, no address anyone recognises and no directory record older than a week. Google weighs all four, which is why the local roofer who was already in the pack usually stays there.
- Your advantage is time, and it only counts if it is on the profile: years of reviews, jobs photographed street by street, an address that has not moved.
- Their advantage is speed, so anything you leave until the storm arrives is theirs to take.
- The practical test: if a crew from three states away can look more established than you in your own town, the profile is the problem, not the competition.
What a storm chaser cannot fake
- Reviews with local names and dates going back years, not a handful posted this month.
- Photographs of roofs on streets people recognise, captioned with the town.
- An address and phone number that appear the same way across directories going back years.
- Answers in the Q&A to the questions local homeowners actually ask about insurance and permits.
Nobody buys a roof twice
Most trades live on repeat customers. A plumber sees the same house every few years; a pest company bills quarterly. A roofer replaces a roof once and may never hear from that address again for two decades.
That changes what the profile has to carry. There is no book of regulars to fall back on, so almost every job starts as a stranger searching. It also changes how reviews behave: a roofer cannot ask the same customer again next year, so the request has to go out on the day the job finishes, every time, or the count stops growing. And because the purchase is rare and expensive, homeowners read more before calling — the photos, the replies, the Q&A and the number of recent reviews all get looked at properly rather than skimmed.
The practical version: a roofing profile is a shop window for people who have never bought from you and will not buy again. Every field on it is doing sales work.
Questions roofers ask
What is the best Google Business Profile category for a roofing company?
"Roofing contractor" as the primary category, because that is what Google matches to "roofer", "roofing company" and "roof repair" searches. Add secondary categories only for lines of work you actually do and want calls for, such as "Gutter service", "Siding contractor" or "Skylight contractor". Do not add categories to look bigger; they dilute relevance.
Why does my roofing company rank in my city but not in the suburbs where my jobs are?
Distance. Google measures from your address, even when it is hidden, so a roofer ranks best near the office and fades with distance. Declaring service areas tells Google where you work but does not move you up on its own. What extends reach is a page on your website for each suburb, with the services offered there and real jobs from that area, linked to the profile.
How do we prepare for storm season?
Before it, not during. Storm-damage and insurance-claim searches spike within days of a hail or wind event, and the roofers who get those calls are the ones already in the map pack for "storm damage roof repair" and "roof inspection" in those towns. The profile services, a storm-damage page per metro and a review routine that has been running for months are what put you there when the storm hits.
How many reviews does a roofer need?
More than the three businesses currently in the map pack for your search, and arriving steadily. Google weighs recency and rate as much as the total. A review request sent after every completed job, with a reply to each review within a day, beats a burst of fifty reviews from a campaign.
Should a roofer show its address on Google?
Only if customers visit it. Most roofers run from a home or a yard nobody visits, and showing that address is a suspension risk. Set the profile up as a service-area business: address hidden, company name kept, and the towns you work in declared as service areas. The distance rule still applies from the hidden address, which is why the suburb pages matter.
Do you have roofing clients?
Yes. We manage J&L Roofing in Wyomissing, Pennsylvania, a roofing contractor with 5.0 stars on 64 Google reviews; the map-pack screenshot on this page is theirs. The method described here is what we run for them and for our other US clients.
See who holds the map pack for "roofer" in your town.
Send your business name and city. Send the company name and town. The audit names the three roofers above you and what each has that you do not. No call required.
