Technical SEO

Technical SEO for Ecommerce: The Developer's Checklist

Paul Donnelly8 min read
Developer reviewing ecommerce website code on dual monitors

Ecommerce sites face unique technical SEO challenges that general technical SEO guides don't fully address. Large product catalogues, dynamic inventory, faceted navigation, and the operational complexity of product lifecycle management create technical problems that, if left unresolved, can significantly limit organic performance regardless of content quality.

This checklist covers the ecommerce-specific technical SEO issues that matter most — organised for developers who need actionable implementation guidance.

1. Crawl Budget Management

Crawl budget is the number of URLs Googlebot crawls on your site within a given time period. For small sites, it's rarely a concern. For large ecommerce sites with thousands of products and extensive faceted navigation, wasted crawl budget can prevent important pages from being indexed.

Check your crawl stats

In Google Search Console under Settings → Crawl Stats, review:

  • Total crawl requests per day
  • Crawl response code breakdown (what % are 200, 301, 404?)
  • Crawl purpose breakdown (discover new URLs vs recrawl known URLs)

A healthy ecommerce site should have the majority of crawls returning 200s on indexable pages. A high proportion of 404s or 301 redirects signals wasted budget.

Identify crawl budget waste sources

Common ecommerce crawl budget wasters:

  • Faceted navigation URLs — Filter combinations creating thousands of near-duplicate URLs
  • Search result URLs — Internal search result pages indexed or linked from crawlable pages
  • Session IDs and tracking parameters?session=abc123 or ?ref=newsletter appended to product URLs
  • Pagination on filtered views/category/?colour=red&page=4 creating paginated filter combinations
  • Out-of-stock product pages — Large volumes of permanently empty pages consuming crawl allocation

Solutions

Use robots.txt to disallow parameter patterns that generate meaningless URLs:

