Cyber SEO: 50% off
Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website. More information (Cookie Policy)

Accept all cookies

Technical SEO for Ecommerce: 8 Fixes for Facets, Variants, Stock and Speed

Technical SEO for ecommerce: control faceted URLs, pagination, canonicals, variants, out-of-stock pages, speed, Product schema and sitemaps, per Google's rules.

Published on
28/10/2026
Updated on
28/10/2026
Reading time
9 min
Cover of the article “Technical SEO for Ecommerce”, with a screenshot of the Sorank software next to the title

Tools

On this page

In short

technical SEO for ecommerce means making sure Google can crawl, index and understand a catalog that generates far more URLs than it has products. The eight fixes that matter most are: control faceted navigation, give each paginated page its own canonical, pick one canonical per product, mark up variants with ProductGroup, handle out-of-stock and discontinued products without soft 404s, pass Core Web Vitals on templates, add Product structured data plus a Merchant Center feed, and keep XML sitemaps limited to indexable URLs.

Want to go further? Ask

Quick quiz

Where should your online shop find its next customers?

Question 1 of 425%
When do you need sales?

A blog with 200 articles has about 200 URLs. A store with 2,000 products can expose hundreds of thousands, once every filter, sort order, color and page number becomes a link. That is why technical SEO for ecommerce is a discipline of its own: the general rules of technical SEO still apply, but the scale and the templates change the priorities. Google documents most of what follows in its guide to managing faceted navigation and its ecommerce section. This guide turns it into a checklist by page template, so each fix is applied once and works for the whole catalog.

What makes technical SEO different for an online store?

Three things set a store apart from a content site:

  • URL multiplication. Filters, sorting, pagination, tracking parameters and variants create many URLs that show almost the same list or the same product.
  • Constant change. Prices, stock and assortments change every day, so pages appear, empty out and disappear far more often than articles do.
  • Template-driven pages. A store has a handful of templates (home, category, product, search, cart). One error in the product template is copied onto every product.

The consequence is a problem of crawl budget and duplication: Googlebot spends its visits on filtered or sorted copies while new products and important categories wait. The table below maps each recurring issue to its cause and to the fix Google recommends.

IssueTypical causeFix
Crawl wasted on filtersFaceted navigation links (color, size, price)Block non-useful facets in robots.txt, index only facets with search demand
Duplicate listsSort orders, tracking parametersCanonical to the clean URL, robots.txt for sort parameters
Deep products not foundPagination by JavaScript or #fragmentCrawlable ?page=n links, each page self-canonical
Same product at several URLsProduct reached through several category pathsOne category-free product URL, canonical to it
Variants competingOne URL per color or size, no groupingProductGroup markup, one canonical per group or per variant page
Soft 404sEmpty out-of-stock or discontinued pagesKeep the page with alternatives, 301 or 404 when gone for good
Slow templatesHeavy images, third-party scriptsFix LCP, INP and CLS at template level
Sitemap noiseFiltered, redirected or noindex URLs listedOnly canonical, indexable 200 URLs

How should you handle faceted navigation?

Faceted navigation (the filters on a category page) is the first source of crawl waste on most stores. Google's guidance is direct: if filtered URLs do not need to appear in search results, block them in robots.txt, because canonical tags only reduce crawling of non-canonical URLs slowly over time, and nofollow only works if every single link to the URL carries it.

The method that works in practice is to split facets into two groups:

  1. Facets with search demand, such as "black leather sofa" or "running shoes for women". These deserve a clean, static URL, a unique title and H1, a short introduction and internal links. Treat them as real categories, as explained in our guide to ecommerce category page SEO.
  2. Facets without demand (price ranges, multiple combined filters, in-stock toggles, sort orders). Keep them out of the crawl with robots.txt rules on their parameters, or load them without generating new URLs.

When filtered URLs must stay crawlable, Google asks for the standard & parameter separator, a fixed order of filters so the same combination never produces two URLs, and an HTTP 404 status when a combination returns no products.

Watch out

Do not combine a robots.txt block with a noindex tag on the same URL. If Google cannot crawl the page, it never sees the noindex, and the URL can stay indexed with no description. Choose one: block the crawl for pure waste, or allow the crawl with noindex while old URLs drop out, then block.

What is the right way to paginate category pages?

