Ecommerce SEO: the real mechanics, in the order to fix them
Category page architecture, faceted navigation, product variants, schema and internal linking, with what Google's own documentation says about each.
Published by AI Knows Us · Updated 12 October 2026
Ecommerce SEO is won on category pages, crawl control and clean product data, in that order. Fix crawl waste first so Google spends its budget on pages that can rank, then build category pages that are the best page on the web for their phrase, then make every product page unique and marked up with valid Product data, then link the set together. Product pages win long tail searches; category pages win the high volume ones, which is why they deserve the most work.
This page covers the mechanics: architecture, faceted navigation, variants, schema, pagination and internal linking, in the order to fix them.
The order of work
| Order | Work | Why it goes here |
|---|---|---|
| 1 | Crawl control: faceted URLs, internal search pages, session parameters | Until crawl waste stops, later fixes are found slowly |
| 2 | Indexing audit: what is indexed, what is excluded and why | Separates crawling problems from quality and duplication |
| 3 | Category architecture and content | Holds the highest volume commercial phrases |
| 4 | Product page uniqueness and Product structured data | Wins long tail searches and feeds rich results |
| 5 | Internal linking and pagination | Distributes authority, exposes deep products |
| 6 | Speed and out of stock handling | Compounds once the structure is right |
Category page architecture
A category page should map to one phrase a person actually searches, and the taxonomy should read like the way buyers describe things rather than the way your warehouse is organised.
- One page per demand, not per attribute. If "waterproof walking boots" has real search demand, give it a crawlable, linkable page with its own title, copy and products. If "boots, size 9, blue" has none, keep it as a filter that is not indexed.
- Keep URLs shallow and stable. A flat path such as /walking-boots/waterproof/ survives reorganisation better than a deep nested tree, and it is easier to link to.
- Put text where it helps, not where it hides. A short, specific introduction above the grid on how to choose, then any longer buying guide below the products.
- Never let a category page go empty. If the range is discontinued, redirect it to the nearest live parent.
- Add BreadcrumbList markup. Google's documentation requires itemListElement with at least two ListItem entries, each with position and name, and item on all but the last: breadcrumb structured data.
Faceted navigation and crawl control
Filters multiply URLs quickly, and Google's guidance on managing faceted navigation is specific. It recommends preventing the crawl of facet URLs you do not want indexed, either by blocking them in robots.txt or by using URL fragments, since Google Search generally does not crawl or index fragments. It describes rel="canonical" and rel="nofollow" as less effective in the long term for this job.
Where facets do need indexing, the same page asks for standard ampersand separators, a consistent parameter order, and an HTTP 404 for an empty result set rather than a redirect. Three rules follow:
- Decide the small set of filter combinations with real demand, give those static URLs, and link to them from the parent category.
- Keep every other combination out of the crawl, and keep links to them out of your HTML where you can.
- Remember that robots.txt stops crawling, not indexing. Google is explicit that it is not a mechanism for keeping a page out of search, and that a blocked page never has its noindex rule read. Use noindex on a crawlable URL to remove a page, and robots.txt to stop the crawler spending time there.
Variants and duplicate product pages
Colour and size variants are the most common source of near duplicate pages in a catalogue. Pick one model and apply it consistently.
| Model | Best when | What to implement |
|---|---|---|
| One page, variants chosen in the interface | Variants differ only by colour or size and nobody searches them | A single canonical URL, all variants described in the content |
| A page per variant | People search the variant, or each has its own code and reviews | Unique titles and copy, each self canonical, all linked from the parent |
| A page per variant, canonicalised to the parent | Variant pages help shoppers but add nothing for search | rel="canonical" pointing at the parent on every variant |
Google's guidance on specifying a canonical URL ranks the signals: a redirect is a strong signal, a rel="canonical" annotation is a strong signal, and sitemap inclusion is a weak one. It asks for absolute URLs and for consistency, so avoid sending contradictory signals, such as a canonical pointing one way while a sitemap and internal links point another.
Manufacturer descriptions are the other duplication problem. Rewrite the first paragraph in your own words and add what the supplier never provides: fit notes, compatibility, what is in the box, and the questions support gets asked about that product.
Product structured data
Google's merchant listing documentation requires name, image and an offers object containing price and priceCurrency, and it states that only pages where a shopper can buy are eligible for merchant listing experiences. It also notes that Product rich results support pages focused on a single product, so do not mark a category page up as a Product.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Trailhead Waterproof Walking Boot",
"image": ["https://example.com/img/boot-1.jpg"],
"sku": "TRL-900-BRN-9",
"brand": { "@type": "Brand", "name": "Example" },
"offers": {
"@type": "Offer",
"url": "https://example.com/boots/trailhead-waterproof/",
"price": "129.00",
"priceCurrency": "GBP",
"availability": "https://schema.org/InStock"
}
}
</script>
Google's ecommerce structured data page also recommends BreadcrumbList, Organization, Review, VideoObject and LocalBusiness where you have stores. Mark up only what is visible, and confirm each template with the Rich Results Test before rolling it out across thousands of URLs.
Internal linking and pagination
Deep products get found through links, so give every product a path three clicks or fewer from the home page. Useful patterns: curated links from each category to its best sub categories, related product links driven by genuine substitutes rather than random picks, and buying guides linking into categories and products with descriptive anchor text.
On pagination, Google's documentation is clear that crawlers follow links in the href attribute of anchor elements, which makes ordinary pagination the most crawler friendly pattern. If you use load more or infinite scroll, keep real paginated URLs behind it and support discovery with sitemaps or feeds. Sitemaps have hard limits worth knowing: 50,000 URLs or 50MB uncompressed per file, as stated in Google's sitemap guide, so large catalogues need a sitemap index.
Out of stock and retired products
- Temporarily out of stock: keep the page and the markup live, show the expected return date, offer alternatives.
- Discontinued with a successor: redirect to the successor product.
- Discontinued with no successor: redirect to the parent category, or keep the page with a clear notice if it still earns links.
- Seasonal: keep one stable URL year after year and update it, rather than making a new page each season.
This page covers on site ecommerce SEO. For crawl and rendering checks across any site type, work through a technical audit in order. For product feeds and shopping campaigns, use your advertising platform's own documentation, which stays more current than any third party guide.
The Ecommerce SEO questions worth an answer
How is ecommerce SEO priced?
Three structures are common: a fixed price audit or migration project, a monthly retainer for ongoing content and optimisation, and a day rate for advisory work. Catalogue size, platform and number of markets drive the figure more than anything else, so send one identical scope to three suppliers and compare the ninety day deliverable list against the price. That tells you the going rate for your work more accurately than any published benchmark.
Should category pages have long text at the bottom?
Add text when it answers a real question a buyer has at that moment, such as how to pick a size or what the certifications mean, and put the useful part above the grid. A long block of keyword repetition at the foot of the page helps nobody and dates quickly.
Do I need unique copy on every one of 40,000 products?
Prioritise. Write unique content for products that already get impressions, high margin lines, and anything with reviews or support questions attached. For the long tail, make the page distinct through specifications, images, stock status and related products.
How do I handle the same catalogue across countries?
Give each market its own URL set, declare the relationships with hreflang, and translate rather than duplicate. Keep prices, currency and availability accurate per market, since those fields appear in search results.
What should I check after a platform migration?
Redirect map tested URL by URL, old sitemaps replaced, Search Console coverage watched daily for two weeks, structured data revalidated, and your top revenue URLs checked with the URL Inspection tool.
One more place products get compared
Product schema, clean variants and internal links help Google understand a catalogue. The same preparation helps an assistant answer "which kettle is best under 3000" with your product in it.
The difference is that the answer compares, and it draws on reviews and editorial pages as much as on yours. Check three product queries and see which listings are cited. If a marketplace or review site appears but your page does not, the data on your page may be thinner than theirs. AI Knows Us takes product comparison questions to the assistants and lists the sources.