← All Case Studies
Residential & Commercial Roofing · 6 months

Beating the big guys.

How a family-owned roofer took over local search across three of Oklahoma's largest metros in six months.

Industry
Residential & Commercial Roofing
Engagement
Local SEO & Content Strategy
Timeframe
Oct 2025 – Apr 2026
Results at a Glance
+102.7%
Non-Branded Clicks (MoM)
+136.2%
Total Impressions (MoM)
1,093
New Keywords in 30 Days

Sources: Rose Rock Marketing data connector, SEMrush Position Tracking (three city-level trackers), Google Search Console, Google Analytics 4. Baseline: October 2025. Current: March / April 2026.

Key Highlights

Four wins that defined the engagement.

+102.7%
Non-Branded Click Growth

More than doubled the rate of new customers finding the site who didn't already know the brand.

3
Metros in the Local Pack

Dominant Local Pack presence across the three largest metros in the state. Was one city at baseline.

1,093
New Keywords in 30 Days

Fresh ranking gains in a single month as the topical authority compounded across cities.

-10.4
Avg. Position Gain

Portfolio-wide average SERP position moved from 26.0 to 15.6 across all tracked queries.

The Challenge

A family-owned contractor, losing the Google Maps fight.

The client came to Rose Rock in October 2025 with a problem familiar to every family-owned contractor in a mid-sized American market: they were losing the Google Maps fight to bigger, better-funded, multi-state franchises.

The roofing category in Central Oklahoma is one of the most contested verticals in local search. National and regional chains spend aggressively, buy thousands of reviews, and own the generic "roofing near me" footprint by default.

Three specific constraints defined the engagement at kickoff:

Buried outside the Local Pack

In the home market, only a handful of geo-modified commercial queries held top-3 positions. Most sat on page two or weren't ranked at all. Homeowners actively searching for a local roofer weren't finding them.

Heavy brand dependency

Of roughly 450 monthly organic clicks at engagement start, more than half came from people who already knew the company's name. Organic was retaining existing relationships, not creating new ones.

No coverage in OKC or Norman

Two of the three largest metros in Oklahoma, both clear expansion markets, had essentially no dedicated SEO infrastructure. No city-specific landing pages, no local schema, no consistent NAP profile.

Outspent on every trust signal

National franchises outpaced the client on review volume, ad spend, and directory presence. Organic needed to win with technical foundation and content, because it couldn't win with budget.

They didn't need to become a bigger company to win. They needed to be findable in the moment a homeowner decided to call a roofer.

The Approach

A phased, city-by-city local SEO rollout.

Each phase built infrastructure the next could reuse. By the time we opened the third market, we were launching, not learning.

01

Own the Home Market First

The home city had the strongest review moat. We started there to prove the playbook before extending it.

  • Rebuilt the city landing page around the full commercial keyword set: services, intent modifiers, neighborhoods, and schema-marked NAP.
  • Tuned the Google Business Profile with service-specific categories, photography, and a review velocity plan. Citations across directories were audited and corrected.
  • Launched a helpful content program around the questions local homeowners actually ask: insurance claim process, hail damage identification, roof replacement cost expectations.
02

Expand to the Larger Metro

Oklahoma City is a significantly larger and more competitive market. We ported the playbook over, then rebuilt it for scale.

  • Launched a dedicated OKC location page mapped to the full OKC commercial query set.
  • Expanded topical authority with a long-form cost-of-replacement guide that now pulls ranking volume across 100+ related queries statewide.
  • Deployed review-driven social proof and local press mentions to support trust signals against the franchise competitors.
03

Enter the Third Market

Norman was the newest territory and the cleanest test of the repeatable process. The playbook was already proven, and the gains came faster than either of the prior two cities.

  • Launched the Norman location page with the same structure: service coverage, schema, neighborhood mentions, and clear contact CTAs.
  • Ran hyperlocal content targeting Norman-specific terms that had essentially zero brand visibility at launch.
  • Conversion events wired into GA4 by city so every form submission, phone call, and quote request is attributable to the market that produced it.
The Outcome

Three metros. Three Local Packs. Consistently ahead of the franchises.

Six months in, the client doesn't just show up in local search, they consistently beat the national franchises on the queries that actually drive calls.

1.

Local Pack Dominance in Three Metros

Priority commercial queries now hold top-3 positions across all three markets. Unranked terms dropped from 171 combined at baseline to just 20 across the same portfolio.

  • Home metro: 3 top-3 keywords, now 19. Every priority commercial query holds a top-10 position.
  • Oklahoma City: 9 top-3 keywords, now 20. Core queries like roof replacement okc and oklahoma city roofer now rank #1 and #2.
  • Norman: 5 top-3 keywords, now 22, in under four months of tracking. The fastest ramp of the three.
2.

Non-Branded Traffic More Than Doubled

The clearest read on whether the strategy worked: are people who don't already know the brand finding them?

  • Non-branded clicks: +102.7% MoM
  • Total impressions: +136.2% MoM
  • Total clicks: +39.5% MoM
  • Average SERP position: +10.4 spots gained (26.0 → 15.6)
3.

A Portfolio That Compounds

Roughly 70% of the ranking portfolio is carried by a handful of purpose-built pages. Every one of them was created during the engagement, not legacy content:

  • The home page (181 ranking keywords in the last 30 days),strengthened by schema, internal linking, and the city-specific supporting pages.
  • Long-form cost-of-replacement guide (106 ranking keywords),one piece now pulling statewide query volume.
  • Roofing costs service hub (103 ranking keywords),built to capture commercial intent around pricing.
  • City location pages for OKC and the home metro: 95 and 49 ranking keywords respectively, anchoring local discovery.
  • Insurance claim help page (87 ranking keywords),captures informational intent and routes to conversion.

Want to own your local market?

Book a free discovery call. We'll tell you honestly whether we can build the same compounding engine for your brand.

Book a Discovery Call