Walkthru LabsWALKTHRU LABS Request a quote

Our work / Roofing

A Utah County roofer, rebuilt without losing a single link.

Cascade Roofing is a family roofing company in Orem, Utah. We rebuilt their website, moved every old address across, and gave them their own analytics and a direct line from the quote form into their CRM.

Client
Cascade Roofing
Location
Orem, Utah
Industry
Roofing
Services
Website, SEO migration, GA4, Lead routing, Email domain
Engagement
Since August 2026
Status
Live since 16 September 2026
The Cascade Roofing home page
68 of 68old URLs redirect to the right new pageRedirect check on the live domain, 16 Sep 2026
38keywords in Google's top 10, held through the relaunchSemrush US, 18 Sep 2026
3rdfor "roofers provo" (210 searches a month), held through the relaunchSemrush US, 18 Sep 2026

01

The challenge

When we measured the old site on 17 Aug 2026, it already ranked 2nd to 5th in Google for the main Provo roofing searches. The real risk in a rebuild was losing those positions. A new site that drops old URLs can lose them outright.

The same audit found no analytics of any kind: no GA4, no tag manager, no ad pixel. We checked the method against a competitor's site, which returned nine hits. Nobody could say where a lead came from.

The quote form lived inside a third-party frame, so a submission was invisible to the page around it. Forty-five thin town pages ranked for almost nothing, and six different URLs competed for the same Provo search.

02

Keyword research

Before we write a page, we find the searches that bring Cascade Roofing work. These are the terms from our research, with the monthly search volume, how hard each one is to rank for, and what an ad click costs.

Target keywords · Semrush US · 18 September 2026
KeywordSearches / moDifficultyAd cost / clickRank now
roofing salt lake city72022 Easy$31.18Not in top 100
roof repair salt lake city59036 Possible$29.95Not in top 100
roofing companies utah39025 Easy$15.96Not in top 100
metal roofing utah32026 Easy$8.82#48
roof replacement utah26046 Possible$24.47#39
roof replacement provo1709 Very easy$8.77#13
roofing orem ut1709 Very easy$0.00#23
roof replacement cost utah1705 Very easy$10.55Not in top 100
roofers provo14011 Very easy$19.38#3
park city roofing14010 Very easy$0.00#22
roofing companies utah county11045 Possible$22.83#12
roof repair utah county11016 Easy$0.00#24
commercial roofing utah11015 Easy$27.11Not in top 100
roof repair provo1109 Very easy$0.00#6
roofers orem500 Very easy$0.00#9

03

The plan

  1. Measure

    We audited the old site, the tracking, and the search data before we wrote a line of the new one. The Semrush baseline is dated 17 Aug 2026.

  2. Build on their own material

    Every photo, project and award on the site comes from Cascade's own files and plaque wall. We published no rating or review count we could not check.

  3. Map every old URL

    We wrote a redirect for each old address and folded the thin town pages into 15 stronger city pages.

  4. Launch without touching mail

    We changed one DNS record and left the mail records alone. A script then checked every redirect, page and mail record against the live domain.

  5. Hand them their numbers

    We set up GA4 in Cascade's own Google account, so the data belongs to them.

04

What we built

New website
38 pages generated from one build script: services, five roof types, 15 city pages, projects, reviews and a cost calculator.
Redirect map
68 old addresses point to the right new page, so links and rankings from the old site have somewhere to land.
Project map
A coverage map drawn from their own export of 451 past projects, with photos and reviews. It replaced a paid map widget they planned to drop.
Quote form to CRM
The site's own quote form posts each lead straight into ProLine, their CRM. ProLine then emails the customer a link to book an inspection within seconds.
GA4 in their account
A new web stream on all 38 pages, filtered by hostname so our staging traffic never enters their reports. Event data retention is set to 14 months.
Matching email domain
We added cascaderoofing.net to their Google Workspace, so staff email now matches the website.

05

455keywords ranking in Google's top 100
95estimated organic visits a month
$1,066what that traffic would cost in Google Ads, monthly

Semrush US database, 18 September 2026. Semrush estimates traffic from rankings; Google Search Console is the exact count.

Keywords in Google's top 100, by month157 → 438
Sep 25: 157 keywords in google's top 100, by monthOct 25: 156 keywords in google's top 100, by monthNov 25: 168 keywords in google's top 100, by monthDec 25: 224 keywords in google's top 100, by monthJan 26: 330 keywords in google's top 100, by monthFeb 26: 340 keywords in google's top 100, by monthMar 26: 358 keywords in google's top 100, by monthApr 26: 392 keywords in google's top 100, by monthMay 26: 374 keywords in google's top 100, by monthJun 26: 380 keywords in google's top 100, by monthJul 26: 433 keywords in google's top 100, by monthAug 26: 438 keywords in google's top 100, by month Sep 25 Aug 26
Show the numbers
MonthKeywordsVisits
Sep 2515745
Oct 2515644
Nov 25168143
Dec 25224181
Jan 26330129
Feb 26340156
Mar 26358121
Apr 26392116
May 2637498
Jun 2638071
Jul 26433109
Aug 26438112
Ranking today
KeywordPositionSearches / mo
roofers provo utah#170
roofers in provo#270
roofers provo#3210
roof repair provo utah#370
provo roofers#4110
provo roofer#5170
roof repair provo#6110
roofing utah county#7140
roofing contractor provo#8110
cascade roofing#6170

06

Who they compete with in search

CompetitorShared keywordsTheir keywordsTheir visits / mo
libertyroofingutah.com45265220
a1roofingutah.com538933,618
allstarroofpros.com41345787
fluxroofing.com38166648
epicroofingutah.com3720456

Want this breakdown for your business?

We run the same research on your site and your market: your keywords, your competitors, and what it takes to rank. Free, in about a week.

Get my free auditRequest a quote