Local-visibility report / Santa Rosa, Sonoma County, CA / June 1, 2026
The searches that land on someone else's roof.
Heritage has been roofing the North Bay since 1993 and holds a perfect 5.0 on Google. So why do the people searching for a roofer in Santa Rosa keep landing on a competitor's name first? We pulled the live data to show you exactly where, and what we'd do about it.
I went looking for the gaps a homeowner sees, not the ones a marketer invents. Everything on this page is pulled from Google's own search results and a speed check of your homepage. No guesses, no scare tactics.
The short version: you're good, and you're getting passed. Three shops with fewer years and a lower star rating are sitting above you on the searches that matter, mostly on the strength of one number. That number is fixable. Here's the whole picture.
01 · The demand that's already there
Across eight Santa Rosa roofing searches, homeowners run about 1,100 searches a month. The two biggest, "roofing santa rosa" and "roofers santa rosa", carry 480 searches each. These aren't tire-kickers. To show up as an ad on those terms, a roofer pays roughly $22.25 a click. That's the price of a homeowner who's actively shopping for a roof. The demand is here. The question is whose name they find.
| What homeowners type | Searches / mo | Competition | What a click costs |
|---|---|---|---|
| roofing santa rosa | 480 | HIGH | $22.25 |
| roofers santa rosa | 480 | HIGH | $22.25 |
| roofing contractor santa rosa | 70 | LOW | n/a |
| roof repair santa rosa | 40 | HIGH | $11.17 |
| roof replacement santa rosa | 10 | MEDIUM | n/a |
| roof leak repair santa rosa | 10 | n/a | n/a |
| roof inspection santa rosa | 10 | HIGH | $4.04 |
| new roof santa rosa | 0 | n/a | n/a |
| All eight searches | 1,100 |
Volumes are Google Ads estimates at the California level, so the Santa Rosa share is a slice of each figure. The point isn't the exact count. It's that real money is moving through these searches every month.
02 · Where you sit on the map
You're on the map. You're just not at the top of it.
When someone searches a roofer, Google shows a short stack of local businesses before anything else. For "roofers santa rosa" you come up #4. That's real, and it's better than most. But 3 shops sit above you, and you've got a higher star rating than every one of them. Here's the ladder, top to bottom.
"roofers santa rosa" You're #4
"roof repair santa rosa" You're #5
The shop sitting at the top of these searches is Crandall Roofing:
4.9★ · 139 reviews. That's 3.4× the reviews you have, a 98-review gap, even though your 5.0 beats their 4.9. On the local map, review count is one of the biggest levers, and it's the one you're furthest behind on. The good news: it's also the easiest to close, because your customers already love you. They just aren't being asked.
Source: DataForSEO Google local results (live, advanced), two searches. Marked ▲ = ranks above Heritage.
03 · Your Google profile
The profile's clean. It's just light on the one signal that ranks.
Your Google Business Profile is claimed, sits at a perfect 5★, and has 39 of 41 reviews at five stars. Nobody's beating you on quality. The leader is beating you on volume, and on the map, volume is a ranking signal.
| Profile signal | Heritage Roofing Company |
|---|---|
| Rating | 5★ (41 reviews) |
| Five-star reviews | 39 of 41 (95%) |
| Primary category | Roofing contractor |
| Other categories | Contractor, General contractor, Siding contractor |
| Photos on profile | 21 |
| Profile claimed | Yes |
| Listed hours | Mon-Fri 7am-5pm, closed weekends |
Your hours show Monday to Friday, 7 to 5. A roof leak doesn't keep banker's hours. Hold that thought for section 4.
04 · Your website
The site looks the part. It's slow off the line, and nobody's home after 5.
We ran a speed check on your homepage and looked at what a visitor can see. Two things stand out: the page is heavy and slow to start, and there's nothing answering a homeowner once your office closes.
| What's slowing it down | What it costs you |
|---|---|
| Server took 1,270 ms to respond | Before a single pixel paints, the homeowner waits over a second for the page builder to assemble the page. On a phone, on cell data, that wait is where they hit back. |
| Render-blocking scripts and styles | The browser has to download and run a stack of page-builder code before showing anything. That's the 2.6-second wait to a finished page. |
| Homepage weighs 2.9 MB | A 2.9 MB homepage is heavy for a phone on a roof in cell coverage. Most of it is code the visitor never sees. |
| 831 KB of JavaScript that does nothing | Three builders stacked on one site means hundreds of KB of code loading that the page never uses. |
What we looked at and didn't find, fairly stated: no public-facing chat on the site, so a homeowner with a question at 9pm has no way to get an answer. No public online booking, so the only path is the phone or the "free estimate" form, then a wait. The site runs on WordPress + Elementor + Divi (three page builders stacked on one site), which is most of where that 2.8 MB and the slow start come from. None of this means the tools aren't there behind the scenes. It means a homeowner can't see them.
05 · Here's what we'd do
Four moves, each one tied to a number above.
This is what we'd build with you. Everything stays on your accounts and in your name, so it's an asset you own, not something you rent and lose the day you stop paying.
Close the review gap with a steady ask
Crandall Roofing carries 139 reviews to your 41, and that one number is most of why they sit above you. We set up a review engine that asks every happy customer the day the crew finishes, by text, naming the tech and the job. 39 of your 41 reviews are already five stars. Your customers love you. They're just not being asked.
Review engine Why: a 98-review gap to the map leader.Put up a fast site that loads before they bounce
We rebuild the site clean, on your own account, so it loads in a blink instead of waiting 1.3 seconds on the server before a thing appears. Same look, a fraction of the weight, none of the page-builder bloat that's dragging your 69/100 speed score. A homeowner on a phone in a driveway doesn't wait around for a slow page. They hit back and call the next name.
Clean fast site you own Why: 1270 ms server wait, 2.8 MB homepage.Add an answer for the calls you'd miss after 5
Your hours stop at 5 and you're closed weekends, but roofs leak on Saturday night. We put a chat on the site trained on your own jobs, your warranties, your service area, so a homeowner gets a straight answer at 9pm and leaves their number instead of dialing the next shop. The leak call you'd have missed becomes a booked estimate Monday morning.
AI that answers, on your content Why: profile hours are Mon to Fri, 7 to 5, no after-hours answer.Earn the searches you're paying competitors to win
Those 480-a-month searches for "roofing santa rosa" cost $22.25 a click to buy as an ad. We write real pages about the roofs you do (tile, comp, the GAF warranty work, the wildfire-rebuild jobs the North Bay knows you for) so you start ranking for them for free. Thirty years in Sonoma County is a story no three-year-old shop can tell. We make Google read it.
SEO content engine Why: ~1,100 monthly searches, mostly going elsewhere.The simplest next step: see it before you decide.
We'll build the first piece for free and show it to you live, your brand, your town, your jobs, before you pay a dollar. If it doesn't look like something worth owning, you walk and you keep whatever we made.
- 1.A 20-minute call. You talk, we listen for the jobs you want more of.
- 2.We build a live demo on your brand and send it over. No charge, no commitment.
- 3.You decide. If it's a fit, we wire up the rest and the reviews start coming.