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
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
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
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
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
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
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
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
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
More E-commerce SEO
The other disciplines, written for online stores.
Keyword Research for e-commerce
Splitting category, product, comparison, gift and seasonal searches, then deciding which filter combinations earn their own landing page. Every cluster gets one owning URL, so categories, products and guides stop competing.
Read moreOn-Page SEO for e-commerce
Title and H1 patterns that scale across thousands of products, category pages with copy that helps people choose, unique product detail, and Product, Offer and BreadcrumbList markup that matches what the page shows.
Read moreContent Strategy for e-commerce
Buying guides, comparisons, gift guides and category copy planned around the seasonal calendar and built to feed revenue pages. Manufacturer descriptions replaced where it pays, and dead blog posts pruned.
Read moreLocal SEO for e-commerce
For retailers with shops: store pages that are not doorway pages, Google Business Profile categories and attributes, local inventory in Merchant Center, and click and collect searches that online-only rivals cannot win.
Read moreOff-Page SEO for e-commerce
Product-led PR, gift guides, stockist pages, product and store reviews within the fake review rules, and disclosed creator content. Authority routed to category pages, where it moves revenue.
Read moreThe 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.
| Issue | Symptom | Fix | Impact |
|---|---|---|---|
| Uncontrolled faceted navigation | Huge numbers of filter URLs crawled; category signals split | Indexable pages only for approved combinations; the rest blocked from crawl or canonicalised, with filter links that do not create crawl paths | High on large catalogues |
| Sort and view parameters crawled | ?sort=, ?orderby=, ?view= URLs in the index or crawl stats | Block via robots.txt where safe; canonical to the unsorted page | Medium |
| Collection-path product URLs (Shopify) | /collections/x/products/y crawled and linked alongside /products/y | Theme change so grids link to /products/y; canonical already points there by default | Medium to high |
| Internal search results indexed | /search?q= pages in the index, sometimes spammy queries | Noindex the search template and keep it out of crawl paths | Medium, high if spam queries appear |
| Discontinued products returning 404 en masse | Lost links and rankings after range changes | Rule-based handling: keep, redirect to replacement, or 410 | Medium to high |
| Product markup inconsistent with page or feed | Merchant Center warnings, missing product results | Generate markup from the same data as the page and the feed | Medium |
| Heavy app and tracking scripts | Poor INP and LCP on product pages, mainly on mobile | Audit and remove unused apps, defer non-essential scripts | Medium |
| Geo-redirects by IP | Googlebot only ever sees one market's store | Suggest market switching with a banner instead of forced redirects; use hreflang | High 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.
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
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
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
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
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
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.
Growth from real projects
Learn more about technical seo
Technical SEO in other industries
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.