Disallow: /*?*sort=
Disallow: /*?*ref=
Disallow: /search?

Ensure your <meta name="robots" content="noindex, follow"> is applied on all filter combination pages you don't want indexed. The "follow" attribute is critical — it allows Googlebot to still crawl products linked from those pages.

2. Faceted Navigation: The Canonical Tag Strategy

Faceted navigation is the most technically complex issue in ecommerce SEO. The goal is to:

  • Allow Google to crawl products through filter combinations
  • Prevent filter URL variants from competing with or diluting your clean category URLs
  • Selectively make high-demand filter combinations indexable

Default implementation: canonical to unfiltered URL

For filtered URLs that don't represent a standalone ranking target, implement a canonical pointing to the base category URL:

<!-- On /womens-trainers/?colour=white&size=6 -->
<link rel="canonical" href="https://yourstore.com/womens-trainers/" />

This consolidates ranking signals to the unfiltered category page while keeping the filtered URL accessible to users.

When to create indexable filtered pages

Some filter combinations represent genuine search demand worth targeting:

  • "Nike women's running shoes" — brand + category filter
  • "blue leather sofas" — colour + material + category
  • "gaming laptops under £1000" — price-filtered category with search intent

For these, create clean permanent URLs (/womens-trainers/nike/) rather than parameter-based URLs. Apply a self-referencing canonical on the clean URL. Ensure the page has unique, substantive content beyond the filtered product grid.

Rel-alternate for language/country variants

Don't confuse hreflang rel="alternate" with canonicals. On international ecommerce sites, all language variants of a page should have self-referencing canonicals AND correct hreflang bidirectional references.

3. Product Schema: Full Implementation

Product schema unlocks rich results (price, availability, ratings in Google Search) and is increasingly used by AI shopping assistants to populate product information.

Minimum viable Product schema

{
  "@context": "https://schema.org/",
  "@type": "Product",
  "name": "Product Name",
  "description": "Product description",
  "sku": "SKU-12345",
  "gtin13": "1234567890123",
  "brand": {
    "@type": "Brand",
    "name": "Brand Name"
  },
  "offers": {
    "@type": "Offer",
    "url": "https://yourstore.com/products/product-slug",
    "priceCurrency": "GBP",
    "price": "89.99",
    "priceValidUntil": "2026-12-31",
    "availability": "https://schema.org/InStock",
    "itemCondition": "https://schema.org/NewCondition",
    "seller": {
      "@type": "Organization",
      "name": "Your Store"
    }
  }
}

Aggregate rating schema

If you display product reviews on the page, add aggregateRating:

"aggregateRating": {
  "@type": "AggregateRating",
  "ratingValue": "4.6",
  "reviewCount": "127",
  "bestRating": "5",
  "worstRating": "1"
}

Important: Only implement aggregate rating schema when reviews are actually displayed on the page. Schema that doesn't reflect visible page content can result in a manual action from Google.

Out-of-stock handling

For temporarily out-of-stock products, update availability to OutOfStock — don't delete or redirect the page:

"availability": "https://schema.org/OutOfStock"

Preserving the product page maintains accumulated SEO equity (backlinks, rankings) while accurately representing availability.

Product variants

For products with variants (size, colour), Google recommends either:

  1. One page per product with variant selector — Single canonical URL with hasVariant schema linking to variant-level offers
  2. One page per variant — Each variant has its own URL and schema, with appropriate canonical management

Option 1 is simpler to manage; Option 2 can capture more specific long-tail queries for popular variants.

4. Hreflang for International Ecommerce

International ecommerce with multiple country/language stores requires careful hreflang implementation. Errors in hreflang are among the most common technical SEO issues found in ecommerce audits.

The bidirectionality requirement

Every page in an hreflang cluster must reference every other page. If your UK product page references the US product page, the US product page must reference the UK product page:

<!-- On yourstore.com/uk/products/blue-t-shirt/ -->
<link rel="alternate" hreflang="en-gb" href="https://yourstore.com/uk/products/blue-t-shirt/" />
<link rel="alternate" hreflang="en-us" href="https://yourstore.com/us/products/blue-t-shirt/" />
<link rel="alternate" hreflang="de-de" href="https://yourstore.com/de/products/blaues-t-shirt/" />
<link rel="alternate" hreflang="x-default" href="https://yourstore.com/products/blue-t-shirt/" />

The same set of hreflang tags must appear on every page in the cluster.

Ecommerce-specific hreflang issues

Products only available in some markets — If a product is only sold in the UK, don't add hreflang to other markets. This only creates errors and potential confusion.

Currency-only pages (same language, different price) — If you serve the UK and Ireland with the same English content but different pricing, use en-gb and en-ie hreflang tags to differentiate.

Faceted URLs and hreflang — Only implement hreflang on canonical, indexable pages. Don't add hreflang to filter combination URLs with canonical tags pointing elsewhere.

Validating hreflang at scale

For large catalogues, use Screaming Frog's hreflang validator or Ahrefs' site audit to check:

  • All reciprocal references present
  • No broken URLs in hreflang annotations
  • Consistent use of absolute (not relative) URLs
  • x-default tag present where applicable

5. Handling Product Lifecycle

One of ecommerce SEO's most common technical problems is poor product lifecycle management — what happens when products are discontinued, go out of stock, or change URL.

Temporarily out-of-stock products

  • Keep the page live
  • Update Product schema availability to OutOfStock
  • Add a back-in-stock notification to retain user intent
  • Add a noindex only if the product has been OOS for more than 6 months with no return planned

Permanently discontinued products

  • If a direct replacement exists: 301 redirect to the replacement product
  • If no replacement: 301 redirect to the most relevant subcategory
  • Never return a 410 (Gone) for a page with accumulated backlinks unless you've already 301-redirected those links

URL changes (product renaming, catalogue restructure)

Implement 301 redirects from old to new URL immediately. For large catalogue restructures, prepare the redirect map before go-live and implement atomically to avoid any 404 gap.

6. Core Web Vitals for Ecommerce Pages

Core Web Vitals affect ecommerce pages in particular ways.

Product page LCP optimisation

The LCP element on most product pages is the hero product image. Key optimisations:

  • Serve images in WebP or AVIF format
  • Add <link rel="preload" as="image" href="/product-hero.webp"> in <head>
  • Set fetchpriority="high" on the LCP <img> element
  • Use srcset for responsive image delivery

Category page CLS

Category pages often suffer CLS from:

  • Product grid images loading without defined dimensions — always set width and height attributes
  • Lazy-loaded product images shifting layout — use CSS aspect-ratio boxes to reserve space

INP on filter interactions

Faceted navigation filter clicks are interactions measured by INP. Heavy JavaScript execution when applying filters (full page reload, large DOM re-renders) causes poor INP scores. Optimise filter state management with lightweight JavaScript and consider progressive enhancement patterns.

7. AI Crawler Access for Product Content

As AI shopping assistants become more prevalent, ensuring AI crawlers can access product content is increasingly important.

Check your robots.txt allows:

  • OAI-SearchBot — ChatGPT can answer "where can I buy X?" queries
  • PerplexityBot — Perplexity surfaces product recommendations for buying queries
  • Google-Extended — Google AI Overviews include product information for relevant queries

Product pages with accurate schema, fast load times, and accessible content are increasingly cited in AI-generated shopping recommendations.

FAQs

How do I know if faceted navigation is hurting my crawl budget? In Google Search Console, check Crawl Stats for your total daily crawl requests and compare this to the number of URLs in your sitemap. If Googlebot is crawling 10× more URLs than your sitemap contains, faceted navigation is likely generating a large crawl footprint. Screaming Frog can crawl your site as Googlebot to quantify the scope of the issue.

Should product schema be added via JavaScript or in HTML? HTML (server-side rendered) is strongly preferred. Google can process JavaScript-rendered schema, but it adds latency to when the schema is parsed. For dynamic product data (price, stock), ensure the JavaScript rendering happens server-side before the page is served.

Can I use the same product description across multiple product variants? Duplicate content across variant pages can cause issues. Where possible, differentiate descriptions (even slightly) per variant. At minimum, ensure canonical tags correctly consolidate variants to a parent product page.

How many redirects are too many for an ecommerce migration? There's no strict limit, but each redirect adds latency. For large catalogues, prioritise redirecting pages with backlinks and high organic traffic. Product pages with no backlinks and minimal traffic can be allowed to 404 temporarily during a migration, but should be redirected within a few weeks.

Need a full technical SEO audit for your ecommerce site? Our technical team covers everything from crawl budget to schema implementation and Core Web Vitals. Get started today.

Paul Donnelly — Backend Developer at Dynamically

Written by

Paul Donnelly

Backend Developer

Paul is a backend developer at Dynamically, leading technical SEO audits, site migrations, and structured data implementation.

Back to Insights

Work with Dynamically

Ready to put these insights into practice?

Our Liverpool-based team works with UK businesses to grow organic search, improve paid media performance and build visibility in AI-powered search. Get a free audit to see exactly where your opportunities are.