E-Commerce SEO Case Study: 46.6K Impressions and 12.2% CTR in 90 Days
E-commerce SEO case study: a technical and on-page overhaul took this online store to 5.71K clicks, 46.6K impressions, a 12.2% CTR, an average position of 5.8 and 2.03K AI Overview impressions — verified in Google Search Console.
- Industry
- E-Commerce / D2C Online Store
- Engagement
- 25 Jun – 21 Sep 2026

Project Overview
A consumer e-commerce store with a large, fast-growing catalogue was publishing more products every week but search visibility was flat. Crawl budget was being burned on parameter and facet URLs, category pages cannibalised each other, and the product template was too heavy for mobile. Over a 90-day engagement we rebuilt the technical foundation, restructured the category and product pages around real search demand, and instrumented everything in Google Search Console so every change could be measured.
The Challenge
The store was losing impressions to itself. Faceted navigation and URL parameters created thousands of near-duplicate pages, the same head term was targeted by several categories at once, and new products were discovered but not indexed. On top of that, the product template shipped render-blocking JavaScript and uncompressed imagery, so Core Web Vitals failed on mobile — the exact device where most of the store's demand lives.
- Thousands of parameterised and faceted URLs duplicating category content and splitting crawl budget.
- Category and product pages competing for the same head terms (keyword cannibalisation).
- New SKUs stuck in “Discovered – currently not indexed” for weeks after launch.
- Mobile LCP well above 4s on category and product templates.
- No Product, Offer or Review structured data — listings without rich results.
- Guides and blog posts published with no internal links to revenue pages.
The Solution
We treated the store as a system rather than a checklist. First we mapped crawl behaviour and consolidated duplicate clusters behind canonical rules and robots directives, then rebuilt the XML sitemap around indexable templates only. Second we fixed the front end: code-splitting, preloaded hero images, AVIF/WebP conversion and deferred third-party scripts brought the templates back inside Core Web Vitals thresholds. Third we rewrote the on-page layer — one primary query per URL, unique intros for the top 40 categories, and Product, Offer, AggregateRating and BreadcrumbList JSON-LD across the catalogue. Finally we built a hub-and-spoke internal linking model so guides fed categories and categories fed bestsellers.
How the Work Was Executed
- 01
Crawl & Duplicate Analysis
Analysed crawl paths and index coverage to isolate parameter, facet and sort URLs, then quantified exactly how much crawl budget and link equity they were absorbing.
- 02
Technical Remediation
Canonical and robots rules for facets, a cleaned XML sitemap split by template, code-splitting, image compression with AVIF and lazy loading, and faster server responses.
- 03
On-Page & Structured Data
One primary query per URL, rewritten titles and meta descriptions, unique category copy, FAQ content and Product, Offer and AggregateRating schema on every listing.
- 04
Measurement & Iteration
Weekly Google Search Console reviews segmented by page type, query group and device, plus Core Web Vitals field data monitoring to protect every gain.
What Was Implemented
- Canonical tags and robots rules covering parameter, facet and sort URLs
- XML sitemap split by template with non-indexable URLs pruned out
- Product, Offer, AggregateRating and BreadcrumbList JSON-LD across the catalogue
- Mobile LCP work: preloaded heroes, AVIF/WebP, deferred non-critical JavaScript
- Unique intro copy and heading hierarchy on the top 40 category pages
- Internal-linking hubs connecting guides → categories → bestsellers
- Cannibalisation resolved so each URL owns exactly one primary query
- Weekly GSC reporting cadence by page type, query group and device
The Results
Between 25 June and 21 September 2026 the store recorded 5.71K clicks from 46.6K impressions, a 12.2% average click-through rate and a site-wide average position of 5.8. Index coverage stabilised — new products are now indexed within days instead of weeks — and the category pages that had been cannibalising each other each own a clear query. CTR at 12.2% is the signal that titles and descriptions now match intent, while position 5.8 keeps the store inside the first screen for its priority terms.
5.71K clicks · 46.6K impressions · 12.2% CTR · average position 5.8 — verified in Google Search Console.
Visibility in Google's AI Overviews
Beyond classic blue links, the store earned 2.03K impressions in Google's generative AI features during the same window. Clear entity signals, structured product data and answer-ready category content mean the catalogue is being surfaced in AI answers as well as organic results — an increasingly important share of discovery for e-commerce queries.

Source: Google Search Console, Performance report, 25 Jun 2026 – 21 Sep 2026 (all devices). AI Overview figures cover 25 Jun – 23 Sep 2026.
Skills & Tools Applied
Want numbers like these for your site?
Send me your URL and I'll review your technical SEO, Core Web Vitals and search visibility — with a prioritised action list.