Ecommerce SEO: a complete playbook
By Outranked.me · published · updated · 13 min read
Ecommerce SEO fails in ways other sites never encounter: too many URLs, borrowed product copy, and inventory that dies. Here is what to fix, in order.
Most advice written for online shops is general SEO advice with the word "product" pasted in, and it misses what actually goes wrong. Shops fail in ways a blog or a service site never encounters, for structural reasons: a shop generates far more URLs than it has content, most of its product copy was written by someone else, and its inventory disappears without warning.
Everything below is organised around those differences. For the general mechanics of how results are assembled, our plain-English explanation of how Google ranking works covers that ground and this article will not repeat it. Throughout I use an illustrative shop — invented, and none of its figures are measurements. Call it Larkspur Kitchen: two people, 430 SKUs of cookware, knives and kitchen tools, on a standard hosted platform.
The shape of the problem: 430 products, tens of thousands of URLs
Larkspur has 430 products. It has roughly 40 category and subcategory pages. That should be about 470 pages worth crawling.
What its platform actually generates is closer to this:
- Every category can be filtered by brand, material, colour, price band and size, and each combination produces a URL.
- Every category can be sorted five ways, and paginates, and each of those produces a URL.
- Every product with variants produces a URL per variant, and internal search, tag and "recently viewed" pages produce more.
Six filter groups with a handful of options each, multiplied by sorts and pagination, moves you from hundreds of URLs into the tens of thousands without a single new piece of writing. That ratio — content constant, URLs exploding — is the defining feature of ecommerce SEO, and almost every serious problem on a shop is downstream of it. Google crawls near-identical pages instead of the 470 that matter, so new products get discovered slowly and your internal linking is diluted across junk.
Which page type actually earns the traffic
Shops habitually pour effort into product pages. For most of them, the return is poor, and the reason is in the search queries.
| Page type | Queries it can win | Realistic role | |---|---|---| | Home | Brand name, occasionally a very broad category | Trust, navigation, link destination | | Category and subcategory | "Cast iron frying pan", "japanese chef knife", "non-stick saucepan set" | The traffic earner for most shops | | Product | Exact model names, SKUs, "Brand X Model Y review" | Converts, rarely acquires | | Filtered/faceted | "Small cast iron frying pan under £50" — sometimes | Occasionally valuable, usually noise |
Category pages match the way people search when they do not yet know what they want to buy, which is most of the time. Product pages match the way people search once they have chosen — at which point the manufacturer, a marketplace and three larger retailers are usually ahead of you, on a page where you have no differentiation because you are all selling the identical object in identical words.
For Larkspur, the honest priority is: get 12 to 15 category pages genuinely good before touching 430 product pages. A category page written properly — explaining how to choose between the things on it, what the material differences mean, what sizes suit what — can earn links and rank for the queries that bring people who have not decided yet. This inverts the usual instinct, and it is the most useful reallocation of effort available to a small shop.
What a category page needs that a product grid does not
A bare grid of products is a thin page with a heading. To rank, a category page usually needs, above or below the grid:
- A short explanation of the buying decision the category represents.
- Answers to the two or three questions people ask before buying from it.
- Internal links to its subcategories and to the categories people compare it against.
- A stable, human-readable URL that survives a reorganisation.
None of that is decoration. It is the only content on the page that is yours.
Faceted navigation, the biggest crawl problem in ecommerce
Google publishes guidance on faceted navigation because the problem is so common and so damaging. The practical version is a triage, and the question to ask of every facet is: would anyone ever search for this combination? "Cast iron frying pans" — yes; worth its own indexable URL. "Cast iron frying pans, sorted by price descending, page 3" — no; that should not be crawlable at all.
The triage
Facets that deserve a real URL. Usually a small set: category plus one meaningful attribute. Brand within a category, material within a category, sometimes size. Treat these as real pages with a unique title, a unique meta description, a sentence or two of real text, and a place in your navigation. If you cannot write a distinct sentence about it, it does not deserve to be a page.
Facets that should exist for users but not for crawlers. Sorting, price sliders, "in stock only", multi-select combinations. Render these without crawlable links (triggered by JavaScript or POST rather than an <a href>), block the parameter patterns in robots.txt, or canonicalise them to the unfiltered category. Blocking prevents crawling; a canonical does not prevent crawling but consolidates the signal. On a big catalogue, preventing the crawl is usually what you want, because Google's time is the cost you are trying to avoid.
Facets that should not exist at all. Empty combinations. A shop generating a URL for "red ceramic knives under £10" when it has never stocked one is manufacturing thin pages at industrial scale.
The check that takes ten minutes
Search site:yourdomain.com and compare the reported count to your actual product and category count. If it is an order of magnitude larger than 470-ish, you have a facet problem, and it is almost certainly your highest-value technical fix. The wider set of crawl and indexing issues is covered in our guide to technical SEO for people who are not developers.
The manufacturer description problem
Larkspur imports its product feed from suppliers, and so do its competitors. The description on Larkspur's page for a particular saucepan is word-for-word the description on eleven other shops' pages for the same saucepan.
Google does not have a duplicate content penalty in the punitive sense — its documentation treats duplication as a filtering and canonicalisation issue rather than a manual action. The practical outcome is the same: when several pages carry the same text, one gets shown and the rest do not, and it is rarely the smallest shop.
You cannot rewrite 430 descriptions and should not try. Treat product pages as a conversion channel rather than an acquisition channel, and reserve rewriting for the few that matter.
Rewrite properly: best sellers, own-brand or exclusive lines, and anything you know more about than the manufacturer does. For Larkspur that might be 25 products. Add what a supplier never writes: what it is like to use, what it is not good for, what it goes with.
Leave the feed copy but add something small and unique: everything else. A single genuine paragraph — a sizing note, a care note, a comparison with the neighbouring product — beats a rewritten spec sheet and takes two minutes.
Add first-party content that accumulates: customer questions answered on the page, and real reviews. Both create text only you have, at a cost that scales with orders rather than with your time.
One thing not to do: run the feed through a rewriting tool to produce 430 spun variants. That is the pattern Google's spam policies describe as scaled content abuse, and it misses the point anyway — the problem was never the wording, it was the absence of anything worth saying.
What to do when a product dies
Every shop accumulates dead URLs and most handle them badly — leaving 404s everywhere, or blanket-redirecting the lot to the homepage, which Google's documentation notes is treated as a soft 404 anyway. The right answer depends on why the product died and whether the URL had any value. Larkspur discontinues perhaps 40 lines a year; here is the decision it makes on each.
| Situation | What to do with the URL | Reasoning | |---|---|---| | Out of stock, returning within weeks | Keep the page live. Say it is out of stock, give a date, offer notification | The URL has accumulated value; removing and restoring it wastes it | | Permanently gone, direct replacement exists | 301 redirect to the replacement product | The searcher's intent is fully served by the new page | | Permanently gone, no direct replacement, good category exists | Keep the page live with an "no longer available" notice plus links to the closest alternatives, or 301 to the category | Preserves any links and search traffic; sends the visitor somewhere useful | | Seasonal, returns annually | Keep the page live year-round, marked as out of season | Rebuilding a page's standing every year is more expensive than keeping it | | One variant discontinued, product remains | Remove the variant, keep the product URL | Nothing has actually died at page level | | Never received traffic or links, and never will | Let it 404 (or 410) | A clean 404 is a valid answer; there is nothing to preserve | | Whole range discontinued | 301 the products to the category, keep the category with an explanation | Category-level intent survives the range |
The pattern: redirect when there is a genuine equivalent, keep the page when there is history worth preserving, and 404 when there is neither. Redirecting to something unrelated because "redirects preserve link equity" preserves nothing — it just annoys the person who clicked. Keep a record of what you redirected where, and check for chains: a shop that has reorganised twice often has URLs hopping through three redirects.
Why nobody links to a product page
This is the hardest structural fact about ecommerce and it is rarely stated plainly. Links are earned by pages people have a reason to reference, and nobody has ever thought "I should link to a shop's listing for a 24cm saucepan." A shop that relies on product pages to acquire links will acquire none. If the mechanism is unfamiliar, our explanation of how backlinks actually work sets out what a link does and does not transfer, and the glossary definition of a backlink is the two-minute version.
What works for shops specifically:
Build the linkable asset next to the category, not the product. A genuinely good "how to choose a chef's knife" piece, one click from the knives category, can attract links that then flow internally to the commercial pages. That is the main legitimate reason for a shop to run a content section at all.
Use what you uniquely have. Shops hold information nobody else does: what customers ask, what gets returned and why, what fails after a year. Publishing that honestly is more linkable than any listicle.
Accept that supplier and trade relationships are the realistic early route. Stockist pages, trade bodies, local press if you have premises. Slow, unglamorous, real. Getting your first backlinks when nobody has heard of you goes through the sequence. Avoid the ecommerce link packages that will find you first; that corner of the market is heavily spammed and the exchange is bad in both directions.
Structured data: where it pays and where it does not
Product structured data is one of the few ecommerce-specific technical jobs with a direct, visible return: it feeds the price, availability and review information that can appear in results and in Google's shopping surfaces. The parts worth implementing, in order:
- Product markup on every product page: name, image, description, brand, SKU, and an offer with price, currency and availability. Availability must be accurate and must update — stale "in stock" markup on a dead product is worse than none.
- Breadcrumb markup on products and categories, so the result shows your category path rather than a truncated URL.
- Review and aggregate rating markup, but only for reviews genuinely collected from customers and visible on the page. Google's structured data documentation is explicit that markup must describe content actually present on the page, and its spam policies cover fabricated review content. Marking up reviews you invented is a fast way to lose the feature and more.
- Organisation markup on the home page.
Structured data is not a ranking boost. It changes how an existing result is presented, which can change how often it is clicked — worth having, and not the same thing. Validate with Google's own testing tools rather than your platform's app, and re-check after any theme change, which is when markup silently breaks.
A sequencing plan for a two-person shop
If Larkspur has roughly four hours a month, the order that produces the most for the least is:
- Month one: run the
site:count, find the facet explosion, fix crawlable filter URLs. Nothing else matters as much. - Month two: pick the eight categories that map to the money, write real content on each, fix their titles and internal links.
- Month three: product structured data and breadcrumbs across the catalogue, plus a review collection mechanism that keeps producing unique text unattended.
- Month four: the discontinued-product policy above, applied retroactively to the existing mess.
- Month five onward: one genuinely good guide per quarter next to a money category, and the slow link work.
Writing product descriptions never appears as a step of its own, and steps one to four are largely one-off structural work rather than an ongoing retainer. If you are weighing up outside help, the decision framework for hiring an SEO agency is worth reading before signing anything monthly, because much of this is fixed-scope engineering dressed up as a subscription. None of it is fast, either: what the evidence supports about how long SEO takes sets better expectations than any promise a supplier will make you.
Mistakes that recur
Letting the platform decide URL structure. Some platforms nest products under categories, so a product in two categories has two URLs and moving it breaks one. Flat product URLs, with categories used for navigation, avoid a whole class of problem.
Deleting products to "clean up the site". Deleting a page with links and history destroys value that is expensive to rebuild. Use the table above, not tidiness.
Blocking the wrong things in robots.txt. Blocking the directory that holds your product images, or your CSS, is a self-inflicted wound that persists for months because nobody looks. Meanwhile the thing you should be blocking — internal search result pages, which are generated, thin and infinite — usually is not.
Chasing head terms with no chance. If a query is dominated by the three largest retailers in your country, a 430-SKU shop will not displace them this year. Longer, more specific category queries are the winnable ground, and keyword research without a paid subscription finds them at no tooling cost.
Questions shops ask
Should I write unique descriptions for all 430 products? No. Rewrite the ones you know something about, add a short unique note to the rest, and let reviews and questions do the accumulating.
Do I need a blog? Only as a factory for the linkable pages your product pages can never be. One publishing generic posts nobody would cite is pure cost.
How many products before a category deserves its own page? Enough that a visitor would find it useful — usually a handful. A category page with one product on it is a product page with extra steps.
Do variant URLs help? Rarely, unless people search for the variant by name. Colour and size variants usually belong on one page.
Where a paid listing fits, and where it does not
We run a marketplace where businesses pay to hold a public position, so treat what follows with appropriate suspicion.
A public paid ranking sells attention from people browsing a leaderboard. That fits when your buyer is choosing a supplier from a shortlist. It fits most online shops poorly, because their customers do not arrive by browsing a directory of shops — they arrive by searching a product category and clicking a result. Nothing bought on a leaderboard substitutes for a category page that ranks. What paid placement genuinely cannot do applies to shops more sharply than to most sectors.
And if your actual problem is 40,000 crawlable filter URLs and eight category pages with no text on them, buying visibility anywhere — a listing, ads, anything — is renting attention to point at a shop that is not ready for it. The honest cost comparison between paid and organic sets out the trade-off in money terms rather than slogans.
The realistic reading for Larkspur Kitchen: the first four months of the plan above cost time and almost no money, and they are the highest-return work available. Paid channels make sense afterwards, to buy volume on top of a shop that already converts — not to avoid the work.