SEO Audit: How 6,000 Templated Pages Are Killing This Roofing Company’s Google Rankings
A real audit of infinityroofing.com using Ahrefs data, live site analysis, and Google’s Quality Rater Guidelines
We do these audits all the time at BlitzMetrics. Most companies have no idea their SEO agency is building them a house of cards. We’re making this one public so roofing companies (and anyone else) can see what a real audit looks like—not the keyword-count vanity reports most agencies produce. If you want us to audit your site, request a Quick Audit here, or visit RoofingLaunch.co for roofing-specific digital marketing.
Key Metrics at a Glance
Before we dig in, here’s the dashboard view from Ahrefs. These numbers frame everything that follows.
The headline number: This site has 6,000+ pages but only 217 of them (3.6%) get any organic traffic at all. One single page—a roof cost calculator—drives 30% of all organic traffic. The other 5,800+ pages are dead weight.
| Metric | Value |
|---|---|
| Domain Rating (Ahrefs) | 34 / 100 |
| Keywords in Top 3 | 204 |
| Live Backlinks | 4,550 |
| Blog Posts (All Time) | 15 |
| Case Studies | ~5 |
| Office Locations | 8 (Wisconsin + Illinois) |
| Customers Served (Claimed) | 48,000+ |
The 6,000-Page Problem: Scaled Content Abuse
Google defines “scaled content abuse” as generating large numbers of pages primarily to manipulate search rankings rather than to help users. This site has seven sitemaps containing 6,000+ URLs.
The Template Machine
The site uses a City × Service × Sub-Service matrix to generate pages programmatically:
| Layer | Example | Count (Est.) | Pages Generated |
|---|---|---|---|
| Cities/Towns | Brown Deer, Waukesha, Brookfield… | ~150 WI + ~50 IL | 200 |
| Services per city | /siding, /roofing, /windows, /gutters | 4–6 per city | ~1,000 |
| Sub-services per service | /repair, /replacement, /commercial, /inspections | 3–4 per service | ~3,000+ |
| State hub pages | /wi/roofing, /il/siding | ~20 | ~20 |
| Blog + case studies + about | /blog/*, /case-studies/*, /about/* | ~30 | ~30 |
The math: ~200 cities × 5 services × 4 sub-services = 4,000 pages from the template matrix alone.
What the Templated Pages Actually Look Like
| Page | Content Pattern | Unique Local Content | Verdict |
|---|---|---|---|
| Brown Deer / Siding | Same James Hardie, LP SmartSide, ProVia descriptions. Even has a ROOFING permit section on a SIDING page (copy-paste error). | Building dept phone, 4 addresses | CRITICAL |
| Waukesha / Windows | Same window types list, benefits. City name inserted into generic copy. | 21 HOA names, city hall address | MEDIUM |
| Green Bay / Roofing | Page returns a 404 error—broken link in the sitemap. | N/A | CRITICAL |
The Brown Deer siding page asks “Do you need a permit for a new roof in Brown Deer, Wisconsin?” on a siding page. Copy-paste error from the roofing template—proof these pages were generated without human review.
The Traffic Reality
| Traffic Bucket | # of Pages | Traffic |
|---|---|---|
| Zero traffic | ~5,800+ | 0 |
| 1–99 visits/mo | 79 | Negligible |
| 100–999 visits/mo | 129 | 1,533 |
| 1,000–4,999 visits/mo | 8 | 2,571 |
| 5,000+ visits/mo | 1 (roof cost calculator) | 1,036 |
One page drives 20% of all traffic. Eight pages drive 50%. The other 5,800+ combined contribute almost nothing.
Google’s leaked internal system (called “Firefly”) specifically analyzes the ratio of URLs generated versus substantive content produced. A site with 6,000+ pages but only 15 blog posts and 5 case studies has exactly the profile this system flags.
Toxic Backlink Profile: A Hidden Liability
The site has 4,550 live backlinks from 1,609 referring domains. But look at WHO is linking:
| Linking Domain | Domain Rating | Links | Assessment |
|---|---|---|---|
| inetwd.com | 15 | 2,277 | Low-quality web directory. Bulk links. |
| friendsofmilitaryfamilies.org | 0.1 | 1,869 | Near-zero authority. Likely link farm. |
| juegospokemon.info | 0 | 1,612 | Spanish Pokemon games site. Obvious spam. |
| sustainbusper.com | 2.8 | 1,604 | Suspicious domain. No real content. |
| fongtil.info | 3.7 | 1,453 | Unknown domain. Spam network. |
| bigbigstyle.com | 0 | 1,303 | Zero authority. Spam. |
| blogspot.com | 95 | 1,170 | High DR, but blogspot links are almost always low-quality blog spam. |
| elkinsestateretreat.org | 0 | 1,126 | Zero authority. Suspicious link volume. |
| milwaukeeadmirals.com | 49 | 1,040 | Legitimate local sponsorship. GOOD. |
| life-flexhome.org | 0 | 1,037 | Zero authority. Likely link farm. |
Of the top 10 linking domains by volume, only ONE (milwaukeeadmirals.com) is a legitimate website. The rest are zero-authority spam domains. This is the signature of either paid PBN link building or a negative SEO attack. Needs a Google disavow file immediately.
What’s Actually Working (and Why It Matters)
The /wi/roof-cost-calculator page ranks #1 for “roof replacement cost” (18,000 monthly searches) and drives 1,645 visits/month—more than all city pages combined. It provides genuine utility. This is exactly what Google rewards.
| Page | Top Keyword | Position | Monthly Visits |
|---|---|---|---|
| /wi/roof-cost-calculator | roof replacement cost (18K vol) | #1 | 1,645 |
| / (homepage) | infinity exteriors (1.2K vol) | #2 | 746 |
| /wi/window-cost-calculator | replacement windows cost (1.6K vol) | #11 | 301 |
| /il/roof-cost-calculator | roof replacement cost (18K vol) | #21 | 300 |
| /blog/energy-efficient-siding | energy efficient siding (500 vol) | #1 | 260 |
| /wi/siding-cost-calculator | how much to reside a house (800 vol) | #8 | 184 |
| /wi/madison | infinity exteriors madison (150 vol) | #1 | 177 |
| /wi/service-areas/waukesha/windows | window installation near me (100 vol) | #2 | 124 |
The pattern is unmistakable: pages that provide genuine utility (calculators), real expertise (energy-efficient siding blog post), or serve branded search earn traffic. The 5,800+ templated city pages barely register.
E-E-A-T Scorecard
Google’s Quality Rater Guidelines require Experience, Expertise, Authoritativeness, and Trustworthiness—especially for YMYL topics like roofing and home remodeling.
| Signal | Grade | Evidence |
|---|---|---|
| Experience | C+ | 48,000 customers claimed. Case studies exist but are few (~5) and lack before/after photos. No crew profiles on city pages. |
| Expertise | B− | Cost calculators demonstrate real knowledge. Blog on energy-efficient siding shows expertise. But city pages have zero technical depth. |
| Authority | C | DR 34/100. Real certifications (CertainTeed Select Shingle Master, 2025 Contractor of the Year). But backlink profile dominated by spam. |
| Trust | B− | 8 real offices. BBB accredited. 2,982 reviews at 4.9 stars. But reviews have no dates, no star ratings, no third-party verification. |
Overall: This company has the raw materials for strong EEAT—real offices, real customers, real certifications. But the site buries those signals under thousands of templated pages.
Technical SEO Findings
| Check | Status | Details |
|---|---|---|
| HTTPS | PASS | Site loads over HTTPS properly. |
| Sitemap | CRITICAL | 7 sitemaps with 6,000+ URLs. Tells Google to crawl thousands of low-quality pages. |
| Index Bloat | CRITICAL | ~5,800 pages with zero organic traffic still indexed. |
| Broken Pages (404s) | FAIL | Multiple city pages return 404 errors. Pages in sitemap that don’t exist waste crawl budget. |
| Blog Frequency | WARNING | 15 posts in 3+ years. Content-to-URL ratio: 15 articles vs. 6,000+ template pages. |
| Author Attribution | WARNING | Blog posts credit Mike Saglin (good). City/service pages have zero author attribution. |
| Review Page | WARNING | 300+ reviews without dates or third-party verification. Looks curated. |
| Cost Calculators | PASS | Interactive tools with genuine utility. The site’s strongest content assets. |
| Backlink Health | CRITICAL | 6 of top 10 linking domains are spam/zero-authority. Needs immediate disavow. |
| Template Errors | FAIL | Cross-contamination: roofing permit info appears on siding pages. |
Competitor Landscape
| Competitor | Shared Keywords | Their Total Keywords | Their Traffic | Infinity’s Traffic |
|---|---|---|---|---|
| angi.com | 689 | 322,158 | 2,690,123 | 5,449 |
| modernize.com | 620 | 39,340 | 186,025 | 5,449 |
| thisoldhouse.com | 587 | 120,267 | 454,385 | 5,449 |
| homewyse.com | 461 | 30,868 | 248,218 | 5,449 |
| cobexcg.com | 323 | 2,674 | 24,443 | 5,449 |
| pitchroofing.com | 264 | 3,232 | 16,383 | 5,449 |
The telling comparison is with Cobex Construction Group: just 2,674 keywords but 24,443 visits/month—nearly 5x Infinity’s traffic. Their keywords convert to clicks. Regional competitors are winning with better pages, not more pages.
Keyword Cannibalization & Wasted Rankings
Several high-volume keywords appear as “rankings” in agency reports but generate zero clicks:
| Keyword | Monthly Searches | Position | Problem |
|---|---|---|---|
| roof inspection | 39,000 | #97 | Position 97 = page 10. Zero traffic. |
| siding contractors | 27,000 | #1 | Ranks #1 but on a local Wausau page. Shows 0 traffic. |
| residential roofing | 25,000 | #47 | Position 47 = invisible. Zero clicks. |
| emergency roof repair | 9,600 | #34 | Position 34 on a thin template page. |
| window companies | 9,000 | #53 | Position 53. Template copy, no expertise. |
These five keywords represent 109,600 monthly searches. Total traffic from them: about 1 visit. An agency report counts all five as “rankings.” A business owner sees zero revenue.
The Fix: Prioritized Action Plan
Immediate (This Week)
| Action | Impact | Effort | Why |
|---|---|---|---|
| Remove 404 URLs from sitemap | HIGH | 30 min | Broken pages waste crawl budget. |
| Add noindex to ~5,800 zero-traffic pages | CRITICAL | 2 hours | Stops Google from indexing pages that hurt site quality. |
| Fix template cross-contamination errors | MEDIUM | 2 hours | Roof permit info on siding pages signals low quality. |
| Submit Google disavow file for spam domains | HIGH | 1 hour | juegospokemon.info, fongtil.info, bigbigstyle.com—disavow immediately. |
This Quarter
| Action | Impact | Effort | Why |
|---|---|---|---|
| Build more cost calculators (siding IL, windows IL) | HIGH | 1 week each | Replicate the model that drives 30% of all traffic. |
| Publish 4 real blog posts per month | HIGH | Ongoing | Energy-efficient siding post proves the model. |
| Rewrite top 10 city pages with genuine local content | HIGH | 2 weeks | Real photos, named crews, local case studies. |
| Expand case studies from ~5 to 25+ | HIGH | Ongoing | 48,000 customers = limitless material. |
| Add dates + third-party links to reviews page | MEDIUM | 1 day | Curated-looking reviews hurt trust. |
This Year (Strategic)
- Prune or consolidate 80%+ of city pages. Keep only cities with real operations. 200 quality pages > 6,000 templated ones.
- Clean up the backlink profile. Investigate whether the spam links were built by the agency or are negative SEO. Disavow either way.
- Build the “tool” moat. Cost calculators are the competitive advantage. Build more: material comparison tools, financing estimators, insurance claim checklists.
- Tie reporting to revenue. Every SEO report should show: organic visits → form submissions → booked jobs → revenue. Not keyword counts.
Want Us to Audit Your Site?
We do this for roofing companies, home services, medical practices, and any business that suspects their SEO agency is playing keep-away with results. Our Quick Audit takes the same Ahrefs data, Google Quality Rater analysis, and EEAT scoring you just read—and applies it to your site in 48 hours.
No keyword-count vanity reports. Just the truth about what’s working, what’s broken, and exactly how to fix it.
Roofing companies: RoofingLaunch.co—run by Ethan Van De Hey—specializes in digital marketing for roofers. From SEO cleanup to lead generation, his team knows the roofing industry inside and out.
