Ask a retail team where their SEO effort goes and the answer is usually product pages: unique descriptions, richer imagery, review markup, a brief per SKU. It’s defensible work, and it’s rarely where the revenue gets decided.
People don’t search the way a catalogue is structured. They search for a class of thing with two or three qualifiers: waterproof hiking boots wide fit, 60 inch oled tv, stainless steel dishwasher slimline. Those are category and filtered-category queries, and that’s where head demand concentrates. Product-level search happens mostly on brand and model number, and that traffic is people who’ve already decided. Valuable, and not the traffic you’re competing for.
Category pages are where ecommerce search revenue is decided
Treat the category tree as a product in its own right, designed against demand rather than how the merchandising team files things internally. Some categories exist because people search for them even though no buyer in your business thinks that way, and some internal categories never get an indexable page at all, which tends to be the harder half of the conversation with merchandising.
A good category page isn’t a grid with 300 words of filler underneath. It answers the selection question the searcher has (what distinguishes these products, what to buy for which use, what the constraints are). It does that above or alongside the grid rather than in a text block nobody scrolls to. Buying guidance, comparison tables, size and fitment information and useful filters belong on the page rather than in a blog post linking to it.
The practical test I apply: strip the branding off your category page and your top-ranking competitor’s, then ask whether a shopper could make a decision on yours. Most fail it. And they fail it while the team is busy rewriting product descriptions.
Faceted navigation rules are business decisions before technical ones
Filters built for shoppers generate URLs for crawlers. A catalogue of 40,000 products routinely exposes a few million addressable combinations, and nothing looks broken, which is why it goes unnoticed for years. Put Google’s own explanation in front of your engineering lead. Faceted URLs seem novel, and crawlers can’t tell whether they’ll be useful without crawling them first, so they get accessed in very large numbers. Crawling spent on useless URLs is time not spent on new ones.
I sort facets into three buckets, and the sorting is commercial rather than technical. Facets with genuine standalone search demand (brand, size, colour in some categories, material in others) get crawlable, indexable, internally linked pages with their own titles and copy, because those are combinations a shopper would search for by name. Facets with occasional demand stay crawlable and carry rel=canonical to the parent category. Everything else (sort order, view toggles, price sliders, session parameters, any combination three deep) never gets a crawlable link in the first place.
That last control is the one teams skip, and the reason matters. Canonicals and noindex get applied after a crawler has already spent the fetch. Not linking to a URL costs nothing, and it’s the only control that works before one.
Be straight about where that departs from the documentation. Google lists robots.txt disallow and URL fragments as its primary techniques and describes canonical and nofollow as generally less effective in the long term, so a disallow is a legitimate tool rather than a mistake. The addition worth making is about sequence and sunk cost. A disallow stops crawling and doesn’t stop indexing, and applying it to paths that have already accumulated links strands whatever those links carried.
So write the rules into the platform, where the links never get rendered, and use robots.txt for the URL space that already exists. The technical SEO side of this is getting those rules enforced by the platform instead of maintained as a spreadsheet of exceptions.
Product template quality at catalogue scale
You can’t write 40,000 good product pages. You can build one good template and feed it well.
The work is mostly in the data. Structured attributes (dimensions, materials, compatibility, fitment, power draw, care instructions) rendered consistently into the template and into Product and Offer markup beat any amount of prose. Reviews supply the variation and the long-tail language copywriting never will. Q&A answers the questions your returns data says people get wrong.
Fix the attribute data first, because a template can only render what the PIM contains. Reserve human copywriting for the few hundred SKUs carrying real margin or real demand. Handle variants deliberately, with one indexable page per genuinely distinct purchase decision rather than one per colourway, unless people search the colourway.
And keep the markup honest. Google’s structured data policies say you shouldn’t mark up content that isn’t visible to readers of the page, and the penalty is narrow but real. A manual action costs that page its eligibility for rich results without changing how it ranks in web search. You lose the stars and the price and keep the position, which is a bad trade in a competitive grid.
Out of stock and discontinued products you should keep indexable
Retail teams delete things. It’s the most common source of self-inflicted traffic loss I see, and it’s entirely avoidable.
Temporarily out of stock isn’t a reason to remove a page. Keep it indexable, say clearly that it’s out of stock, give a restock expectation if you have one, and surface alternatives. The availability value has to reflect reality, and the rules here got stricter.
Merchant Center requires the availability in your product data to match your landing page and checkout and disapproves the product when it doesn’t. Google then tightened the landing page requirement so an out-of-stock item shows clear text or a visibly disabled buy button. Leaving the button live on an unavailable product used to be the common workaround and now risks disapproval. If you want to keep taking orders, use the backorder value.
Permanently discontinued is a judgment. If the product has accumulated links and search demand for its model number, keep the URL alive as a page that says so and routes to the successor. That page keeps earning and keeps converting. If it has neither, redirect it to the most specific relevant category rather than the homepage, and accept that a 404 is an honest answer for a SKU nobody looked for. A redirect map sending thousands of dead SKUs to the homepage is worse than the 404s it replaced.
The pages a retailer deletes each quarter are usually worth more than the pages it publishes.
Seasonal ecommerce pages and the lead time nobody plans for
Seasonal categories get won months before the season. A gifting hub published in November is competing against pages that have had a year to accumulate links, internal linking and behavioural signals.
The operating rule is that a seasonal page is permanent and dated content isn’t. The same URL carries this year’s selection instead of a fresh one being spun up annually, because the annual URL starts from zero every time and the permanent one compounds. Content refresh happens in the shoulder season. Promotion and merchandising happen in-season.
Planning lead time for an established seasonal page is roughly a quarter ahead. For a new one it’s closer to two or three quarters, which means the decision to compete for next year’s peak is happening now rather than in the planning meeting six weeks out. That’s a budget conversation, and it’s why seasonal work keeps missing. The money gets approved on the retail calendar, and the page needed it two quarters earlier.
When your own marketplace listings outrank your product pages
This is the conversation retail leadership least wants to have. Your marketplace listings (Amazon, eBay, a distributor’s site) frequently outrank your own product pages for your own model numbers, because those domains carry authority your site can’t match page for page.
There’s no tag that fixes it, because it isn’t a technical problem. It’s a channel strategy question with a real trade-off. Marketplace sales are typically lower margin, they don’t give you the customer relationship or the data, and they train the buyer to search there next time. Direct sales are higher margin and they compound. Most organizations have never quantified that difference, which leaves the SEO team arguing about rankings when the real question is contribution margin per channel.
What’s in your control is making the direct page the better destination. Exclusive bundles, extended warranty, configuration options, a returns policy the marketplace can’t match. Feed the marketplace a deliberately narrower assortment if the economics justify it. What isn’t in your control is outranking Amazon on authority alone, and a strategy that promises you’ll do it isn’t an honest one.
How to start an ecommerce SEO strategy
Pull the revenue-by-landing-page report for the last twelve months and split it by template type. If categories are already doing most of the work on a fraction of the attention, that’s your argument.
Then audit one high-value category end to end (facets, crawlable URL set, selection content, internal linking) and use it as the pattern for the rest. My ecommerce SEO work is usually that: a set of rules the platform enforces, and the category architecture to go with them.

