Technical Ecommerce SEO

The technical SEO problems unique to online stores — faceted navigation and URL parameters, pagination, product and variant pages, out-of-stock handling, product schema, and crawl budget on large catalogs. A technical-SEO view of the Ecommerce SEO pillar.

First published: Jun 27, 2026 · Last updated: Jul 14, 2026 · Advanced
demand #1 in Ecommerce SEO#285 in Technical SEO#381 on the site

Ecommerce sites hit technical SEO problems that brochure sites never do: faceted navigation that spawns millions of parameter URLs, paginated category pages, near-duplicate product variants, products that go out of stock, and catalogs large enough that crawl budget and index bloat become real. This hub gathers those technical mechanics — they're native to the Ecommerce SEO pillar (and to other technical clusters like structured data and website structure) and cross-listed here so the implementation pieces sit in one place. Merchandising, category strategy, and platform choice live in the Ecommerce SEO section.

TL;DR — On a large catalog the through-line is crawl economics: faceted navigation, paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., and variant handling all reduce to controlling which URLs Google spends budget on and which it consolidates or drops. Get it wrong and you get index bloatAn SEO term for when a search engine has indexed a lot of low-value, thin, or duplicate URLs that don't serve search demand. It's a quality and crawl-efficiency problem, not a penalty. (millions of thin parameter pages) or the opposite (important pages never crawled). Below are the three levers for faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals., plus how paginationPagination splits a large set of content — product listings, blog archives, search results — across multiple sequentially numbered URLs. For SEO, each paginated page should be crawlable, indexable, and self-canonical; Google no longer uses rel=prev/next, but Bing still does., variants, and out-of-stock pages should be handled.

Evidence for this claim Google recommends crawlable navigation from menus to categories, subcategories, and products, with direct links covering the catalog. Scope: Google ecommerce site-structure guidance. Confidence: high · Verified: Google Search Central: Ecommerce site structure Evidence for this claim Product structured data and Merchant Center feeds provide Google with product information and can enable richer shopping appearances. Scope: Google product data surfaces. Confidence: high · Verified: Google Search Central: Share product data

Crawl economics is the through-line

The reason ecommerce breaks technically where a blog doesn’t is scale: a catalog can generate more crawlable URLs than Google will ever spend budget fetching. Every technical decision on a store — faceted navigationFaceted navigation (faceted search, product filtering) lets visitors refine a list of products or content by attribute — price, color, size, brand, rating. The SEO problem: each filter combination can spawn a distinct crawlable URL, turning a small catalog into millions of near-duplicate pages that waste crawl budget and dilute ranking signals., pagination, variant consolidation — is really a decision about where that finite crawl budgetThe number of URLs an engine will crawl in a timeframe. goes. IndexStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. bloat and under-crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. are the two failure modes, and they pull in opposite directions, so the work is deciding, per URL pattern, which one you’re guarding against.

Faceted navigation: three levers

Filters like size, color, and sort can multiply a single category into millions of parameter URLs. There are three levers, and they do different jobs:

# robots.txt — stop Google crawling filter combinations you never want indexed
Disallow: /*?*sort=
Disallow: /*?*color=
<!-- On a filtered URL you'd rather consolidate than block: canonical to the clean category -->
<link rel="canonical" href="https://example.com/shoes/" />

A robots.txt Disallow saves crawl budgetThe number of URLs an engine will crawl in a timeframe., but a disallowed URL can’t pass its canonical or be de-indexed by an on-page tag, and can still be indexed URL-only if linked. A canonical consolidates signals to the clean category, but Google still spends budget crawlingCrawling is how search engines use automated bots (like Googlebot and Bingbot) to discover URLs and download pages. A page has to be crawlable to be indexed, but crawling on its own isn't a ranking factor. the filtered URL to read it. A noindex, follow removes the page from the index while keeping its links crawlable, but likewise costs crawl. Pick per pattern: block the infinite, low-value combinations; canonicalize the useful ones that near-duplicateThe same or very similar primary content reachable at more than one URL. There's no general duplicate content penalty — the real costs are possible signal dilution, the wrong URL getting chosen, and less-efficient crawling. a real category; reserve noindex for pages that must leave the index but stay crawlable.

The correct control follows the URL pattern's demand and usefulness; there is no single rule for every filter.

A faceted URL branches into four outcomes. Sort, tracking, or redundant combinations are blocked in robots.txt. Low-demand but navigable combinations canonicalize to the base category. Combinations with real search demand receive an indexable optimized page. Empty or nonsensical combinations return 404.

Pagination after rel=prev/next

Google stopped using rel="prev" / rel="next" as an indexingStoring a crawled page in the search index so it can appear in results. Crawled is not the same as indexed — Google selects what to keep, and indexing isn't guaranteed. signal in 2019, so paginated category pages are each treated as standalone. Page 2 and beyond should be indexable, self-canonical pages — not canonicalized to page 1, which hides their products from Google — and every product should be reachable within a few clicks of a crawlable link. A “view all” page can be a cleaner canonical target when the full list loads at a reasonable size.

Variant consolidation with canonicals

Near-duplicate pages for the same product in different colors or sizes compete with each other unless you consolidate. Pick one canonical product URL and point the variants at it, or model the set with ProductGroup structured dataStructured data is a standardized way of labeling page content (using the schema.org vocabulary in JSON-LD, Microdata, or RDFa) so search engines can understand its meaning. It's not a direct ranking factor — its value is rich results and entity understanding. so Google understands them as one product with variants. The threshold call is whether a variant has its own search demand — a distinct color people actually search for may deserve its own indexable page rather than being folded away.

Out-of-stock: the signal you send

An out-of-stock page is a signal decision, not a delete decision. If the product is coming back, keep the URL live (HTTP 200HTTP 200 OK is the standard 2xx success status code, meaning the server received, understood, and fulfilled the request and is returning the resource. It's the code every page you want indexed should return — but a 200 alone doesn't guarantee Google will index the page.) with availability set to OutOfStock in product schemaProduct schema (schema.org/Product) is structured data that tells search engines a page's product name, price, availability, and reviews so it can appear in Shopping-style rich results. It's separate from a Google Merchant Center feed, though Google reconciles the two. — a 404 throws away the page’s accumulated signals and any links. If it’s gone for good with no replacement, 404 or 410 it; if there’s a clear successor, 301 to it. The mistake is reflexively 404-ing seasonal items you’ll restock.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.