From 6s Load Time to Core Web Vitals Pass — Rankings Followed
Severe technical SEO issues fixed: slow load times, indexing problems, and broken architecture that blocked all rankings.

Overview
Apex Roofing Group had a website that looked decent on the surface, but was technically broken underneath. Pages weren't being indexed by Google, load times were over 6 seconds, and Core Web Vitals failed on all three metrics. Despite having good content and a decent backlink profile, the site couldn't rank because of fundamental technical issues. I was brought in to fix the technical foundation so their existing content and links could finally work.
The Challenge
Render-Blocking Resources
Multiple CSS and JavaScript files were render-blocking, meaning the browser couldn't display any content until all files downloaded. This caused a 6.4-second load time on mobile.
Indexing Issues
Google Search Console showed that only 47% of pages were indexed. A broken XML sitemap, incorrect robots.txt directives, and canonical tag errors were preventing Google from crawling and indexing key service pages.
Large Unoptimized Images
Project photos were uploaded at 4000px+ resolution with no compression. A single page had 12MB of images. This was the #1 cause of slow load times.

Strategy
I ran a full technical SEO audit using Screaming Frog, Google Search Console, and PageSpeed Insights. I crawled all 84 pages and found: 42 pages with indexing errors, 6 render-blocking scripts, 12MB of unoptimized images on the homepage alone, 8 duplicate location pages, and zero schema markup. The site's technical foundation was actively blocking rankings despite good content and links. I prioritized fixes by impact: image optimization and render-blocking first (biggest LCP improvement), then indexing fixes (biggest coverage improvement), then schema and duplicate content.
Research & Audit
Full technical, content, and competitor analysis to identify gaps.
UX Structure & Design
Information architecture, wireframes, and visual direction.
Build & SEO
WordPress/Elementor build with SEO-ready structure from day one.
Launch & Optimize
Testing, speed validation, and conversion optimization.
What We Built
Image Optimization
Compressed all 200+ images to WebP format, resized to appropriate display dimensions, implemented lazy loading, and added width/height attributes to prevent layout shift.
- All images converted to WebP
- Average image size: 2.4MB → 180KB
- Lazy loading implemented
- Width/height attributes added to prevent CLS

Render-Blocking Resource Fixes
Deferred non-critical JavaScript, inlined critical CSS, and async-loaded third-party scripts. Eliminated 6 render-blocking resources.

Indexing Fixes
Rebuilt the XML sitemap (was broken with 404 URLs), fixed robots.txt (was blocking /services/ directory), corrected canonical tags on 12 pages, and submitted all fixed URLs to Google via Search Console's URL Inspection tool.
- XML sitemap rebuilt (84 valid URLs)
- robots.txt fixed (was blocking /services/)
- 12 canonical tag errors corrected
- All URLs submitted to GSC

Duplicate Content Resolution
Rewrote all 8 location pages with unique content: local landmarks, specific project references, suburb-specific FAQs, and unique service area descriptions. No two pages share more than 20% content similarity.

Schema Markup Implementation
Implemented LocalBusiness schema (with NAP, hours, geo-coordinates), Service schema (for each service page), FAQPage schema (for FAQ sections), and BreadcrumbList schema. All validated via Google's Rich Results Test.

Internal Linking Architecture
Restructured internal linking: homepage links to all service pages, service pages link to relevant location pages, location pages link back to service pages. Created a logical, crawlable structure.

Before & After
1.8 seconds
94/100
100% of pages
Passed all 3
Results
Performance
Load time: 6.4s → 1.8s. PageSpeed score: 38 → 94. All Core Web Vitals pass (LCP 1.8s, CLS 0.02, FID 45ms). The site is now one of the fastest in the roofing vertical.
Indexation
100% of pages now indexed (from 47%). Google Search Console shows all 84 pages crawled and indexed. Coverage errors: 0.
Organic Traffic
Organic traffic increased 185% within 6 weeks of fixes. The site finally ranks for target keywords because the technical blockers were removed.
Schema Validation
All schema validated via Google Rich Results Test. LocalBusiness, Service, and FAQ schema are eligible for rich results.
Client Feedback
"Our site went from loading in 6 seconds to under 2. Zeeshan found indexing problems we didn't even know about. Traffic jumped 185% in 6 weeks."
Want Results Like This for Your Business?
I'll analyze your website and show you exactly what's holding it back — no obligation, no fluff.