Skip to content

E-commerce SEO

Technical SEO for Ecommerce That Decides Which Store URLs Should Exist

A catalogue of a few thousand products can generate hundreds of thousands of crawlable URLs. Technical SEO for a store means deciding which of them search engines should see, and making sure the ones that matter load fast and say clearly what they sell.

years in SEO
6+
client websites worked on
60+
person doing the work
1

Free review

Get a free Technical SEO review

I look at your site before we talk and tell you what I would fix first.

Free and without obligation. I read every request myself.

Technical SEO for ecommerce: why store sites break in predictable ways

Technical SEO for ecommerce decides which of a store's URLs search engines crawl and index, and makes sure the ones that matter load fast and describe their products accurately. Store platforms are built to help people find products, and the same features that help shoppers generate URLs. A filter for colour, another for size, another for price and a sort order can produce thousands of combinations for one category. Internal search creates a new URL for every query typed. Tags, brand pages and collection paths create more. None of these are mistakes in themselves. They become problems when nobody decides which URLs search engines should crawl and index.

The symptom is usually a gap between what you submit and what Google indexes. Search Console shows large numbers of pages as "Crawled - currently not indexed" or "Duplicate without user-selected canonical", new products take a long time to appear, and category pages rank inconsistently because their signals are split across filter URLs.

Intent is the anchor for every technical decision. A filter combination that matches a real category search, such as "black leather ankle boots", may deserve to be indexable. A combination nobody searches for, such as size 7 sorted by newest, should not use crawl resources at all. Product pages must be fast and accurate for transactional searches, and guides must be crawlable for informational ones.

Key takeaways

  • Faceted navigation is the biggest technical risk on most stores: every filter needs a deliberate choice between indexable landing page, canonical, noindex or blocking crawl.
  • Temporarily out-of-stock products should stay live with accurate availability; discontinued products need a rule for keeping, redirecting to a true replacement, or returning 410.
  • Shopify creates duplicate product URLs through collection paths and lets apps add scripts sitewide; both are fixable at theme level.
  • Paginated category pages should be crawlable links with their own canonical, not canonicalised to page one or hidden behind infinite scroll.
  • Replatforming is the single largest risk event for store SEO; every old product, category and image URL needs a mapped redirect.

What's included in my technical SEO for ecommerce service

Seven areas, each ending in rules or tickets your developer can act on. Faceted navigation comes first because it decides how much of the crawl the rest of the catalogue gets.

Faceted navigation rules for every filter type in your catalogue

There is no single rule for filters. Each filter type gets one of four treatments based on demand and stock depth: an indexable landing page for searched combinations, a canonical to the parent for filters that change little, noindex as a short transition, or crawl blocking for combinations nobody looks for. Canonicals are hints, noindex still costs crawl, and blocked URLs cannot show a noindex tag, so the mix matters.

  • Treatment per filter type, written as a rule
  • Approved landing page list from the keyword map
  • Filter links that stop creating crawl paths
  • No noindex and robots.txt block on the same URL
Talk to me about faceted navigation

Sort, view and internal search URLs kept out of the crawl

Sort orders, view toggles and page-size settings show the same products in a different arrangement, and internal search can put spammy queries into the index. I set robots.txt rules where they are safe, canonicals back to the default view, and a noindex on the search template, then confirm in the crawl stats that the wasted requests fall away.

  • Robots.txt rules for sort, view and page-size parameters
  • Search results template noindexed and unlinked
  • Crawl stats checked after release
Talk to me about parameters and site search

Duplicate product URLs on Shopify and WooCommerce stores fixed at theme level

Shopify reaches products through /collections/.../products/... as well as /products/, and grids often link to the longer path. WooCommerce crawls ?add-to-cart= links and layered navigation parameters unless they are controlled. Both are template fixes rather than page-by-page work, so I write them as theme changes with before-and-after examples.

  • Grid links pointed at the canonical product URL
  • Add-to-cart and tag URLs removed from crawl paths
  • Theme tickets with example URLs for your developer
Talk to me about duplicate product paths

Out-of-stock and discontinued product rules your shop team can follow

A product that will be back stays live with a 200 status, accurate availability in the markup and a back-in-stock signup; removing and restoring it throws its rankings away each time. For discontinued lines, a page with links or traffic and a true successor gets a 301; one with value but no successor stays up with alternatives; one with nothing gets a 410. Blanket redirects to the homepage tend to be treated as soft 404s.

  • Written rule for temporary stock-outs
  • Decision tree for discontinued products
  • Range-change checklist for the merchandising team
