Most e-commerce SEO problems are not content problems. They are architecture problems — faceted navigation generating millions of URLs, variants competing with each other, and out-of-stock pages quietly disappearing. Here is how to find and fix them.
E-commerce SEO advice usually starts with content — write better category descriptions, add a buying guide, target long-tail terms. That advice is fine and it is rarely the constraint. The constraint on most stores is that Google cannot efficiently work out which of your 400,000 URLs are the 4,000 that matter.
These are the technical problems we find most often, what each one costs, and how to fix it without breaking the store.
1. Faceted navigation is generating a URL explosion
Filters are the defining technical problem of e-commerce SEO. A category with six filters averaging five options each can generate tens of thousands of crawlable combinations, most of them near-identical, some of them empty, all of them consuming crawl capacity that should be spent on products.
The symptom is a Search Console coverage report where discovered and crawled URLs vastly exceed anything in your sitemap, and where genuinely new products take weeks to appear in the index.
The fix is a policy, applied consistently. Decide which facet combinations are allowed to exist as indexable pages — usually the ones with real search demand, like a brand within a category, or a size within a type. Everything else should be reachable for users and unavailable to crawlers: parameters excluded via robots.txt where they add no unique value, rel=canonical pointing at the clean category URL, internal links to non-indexable combinations rendered without crawlable hrefs, and no filtered URLs in your sitemap.
The mistake to avoid is noindex, follow at scale. Google eventually treats long-term noindexed pages as nofollow too, so the links on them stop passing value while the pages continue being crawled — you get the crawl cost without the benefit.
2. Variants are competing with each other
Colour and size variants that each get their own indexable URL split relevance across near-identical pages, and Google picks one — often not the one you would have chosen, and sometimes a different one per query.
Pick a canonical product page per product and point every variant at it, unless a variant genuinely has independent demand — where people search for the specific colourway, or where the variant carries its own model number. Keep the variant selectable on the canonical page without changing the URL in a way that creates a new indexable document.
3. Out-of-stock pages are being deleted
This one is expensive and extremely common. A product sells out, the platform hides or deletes the page, and a URL with years of accumulated authority and links returns a 404 or redirects to the category.
For temporarily unavailable products, keep the page live, mark availability correctly in your structured data as OutOfStock, and give the visitor somewhere to go — back-in-stock notification, the successor product, the closest alternatives. For permanently discontinued products, 301 to the nearest equivalent product where one exists and to the parent category only where it does not. A 410 Gone is appropriate when nothing replaces it, and preferable to a redirect that sends everyone to a page that does not answer their query.
4. Pagination and infinite scroll hide half your catalogue
If page two of a category exists only after a click on a JavaScript control with no crawlable link, the products on it may be effectively invisible to search. Infinite scroll implementations are the frequent offender, and the deeper a product sits in a large catalogue the more likely it is affected.
Every paginated view should have a real, crawlable URL and a real anchor tag. Load-more buttons are fine for users, provided a crawlable path to the same content also exists. Self-referencing canonicals on paginated pages, not canonicals pointing back to page one — page three is not a duplicate of page one.
5. Your structured data is incomplete rather than absent
Most stores have Product markup. Fewer have it complete and accurate: price, currency, availability, condition, aggregate rating and review counts that match what the page actually displays. Mismatches between markup and visible content are a manual action risk, and incomplete markup means losing rich results to competitors whose feeds are cleaner.
Beyond Product, the fast wins are BreadcrumbList on every product and category, Organization on the home page with your real business details, and FAQPage only where the questions genuinely appear on the page.
6. The store is slow where it matters most
Product and category templates are where money is made and where third-party scripts accumulate — reviews widgets, chat, personalisation, upsell apps, analytics. Each one is a main-thread cost, and Interaction to Next Paint is the Core Web Vital most sites now fail.
The thresholds are LCP under 2.5 seconds, INP under 200 milliseconds and CLS under 0.1, measured at the 75th percentile of real visits. On a Shopify store the biggest lever is usually the app count; on WooCommerce it is usually the page builder and unoptimised images. Both are speed optimisation work rather than SEO work, and both show up in SEO reporting.
7. Nobody owns the redirect map
Every replatform, every category restructure and every product rename creates redirects, and redirect chains accumulate until a URL is three hops from its destination. Audit for chains and loops after any structural change, and keep the map in version control rather than in a plugin's interface where nobody can review it.
The order to work in
- Measure the index. Search Console coverage, a full crawl, and a comparison between what is indexed and what should be.
- Stop the bleeding. Faceted URL policy first — it is the largest source of waste on almost every store.
- Consolidate. Variant canonicals, pagination, duplicate categories.
- Protect what you have. Out-of-stock handling and the redirect map.
- Then optimise. Structured data, internal linking from content to commercial pages, and page speed.
- Only then write more. Content published into a store Google cannot crawl efficiently is content you have paid for twice.
Questions we get asked
How much crawl budget do I actually have? Enough that it is rarely the binding constraint for stores under a few thousand URLs, and a genuine constraint above that — particularly when a large share of crawls are being spent on filtered and sorted duplicates. Check the crawl stats report before assuming either way.
Does an XML sitemap fix an index problem? No. A sitemap is a suggestion about what exists, not an instruction about what to index. It helps discovery of new URLs; it does not overcome a site that is telling Google, through its links and canonicals, that thousands of near-duplicates deserve attention.
Should category pages have long descriptions at the bottom? Only where they answer something a buyer actually needs answered. A block of keyword-shaped text below the fold does very little in 2026; a genuinely useful sizing, compatibility or buying-decision section does a great deal, and earns links besides.
Are these problems different on Shopify and WooCommerce? The causes differ, the symptoms do not. Shopify generates its own duplication through collection and tag URLs and limits some robots directives; WooCommerce gives you full control and therefore full responsibility. Both need an explicit faceted policy.
Two problems specific to each platform
On Shopify, the recurring issues are collection and tag URLs generating near-duplicate pages, products reachable at more than one path, and limited control over robots directives, which pushes you towards canonical tags and internal-linking discipline instead. App scripts are the other constant: each one adds main-thread work to exactly the templates that matter most.
On WooCommerce, you have complete control and therefore complete responsibility. Product attribute archives, tag archives and author archives are indexable by default and rarely deserve to be. Layered navigation plugins generate parameter URLs freely. And performance is bounded by hosting, image handling and the page builder, none of which the platform decides for you.
The common thread is that neither platform ships with a URL policy. Someone has to write one down, and on most stores nobody ever has.
If your organic traffic has plateaued while your catalogue has grown, this list is where we start — comprehensive SEO run against the architecture first, and the content calendar second.
Looking for more? Browse all resources.











