E-commerce
The e-commerce SEO checklist, in the order the checks actually matter
E-commerce SEO fails in three places: crawlable URLs, duplicate and faceted pages, and product markup that contradicts the page. Fix those before touching content. A store with 40,000 crawlable filter combinations has a crawl budget problem no amount of blog posting will fix.
Indexation — is it even reachable?
- Product and category pages return 200 and are in the XML sitemap
- The sitemap is generated from the catalogue, not maintained by hand
- HTML contains the product text without JavaScript execution — check with view-source, not DevTools
- robots.txt does not block the shop directory, assets or the sitemap itself
- Pagination is crawlable with real links, not a JavaScript "load more" button alone
- Internal search result pages are noindex — they are infinite and they are not content
Duplication and facets — where crawl budget dies
Faceted navigation is the biggest single source of index bloat in e-commerce. Four filters with five options each generate several hundred URL combinations, most of which are near-identical to each other and none of which anyone searched for.
- Canonical every filtered view to the clean category URL, unless a facet has genuine search demand
- Facets you deliberately want indexed get a real, static URL and unique copy — not a query string
- Sort-order parameters (?sort=price) are never indexable variants
- One product reachable via three category paths still has exactly one canonical
- Tracking parameters do not create new indexable URLs
Product markup that matches the page
Product structured data is the highest-yield markup in e-commerce and the easiest to get flagged for. The rule is simple and absolute: the price, currency and availability in your JSON-LD must match what a human sees on the page, at all times.
- Product with name, image, description, sku and brand
- Offer with price, priceCurrency, availability and priceValidUntil where relevant
- AggregateRating ONLY if real reviews are visible on that page — inventing them risks a manual action
- BreadcrumbList matching the visible breadcrumb trail
- No Product markup on category pages; use ItemList instead
Out-of-stock and discontinued products
Deleting a product page that has links and ranking history throws away an asset. The right handling depends on whether the product is coming back.
- Temporarily out of stock
- Keep the page, keep it indexed, set availability to OutOfStock, and offer alternatives on the page.
- Permanently discontinued, replacement exists
- 301 to the replacement product. Not to the category, and definitely not to the home page.
- Permanently discontinued, no replacement
- Keep the page live with a clear message and links to the category, or 410 it if there is nothing useful to say.
- Seasonal
- Never delete. The page rebuilds authority every year and you cannot buy that back.
Content and internal links
- Category pages carry copy that answers the buying question, placed where it helps a human rather than dumped below the fold
- Product descriptions are yours, not the manufacturer feed every competitor also published
- Every product links up to its category, and categories link across to genuine alternatives
- Blog and guide content links into commercial pages with descriptive anchor text
- No orphan products — if nothing links to it, it does not exist
Speed, on the pages that convert
Core Web Vitals matter most on category and product pages, because that is where sessions start and end. The usual culprits are unoptimised product imagery, a carousel that ships more JavaScript than the rest of the page combined, and third-party tags whose value nobody has audited since installation.
Questions people ask about this
- Should category pages have text on them?
- Yes, if it helps a buyer choose. A wall of keyword-padded copy under the fold helps nobody and has not worked for a decade. Two or three genuinely useful paragraphs near the products, answering the question that decides the purchase, does work.
- How do I stop Google indexing thousands of filter URLs?
- Canonicals to the clean category URL, plus not linking to filter combinations you do not want crawled. Robots.txt disallow prevents crawling but leaves already-indexed URLs stranded, so use it deliberately rather than as a first response.
- Is duplicate manufacturer content really a problem?
- It is not a penalty — it is a competition problem. Two hundred stores publishing identical text gives Google no reason to prefer yours, so it prefers the one with more authority. Rewriting descriptions for the products that actually sell is the highest-return content work in most stores.
Who wrote this
Anas Bin Masud builds e-commerce sites and does technical SEO for businesses in the UK, Canada and Pakistan — fifteen live client sites, six of them stores taking real payments. The examples in these guides come from those builds and from the audit that rebuilt this site, not from a content brief. More about how I work, or read the case studies.