Talk to me about stock and discontinued

Structured data and feed consistency so shopping results stay accurate

Product markup that disagrees with the page or the Merchant Center feed causes warnings and missing product results. I validate Product, Offer, ProductGroup and BreadcrumbList markup on every template and recommend generating markup, page and feed from the same data so price and availability cannot drift apart.

  • Markup validation per template
  • Page, markup and feed price and availability compared
  • Merchant Center warnings traced to their template
Talk to me about markup and feeds

Core Web Vitals on product and category templates, starting with app scripts

Store pages are heavy by nature: large images, carousels, review widgets, chat and tracking. Largest Contentful Paint usually hangs on the main product image, so it needs sizing, compression and no lazy loading. Interaction to Next Paint suffers most from third-party scripts, which is why an app and tag audit beats server tweaks on many stores. Layout shift often comes from late review stars, banners and price elements.

  • App and script inventory with removal list
  • Main image loading fixed on product templates
  • Layout shift sources found on category and product pages
Talk to me about speed and scripts

XML sitemaps and market URLs that show search engines only what should rank

Sitemaps should list only canonical, indexable product and category URLs, split so indexing can be tracked by template. Stores selling in more than one country need separate market URLs with hreflang and a switch banner instead of forced IP redirects, because Googlebot mostly crawls from the US and could otherwise never see your UK store.

  • Sitemaps cleaned and split by template
  • Hreflang checked for each market version
  • Geo-redirects replaced with a market switcher
Talk to me about sitemaps and hreflang

Experience

Technical SEO from someone who has done it many times

You work with me from the first call to the last report. No account managers, no hand-offs to a junior team.

Book a free call
years in SEO
6+
client websites worked on
60+
documented case studies
35

The technical issues I find most often on retail sites

Roughly in order of how often they appear in audits. Impact depends on catalogue size: a fifty-product store and a fifty-thousand-product store feel the same issue very differently.

IssueSymptomFixImpact
Uncontrolled faceted navigationHuge numbers of filter URLs crawled; category signals splitIndexable pages only for approved combinations; the rest blocked from crawl or canonicalised, with filter links that do not create crawl pathsHigh on large catalogues
Sort and view parameters crawled?sort=, ?orderby=, ?view= URLs in the index or crawl statsBlock via robots.txt where safe; canonical to the unsorted pageMedium
Collection-path product URLs (Shopify)/collections/x/products/y crawled and linked alongside /products/yTheme change so grids link to /products/y; canonical already points there by defaultMedium to high
Internal search results indexed/search?q= pages in the index, sometimes spammy queriesNoindex the search template and keep it out of crawl pathsMedium, high if spam queries appear
Discontinued products returning 404 en masseLost links and rankings after range changesRule-based handling: keep, redirect to replacement, or 410Medium to high
Product markup inconsistent with page or feedMerchant Center warnings, missing product resultsGenerate markup from the same data as the page and the feedMedium
Heavy app and tracking scriptsPoor INP and LCP on product pages, mainly on mobileAudit and remove unused apps, defer non-essential scriptsMedium
Geo-redirects by IPGooglebot only ever sees one market's storeSuggest market switching with a banner instead of forced redirects; use hreflangHigh for multi-market stores

Pagination and variants on a large catalogue

Pagination. Google no longer uses rel=prev and rel=next as an indexing signal, so the job is simpler: each page in the series needs a crawlable link and its own URL, and should canonicalise to itself, not to page one. Infinite scroll and load-more buttons are fine for shoppers as long as there are real paginated links behind them that a crawler can follow.

Variants. Colour and size variants usually work best as one product URL with variant parameters that canonicalise to it, described with ProductGroup markup. On Shopify, ?variant= URLs canonicalise to the main product URL by default. Separate indexable variant URLs only make sense when the variant is searched for by name and has distinct content.

Free review

Get a free Technical SEO review

Send me your site. Before the call I look at your rankings and pages, then tell you what I would fix first and what it is likely worth.

Book the review

Shopify and WooCommerce: different constraints

I work on both. The technical checklist overlaps, but the levers and limits are different.

Shopify

  • Fixed URL prefixes: /products/, /collections/, /pages/, /blogs/
  • Products reachable through /collections/.../products/... paths; fix grid links in the theme
  • robots.txt editable through the robots.txt.liquid template
  • Each app can inject scripts on every page; uninstalled apps sometimes leave code behind
  • Shopify Markets handles international subfolders and hreflang, but needs checking

