Internet Media Now
Case Study · Local SEO
Energy Roofing Companies

Up 12 spots
on every search.

Energy Roofing Companies is a GAF Master Elite roofer with 4.9 stars across 125 reviews, serving Gainesville and Lake City. The reputation was earned. The website wasn't earning what it should. SEO work began in February 2026. Here's what changed, measured against the 90 days before it started.

Client
Energy Roofing Companies
Market
Gainesville & Lake City, FL
Program
GrowthOS Local SEO
Measured
Baseline Nov–Jan vs Apr–Jul

Great roofer. Page-two rankings.

In the 90 days before the work began, Google showed Energy Roofing to searchers 132,000 times. Almost nobody clicked, because the average search landed the company on page three or four, where clicks go to die.

34.2

Average Google position, site-wide

Across every search that surfaced the company, the average result sat on page three to four. The most valuable search in the market, "roofing gainesville fl," sat at position 19: 820 appearances, 3 clicks.

0.24%

Click-through rate across all of Google

Fewer than 3 clicks per 1,000 appearances, site-wide. The demand was there and measurable. The positions weren't.

Competing against itself

Two nearly identical pages fought over the same Gainesville searches, splitting authority so neither could rank. Same story in Lake City.

What we did, and when.

No redesign, no ad spend, no gimmicks. Fix the foundation, publish consistently, then make every important page earn its ranking.

February 2026

The work begins

SEO engagement starts. Every result on this page is measured against the 90 days before this date: November 2025 through January 2026.

May 2026

Stop the site from fighting itself

The duplicate location pages were consolidated with canonical tags, pointing all of Google's trust at one strong page per city instead of two weak ones. Sitemap cleaned up to match.

June 4 2026

The publishing engine starts

Google Business Profile management begins for both locations: optimized posts, geotagged photos, review replies, and business listings synced across the directory ecosystem.

June 23 2026

Leadership gets real numbers

First executive performance brief delivered: what's ranking, what's converting, where the next gains come from. Reporting on the same numbers Google reports, not vanity metrics.

July 7 2026

The on-page sprint

Money-term titles rewritten ("Gainesville Roofing Company | 4.9★ Rated | Free Inspections"), RoofingContractor structured data added so Google shows the 4.9-star rating, the Ocala expansion page rebuilt to full depth, the flat-roof FAQ upgraded to a long-form buyer's guide, internal links wired across every service and location page, and a fresh sitemap submitted to Search Console. This is the compounding layer; its results are still ahead.

One quarter in.

Every number below comes straight from Google Search Console for energyroofingco.com: the 90 days before the work began (Nov 1 – Jan 31) vs the most recent 90 days (Apr 13 – Jul 12).

+12
Spots gained in average Google position, site-wide

Across all 1,683 searches that surface Energy Roofing, average position climbed from 34.2 to 22.5. That is the whole site moving from page three–four toward page one at once, not one lucky keyword.

+17 spots
"energy roofing lake city fl"
average position 29.0 → 11.7, page three to the edge of page one
+11 spots
"energy roofing companies"
average position 20.3 → 9.7, page two to page one
+190%
Clicks on "energy roofing gainesville fl"
10 → 29 clicks on the same demand; CTR up from 12% to 35% as the listing got richer

The searches that pay moved up.

Average Google position, 90 days before the work (Nov 1 – Jan 31) vs the most recent 90 days (Apr 13 – Jul 12), Google Search Console. Highlights from 1,683 tracked queries.

SearchPosition beforePosition afterMoveWhat it means
roofing gainesville fl19.112.26.9 spotsThe market's biggest money term, now knocking on page one. Impressions up 36%.
energy roofing companies20.39.710.6 spotsPage two to page one.
energy roofing lake city fl29.011.717.3 spotsPage three to striking distance of page one.
roofing companies in gainesville23.612.611.0 spotsSame climb on the "companies" variant.
gainesville roofing13.1new999 new impressions on a term the site didn't rank for at all.
roofers near me / roofing contractors18–23new900+ new impressions on generic searches that never showed the company before.

The climb, search by search.

Average Google position, the 90 days before the work vs the most recent 90 days. Left is better. The green zone is page one, where the clicks live.

"roofing gainesville fl"the market's biggest money term
was 19.119.1
now 12.212.2
"energy roofing companies"
was 20.320.3
now 9.79.7
"energy roofing lake city fl"
was 29.029
now 11.711.7
"roofing companies in gainesville"
was 23.623.6
now 12.612.6
"gainesville roofing"not ranked at all before the work
new · 13.113.1
Average Google position, 90 days before the work vs most recent 90 days (Google Search Console)
roofing gainesville fl19.1 to 12.2
energy roofing companies20.3 to 9.7
energy roofing lake city fl29.0 to 11.7
roofing companies in gainesville23.6 to 12.6
gainesville roofingunranked to 13.1

Why position is the number that matters: Google showed Energy Roofing 144,000 times last quarter, 8% more than before the work began. Position decides whether those impressions become customers or scroll past. Every spot gained here compounds month after month at zero cost per click, and the climb from 12 into the top 3 is where the clicks arrive.

#4

AI assistants are starting to notice.

When Gainesville homeowners ask Google's Gemini for a roofing company, Energy Roofing already ranks #4 (July 2026 scan). AI answers are built from the same structured data and entity signals this program strengthens, so the work above compounds into wherever search goes next.

Storm season doesn't wait for page two.

Twelve spots gained across the whole site in five months. Money terms climbing out of page two and three. Two thousand new impressions on searches that never showed this company before. And the on-page layer shipped in July hasn't even shown up in the numbers yet.