Ecommerce SEO

Automated SEO analysis and reporting for ecommerce

Your category pages carry the revenue. Your product pages carry the URL count. Report on them together and every trend line is an average of two businesses moving in opposite directions. GSC Wizard splits them, tracks each on its own baseline, and tells you which one moved.

Works with your existing Search Console property. GA4 revenue optional but worth it.

GSC Wizard dashboard example for Automated SEO Analysis & Reporting for Ecommerce

The averaging problem

Flat sitewide traffic is usually a category collapse hiding behind a long-tail product bump.

Ecommerce sites have two search businesses in one property: a few hundred category and filter pages that convert, and tens of thousands of product URLs that mostly do not. Averaged together they cancel out, and the report says 'stable' for three months while the money quietly leaves.

The problem

What breaks in ecommerce reporting

None of these show up as an error in Search Console. They show up as a quarter you cannot explain.

1

Seasonal decay looks like normal decay, until the season arrives

A garden-furniture category losing rank in January costs you nothing and triggers no alarm - the traffic was going to fall anyway. Then May arrives, the page is on position 11 instead of 3, and you find out during the six weeks that make the year. Decay has to be measured against the same weeks last year, not against last month.

2

Out-of-stock and discontinued products rot the whole domain

Products come and go, but their URLs stay - soft-404s, empty variant pages, filter combinations nobody will ever search. They pile up in the index, dilute crawl budget, and drag sitewide quality signals down until Google starts leaving your new arrivals in 'Discovered - currently not indexed'.

3

Your best category page is competing with its own filters

The category page, the brand-filtered version, the colour-filtered version and three blog posts all target the same head term. Google picks a different winner week to week, average position wobbles, and no single URL ever builds enough authority to hold the top three.

The setup

How to set it up

Four steps, most of it once. After that the report runs itself.

Step 1

Split the site into category, product, filter and content

Content groups turn URL patterns into reportable segments. Once /category/, /product/, filter parameters and /blog/ are separate groups, every chart splits four ways and averaging stops hiding things.

Content groups →

Step 2

Track decay year over year, not month over month

The content decay report compares performance against its own history, so a seasonal category falling out of its normal band gets flagged in the off-season - while there is still time to fix it before peak.

Content decay report →

Step 3

Find the filters eating your category pages

Cannibalization analysis groups every URL competing for the same query and shows which one Google actually picks. On ecommerce that is almost always a filter or a near-duplicate category you can canonicalise or consolidate.

Cannibalization report →

Step 4

Attach revenue, then re-rank the backlog

GA4 connects to the same property, so landing pages carry sessions, key events and ecommerce revenue next to their Search Console clicks. A position-8 category worth 40 EUR a click outranks a position-4 blog post worth nothing.

GA4 reports →

The output

The Monday morning ecommerce report

Scheduled, segmented, and short enough that a merchandiser will actually read it.

ECOMMERCE SEARCH REPORT - week 34 vs week 34 last year

CATEGORY PAGES        clicks -4%    revenue -11%   <- the story
PRODUCT PAGES         clicks +9%    revenue +1%
FILTER URLS           clicks +2%    revenue  0%
CONTENT / BLOG        clicks +6%    revenue +2%

DECAY - seasonal watchlist (act before peak)
  /category/garden-furniture   pos 3.1 -> 11.4   peak starts in 9 weeks
  /category/bbq-grills         pos 5.0 ->  8.2   peak starts in 7 weeks

CANNIBALIZATION - top revenue term
  'outdoor dining set'  4 URLs competing, Google picks the
  ?brand= filter 60% of the time. Canonicalise to the category.

INDEX HYGIENE
  1,240 product URLs with 0 impressions in 90 days -> prune or 410

Delivered by email, in Slack, or pulled straight into an AI agent through the MCP so it can draft the merchandising ticket for you.

What to watch

The four numbers an ecommerce SEO should report

Category-only click share

What share of non-branded clicks lands on pages that actually convert. If product URLs are growing their share, your traffic is getting cheaper per visit, not better.

Revenue per query, not per page

Blend GA4 key events and revenue onto landing pages so the backlog sorts by money. A term at position 8 with high average order value beats ten long-tail wins.

Seasonal position delta

Position now versus the same week last year for every seasonal category. The only decay metric that works when demand itself is seasonal.

Zero-impression URL count

Product and filter URLs indexed but never shown. The direct measure of how much crawl budget your catalogue is burning on nothing.

Frequently asked questions

How do I separate category pages from product pages in Search Console?

Search Console itself only offers page filters you have to reapply every time. In GSC Wizard you define content groups once from URL patterns - /category/, /product/, parameters, /blog/ - and every report, chart and export splits by those groups automatically, including the scheduled ones.

Can I see revenue next to my Search Console clicks?

Yes. Connect the GA4 property for the same site and landing pages carry sessions, key events and ecommerce revenue alongside clicks, impressions and position. That turns the opportunity list from 'most impressions' into 'most money left on the table'.

Google Search Console only keeps 16 months. How do I compare to last season?

That is exactly the ecommerce problem - two years back is the comparison you need and Google throws it away. Full storage properties in GSC Wizard keep up to 10 years of your Search Console data, so year-over-year and multi-year seasonal comparisons stay available after Google has dropped them.

What about the thousands of product URLs that never get traffic?

The site health and indexing views list URLs with impressions or clicks at zero over your chosen window, so you can prune, consolidate or noindex them in batches. Cutting dead catalogue URLs is one of the few levers that lifts crawl coverage on the pages you do care about.

Written by Jan-Willem Bobbink · Published August 26, 2026

Nearby

Other setups worth a look

See all 20 industry setups

Stop averaging your catalogue with your categories

Connect Search Console, split the site into content groups, and get a segmented report on Monday. Free to start, no credit card.