Ecommerce SEO Strategy: How to Run SEO on a Catalogue That Changes Every Week
A step-by-step operating plan for mid-market retailers: inventory your URLs by commercial role, fix indexation before content, build category and comparison pages, and measure organic revenue by template.

Most ecommerce SEO advice assumes a stable catalogue. Real mid-market stores don't have one. Picture a South African homeware retailer with roughly 4,500 SKUs across 60 categories: merchandising reshuffles category structure every quarter, the dev team ships every two weeks, and roughly 40 SKUs are discontinued or out of stock on any given day. SEO doesn't own that catalogue, but it has to stop the catalogue from quietly destroying its organic revenue. This plan sequences the work so the moving parts don't undo each other.
What Has to Be True Before You Touch an Ecommerce SEO Programme
Five prerequisites, in order. Skip any one and the rest of the steps produce busywork.
- Analytics with a revenue dimension. Join organic landing page, transactions and revenue; sessions alone can't judge templates.
- A URL inventory. A crawl plus sitemap diff, refreshed monthly, covering every indexable URL and its template.
- An agreed taxonomy owner. One named person in merchandising who signs off category names and structure. SEO advises; merchandising decides.
- A publishing route. Whether new pages go through the dev release or a separate path, write it down.
- A stock-state rule. Define what happens to a page when its SKU goes out of stock, and for how long.
Google's SEO Starter Guide frames SEO around two jobs: helping search engines understand your content and helping users find your site. On a moving catalogue, both break the moment nobody owns the inventory of URLs.
Step 1: Inventory Your URLs by Commercial Role, Not by Template
Templates tell you how a page is built. Roles tell you what commercial job it does, which is what should drive your rules. Classify every indexable URL into one of seven roles:
| Role | Example URL pattern | Owner | What 'good' looks like |
|---|---|---|---|
| Category-browse | /bedroom/linen/ | Merchandising + SEO | Curated intro copy, filters for real needs, links to top products |
| Product detail | /p/linen-duvet-cover-white-double/ | Catalogue/PIM | Unique spec, dimensions, stock state, schema |
| Variant | /p/linen-duvet-cover-white-double/?colour=sage | Dev | Canonical to parent unless demand justifies its own page |
| Comparison/use-case | /guides/linen-vs-cotton-bedding/ | SEO/content | Answers a real buying decision with product evidence |
| Editorial | /journal/how-to-layer-a-bed/ | Content | Genuine expertise, links into categories |
| Utility | /cart/, /account/, /search | Dev | Noindexed, excluded from sitemap |
| Dead weight | empty facet layers, stale tag pages | SEO | Consolidated or noindexed, not left to rot |
Step 2: Decide the Catalogue's Indexation Rules Before the Content Rules
Facets multiply. A category with five filter groups and four options each generates hundreds of combinations, most with no meaningful demand. Google's faceted navigation guidance warns that facets create effectively infinite crawl space and recommends indexing only the facets users actually need. Write the rules as a file, not a vibe:
# robots.txt excerpt - illustrative
Disallow: /search
Disallow: /*?*sort=
Disallow: /*?*view=
Disallow: /*?*page=
Allow: /*?colour=
# Variant canonical rule: ?colour= self-canonical only where
# search demand exists; otherwise canonical to parent PDP
On pagination: rel=next/prev is no longer treated by Google as an indexing signal, so don't assume it solves page-2 discovery. Make sure page 2+ is linked and self-canonical.