Large categories are split into pages, and products on page 8 are only found if Google can reach page 8. Google's pagination guidelines for ecommerce set four rules:

  • Give each page a unique URL, for example ?page=2, never a #fragment, which Google ignores.
  • Link pages to each other with normal <a href> links. Google does not click "Load more" buttons, so infinite scroll needs crawlable paginated URLs behind it.
  • Each paginated page is its own canonical. Pointing page 2, 3 and 4 to page 1 tells Google to ignore the products listed there.
  • rel="next" and rel="prev" are no longer used by Google, so they do not replace links.

For a deeper look at view-all pages and load-more patterns, see our article on pagination SEO.

How do canonical tags work on product and category URLs?

A canonical tag tells Google which URL is the reference version among several near-identical pages. On a store, three rules cover most cases:

  1. One URL per product, independent of the category. If a product is sold in "Sofas" and "Living room", use a URL such as /products/oslo-sofa rather than /sofas/oslo-sofa and /living-room/oslo-sofa. Many platforms generate both by default: check which one the internal links use.
  2. Self-referencing canonicals on every indexable page, with the absolute URL, HTTPS and the same trailing slash convention as the internal links.
  3. Parameters that do not change the content (utm_ tags, session IDs, sort orders) carry a canonical to the clean URL.

A canonical is a hint that Google overrides when the signals contradict it: internal links pointing to the parameter version, a sitemap listing it, or a canonical that points to a redirected or noindex page. Consistency between links, canonicals and sitemaps matters more than the tag alone.

How should product variants be set up?

Colors, sizes and materials raise the same question on every store: one page for all variants, or one page per variant? Google supports both, as described in its product variant structured data documentation:

  • Single-page setup: all variants are selectable on one page. There is one canonical URL for the whole group, usually the URL without a variant selected.
  • Multi-page setup: each variant has its own page with complete, self-contained markup. This makes sense when a variant has real search demand of its own ("iPhone case red" versus "iPhone case").

In both cases, mark up the group with ProductGroup, list the variants with hasVariant, declare the attributes in variesBy (color, size, material, pattern, suggestedAge, suggestedGender) and give each variant its own sku or gtin. Google also asks that each variant can be preselected through its own URL, for example with ?color=green&size=small, and that the page then shows the right image, price and availability.

Example

A T-shirt sold in 5 colors and 6 sizes creates 30 variants. Indexing 30 pages would spread signals thin. A common choice is one page per color (5 pages, each with its own photos and demand) and sizes selected on the page, all grouped under the same productGroupID.

What should happen to out-of-stock and discontinued products?

Stock is where store URLs break most often. An empty product page with "Unavailable" and nothing else can be reported as a soft 404 in Search Console, and the page loses its rankings and links. The right answer depends on how long the product is gone:

SituationRecommended handling
Temporarily out of stockKeep the page live (200), set availability to OutOfStock in the markup, show the restock date and similar in-stock products
Seasonal product, back next yearKeep the page and its URL, add alternatives and a notification signup
Discontinued, with a close replacement301 redirect to the replacement or to the nearest category
Discontinued, no equivalent, no linksReturn 404 or 410 and remove it from the sitemap and internal links
Discontinued, but still earns traffic or linksKeep an archive page with specifications and successors

Avoid redirecting every discontinued product to the homepage: Google tends to treat these mass redirects as soft 404s. For the redirect rules themselves, see our guide to SEO redirects.

How fast does an ecommerce site need to be?

Google measures page experience with the Core Web Vitals. According to web.dev, a page is "good" when, at the 75th percentile of real visits on mobile and desktop, LCP is 2.5 seconds or less, INP 200 milliseconds or less and CLS 0.1 or less. Stores fail these thresholds for recurring reasons:

  • LCP: the main product photo is lazy-loaded, oversized or served in JPEG. Load it eagerly, in WebP or AVIF, at the displayed size.
  • INP: review widgets, chat, A/B testing and tracking scripts block the main thread when a visitor taps a filter or a size. Audit every third-party script and remove the ones nobody uses.
  • CLS: promotional banners, cookie bars and images without width and height push the content down. Reserve their space in the layout.

Work by template, not by URL: fixing the product template fixes thousands of pages at once. Search Console's Core Web Vitals report already groups URLs by similar pages.

Which structured data and sitemaps does a store need?

Product structured data (name, image, offers with price, currency and availability, aggregateRating when the reviews are real and on the page) makes product pages eligible for rich results with price and stock. Add BreadcrumbList on categories and products, and Organization on the homepage. Google also recommends sending a product feed to Merchant Center in addition to the markup: the feed controls what appears in the Shopping tab and is updated on your schedule. Our guide to the ecommerce product page covers the content side of the same template.