WooCommerce

  • Flexible permalinks, which makes it easier to create messy URL structures
  • ?add-to-cart= and ?orderby= URLs crawled unless controlled
  • Layered navigation filter parameters create combinations quickly
  • Speed depends on hosting, caching and plugin choices
  • SEO plugin defaults decide much of the markup and sitemap behaviour

How I run a technical audit on an online store

Crawl, render, index, understand, in that order. Each step answers a question that the next one depends on.

  1. 1

    Crawl

    A full crawl with parameter discovery, compared with server logs where available. The aim is to see how many URLs exist, which ones search engines actually spend time on, and where the wasted crawl comes from.

  2. 2

    Render

    Check that product grids, prices, reviews and internal links appear in the rendered HTML. Some themes and apps load product data with JavaScript in ways that leave crawlers with less than shoppers see.

  3. 3

    Index

    Compare sitemaps, canonicals and Search Console indexing reports. Categorise excluded URLs by template so fixes can be made at template level, not page by page.

  4. 4

    Understand

    Validate Product, Offer, ProductGroup and BreadcrumbList markup, check consistency with the Merchant Center feed, and confirm that each page's title, H1 and canonical tell the same story.

  5. 5

    Prioritise and ticket

    Every issue gets a severity, effort and impact estimate, and a ticket written for your developer or platform agency. Fixes are re-crawled and verified after release.

Replatforming risk when a shop changes platform

Replatforming, for example from Magento or WooCommerce to Shopify, is the moment most store SEO is lost. URL structures change, product and category handles are regenerated, filter logic changes and old image URLs disappear. I build a redirect map for every URL that has traffic, links or rankings, check it before launch on a staging site, and monitor indexing and revenue by template for weeks after. A migration without a tested redirect map is a gamble with the whole organic channel.

Where SEO meets CRO

Speed and stock accuracy are conversion factors first

Most technical fixes on a store pay twice. A product page that loads its main image quickly and responds when someone picks a size sells more, whatever its ranking. Accurate availability in markup and feeds stops shoppers clicking through from search results to an item they cannot buy. Handling discontinued products with genuine alternatives keeps visitors who would otherwise bounce. I prioritise technical issues by their effect on both crawl and conversion.

How technical work connects to the rest

Which filter combinations to index comes from e-commerce keyword research. Template-level markup and title patterns are covered in on-page SEO for e-commerce. Stores with physical shops also need local inventory feeds and store pages handled correctly, which sits in local SEO for retailers.

For the overview of all six disciplines, see SEO for online stores.

FAQs

Technical SEO for Ecommerce FAQs

Should filter pages be blocked in robots.txt or noindexed?

It depends on the filter and the size of the catalogue. Blocking crawl saves crawl resources but means search engines cannot see a noindex tag on those URLs. Noindex keeps pages out of the index but still uses crawl. On large stores, I usually block crawl for non-valuable filters and create proper landing pages for the combinations people search for.

What should happen to products that are out of stock?

If they are coming back, keep the page live with a 200 status, mark availability accurately in the markup and offer a back-in-stock alert. If they are gone for good, choose between keeping the page with alternatives, redirecting to a genuine replacement, or returning a 410, based on links and traffic.

Is Shopify bad for technical SEO?

No. It handles hosting, sitemaps and canonicals reasonably well. Its constraints are fixed URL prefixes, duplicate product paths through collections, and apps adding weight. Those are manageable with theme changes and app discipline. Most Shopify stores I audit have a fixable theme problem rather than a platform problem.

When does crawl budget matter in technical SEO for ecommerce?

Look at Search Console crawl stats alongside indexing reports. If many URLs are crawled but not indexed, if new products take weeks to appear, or if parameter URLs dominate the crawl, it is worth fixing. Small stores with a few hundred clean URLs rarely have a crawl budget problem.

We sell in the UK and the US. Should we redirect visitors by location?

Avoid forced redirects by IP. Googlebot mostly crawls from the US, so automatic redirects can stop it from ever seeing your UK store. Use separate market URLs with hreflang, and offer visitors a banner to switch market instead. Each market version should be reachable by a plain link.

How long does a replatforming project put SEO at risk?

The risk is highest in the weeks after launch, while search engines recrawl and process redirects. With a complete, tested redirect map, most stores see only a short wobble. Without one, losses can last much longer. Plan the launch away from your peak season.

Book a technical SEO for ecommerce check on your wasted URLs

Send me your store URL and platform. On a free 30-minute call I will show you how your filters, duplicates and out-of-stock pages are affecting crawling and indexing, and which fixes would matter most.