A UK construction company with near-zero organic search presence. 12 months of technical SEO, location content, and authority building. Here's what the data actually showed — including what didn't work.
2.45M
Total Impressions
from ~0
13,500
Organic Clicks
+∞
15.8
Avg Position
from 29.4
+30.2%
Organic Users
GA4 verified
Baseline Issues Found
× 847 crawl errors across site
× 34 redirect chains (some 4+ hops)
× 189 service pages marked no-index
× Avg position 29.4 — past page 3
× GMB profile incomplete, 0 photos
× Zero structured data markup
What Was In Their Favour
✓ Established business — 8 years trading
✓ Real client reviews (no structured online presence)
✓ Strong service-area footprint across London
✓ Genuine expertise — content angle clear
✓ No Google penalties or manual actions
✓ Reasonable domain age (6 years)
The fundamentals were solid: real business, real work history, real service area. The problem was entirely technical and structural. No one had ever told Google what this business did, where it operated, or which pages to index. That was fixable.
Every month was tracked in GSC. Phases overlapped, but each had a primary focus that dictated what moved.
Technical Foundation
Months 1–3
▸Full technical audit: identified 847 crawl errors, 34 redirect chains, 189 no-index pages
▸Resolved redirect chains — 6 chains were killing PageRank flow to target pages
▸Fixed canonical conflicts on 23 service pages (duplicate content suppressing rank)
▸Submitted 189 previously no-indexed pages via Google Indexing API — 142 indexed within 14 days
▸Consolidated 4 near-duplicate service pages into 2 authoritative pages with clear internal linking
▸Fixed Core Web Vitals: LCP 4.2s → 1.8s, CLS 0.24 → 0.04
Content & Authority Pages
Months 4–6
▸Created 18 location-specific service pages (London + surrounding boroughs)
▸Built FAQ schema on all 18 pages — structured data indexed within 3 weeks
▸Developed 8 pillar articles targeting informational keywords (2,000–3,500 words each)
▸Internal linking audit: created hub structure from service pages to pillar content
▸Keyword gap analysis — identified 340 low-competition service queries with clear commercial intent
▸Optimized GMB profile, added 94 photos, 12 services, weekly posts
Authority & Brand Signals
Months 7–12
▸Built 38 local citations (Yell, FreeIndex, Checkatrade, Rated People)
▸Acquired 12 editorial backlinks from construction trade publications
▸Published 4 project case studies on-site — each with before/after photos and structured data
▸Press coverage in 2 regional business publications (1 dofollow, 1 nofollow)
▸Schema markup: LocalBusiness, Service, Review, FAQ — full structured data coverage
▸Monthly reporting: clients understood exactly what moved and why
All data sourced from Google Search Console and GA4. The step-change pattern in months 4–6 is the content phase landing — exactly when location pages hit page 2 and started pulling impressions.
Impressions & Clicks — 12 Month Trajectory
From 8.5K impressions/month to 2.45M · From 95 clicks to 13,500
Average Search Position — Monthly Progression
Avg position improved from 29.4 to 15.8 · Lower = better
Organic Traffic — Before vs After
Q1 Baseline vs Q4 Results · GA4 data
Keyword Rankings — Distribution Shift
Keywords in each ranking band: baseline vs 12-month result
Blog-first approach (abandoned at month 2)
Initial plan included weekly blog posts targeting informational queries. Abandoned because the informational keywords had no clear local intent — impressions would have been meaningless vanity. Pivoted to location pages targeting commercial and transactional queries instead. Better ROI.
Direct competitor link acquisition (0 of 4 converted)
Reached out to 4 trade associations expecting editorial placements. None converted in 12 months. Not unusual — long-cycle relationship building in construction. Replaced with citation-building and niche trade publication pitches, which moved faster.
Google Posts engagement was minimal
Committed to weekly GMB posts. Click-through from posts was near zero — construction searches don't engage with GMB Posts the way retail does. Maintained the cadence for freshness signals but stopped expecting traffic from it.
Fixing no-index before anything else
189 service pages Google couldn't read. The entire domain was invisible to search for work that was already done and documented on the site. This single fix accounted for the month 1–3 impression spike — Google was indexing content that had existed for years.
Location pages with commercial intent — not blog posts
Every location page was structured around a specific query: "[service] in [location]". Not brand content, not blog content — transactional content designed to rank for searches that convert. 67 location terms hit top 20 within 6 months.
Schema markup as a compounding signal
FAQ schema, LocalBusiness markup, and Review schema together created richer SERP appearances. CTR from positions 15–25 increased meaningfully once rich snippets appeared — which accelerated the position improvements further.
Related reading
Written & verified by
Umair Mansha
Founder, LazyMetrics Holdings LLC
12+ years in technical SEO and agency delivery. Managed 2,000+ campaigns across 500+ agencies. Built LazyMetrics after running an SEO agency and getting tired of tools that flagged problems but couldn't fix them.
The technical fixes in Phase 1 are what LazyMetrics automates. AI agents handle the redirect chains, no-index issues, and indexing submissions — without the manual work.