For XML sitemaps, Google's sitemap documentation sets the limit at 50,000 URLs or 50MB uncompressed per file, ignores the priority and changefreq tags, and uses lastmod only when it is consistently accurate. Practical rules for a store:

  • Split sitemaps by type (categories, products, guides) to read indexing rates by template in Search Console.
  • List only canonical, indexable URLs that return 200: no filters, no redirects, no noindex pages.
  • Update lastmod when price, stock or content changes, not on every deploy.

The free sitemap checker flags redirected, broken or noindex URLs listed by mistake.

Tip

Compare the number of URLs in your product sitemap with the number of products marked "Indexed" in Search Console's page indexing report, filtered on that sitemap. A large gap points to duplicates, thin pages or crawl issues on the product template.

Does technical SEO affect AI visibility for stores?

Yes. ChatGPT, Gemini and Perplexity now recommend products and stores, and they rely on pages they can fetch and read. Three technical points decide whether your catalog can be cited:

  • AI crawler access. A robots.txt written years ago may block OAI-SearchBot, PerplexityBot or Google-Extended without anyone noticing. Our guide to robots.txt for AI crawlers lists which bots to allow.
  • Content in the HTML. Most AI crawlers do not run JavaScript. Prices, descriptions and specifications loaded client-side can be invisible to them.
  • Clean product data. Consistent names, prices and attributes across the page, the markup and the feed make your products easier to quote correctly.

Our retail AI citation study shows which sources the AIs cite for shopping questions, and the article on AI in ecommerce covers the new AI shopping channel. To see whether your store is named in these answers, AI mention tracking follows your brand across ChatGPT, Claude and Gemini.

How do you prioritize these fixes?

Start with what blocks indexing, then what wastes crawl, then what improves rankings and clicks:

  1. Robots.txt, noindex and canonical errors on categories and products.
  2. Faceted navigation and parameter control.
  3. Pagination and orphan products.
  4. Out-of-stock and discontinued handling.
  5. Core Web Vitals on the product and category templates.
  6. Product and variant structured data, then the Merchant Center feed.

Run a full ecommerce SEO audit every few months and after each platform migration, and estimate what the fixes are worth with the ecommerce SEO ROI calculator.

SEO and GEO audit report generated by the free Sorank Chrome extension, with an SEO score, a GEO score and a list of recommendations
The free Sorank Chrome extension produces an SEO and GEO audit report for any page, useful to check a product or category template.

A technically clean store lets every product and category compete on its content instead of fighting duplicates. Once the templates are sound, growth comes from content and authority: Sorank finds the keywords your store can win, writes and publishes optimized buying guides with internal links to your categories, obtains natural backlinks automatically from the sites of its 5,000+ users and tracks your citations in the AIs, on autopilot. See the plans, from $49 per month billed annually, with a 3-day free trial.

Frequently asked questions

Is technical SEO more important for ecommerce than for other sites?

It carries more weight because stores generate many more URLs than they have products, through filters, sorting, pagination and variants. A single error in a product or category template is repeated on every page of that type. For small catalogs with few filters, the basics are enough; for large catalogs, crawl and duplication control often decide whether new products get indexed at all.

Should filtered category pages be indexed?

Only the filtered pages that match a real search, such as a color or a material people type into Google, and only with a clean URL, a unique title and some unique content. Combinations of several filters, price ranges and sort orders should be kept out of the crawl, usually with robots.txt rules on their parameters.

Which platform is best for ecommerce technical SEO?

Shopify, WooCommerce, Magento, BigCommerce and PrestaShop can all rank well when configured correctly. The differences lie in control: some platforms impose URL structures, duplicate product paths or limited robots.txt editing. Check how each platform handles canonicals, faceted URLs, redirects and structured data before choosing or migrating.

Free SEO & GEO audit

Get your content plan for 30 days for free

We analyse your competitors, your website and your AI visibility to create a tailored content plan for free.

Our free SEO tools

See all our free tools

Get a free audit of your site

THEY TRIED SORANK BEFORE YOU

Testimonials from ambitious founders

Organic growthE-commerce

0 to 10000 visitors in 5 months

Celio Fabianomonrobotlavevitre.fr
Organic growthSoftware

0 to 5000 clients in 8 months

Thibault BMsorank.com
Organic growthLeisure and aviation

0 to 1104 clicks in 4 months

Dominiqueflight-sensations-idf.com
Organic growthLead generation for installers

x98 clicks in 2 months

LeadBolt Agencyleadbolt.online
Organic growthMusic software

x55 clicks in 5 months

Valentin Cordiertiger-sounds.com