TL;DR
Three options, and the right one turns on a single question almost nobody asks first: is this coming back? Temporary means keep the page and keep the content, because stripping it creates a soft 404. Permanent depends on whether anything points at it. Seasonal breaks the rule and should never be redirected.
Three options, and the right one depends on a single question that almost nobody asks first: is this coming back?
Everything else follows from that, and most of the bad outcomes I see come from treating a temporary gap and a permanent discontinuation as the same event.
Temporarily out of stock: keep the page
Keep the URL, keep it indexable, keep the content. The page has earned whatever it has earned and removing it throws that away for a situation that resolves in a fortnight.
What matters is what the page says while the product is away. The failure mode is a theme that strips the buy area and leaves a title, a breadcrumb and a notice, which is a page with nothing on it, wearing a 200 status.
Google describes that mismatch directly in its documentation on soft 404s: a URL returning a success code while the content signals the page does not exist. Your out-of-stock template can manufacture those at the rate stock moves.
So keep the description, the specification, the images and the reviews. Add the availability date if you have one, and a link to the nearest alternative. The page stays a page.
Permanently discontinued: it depends on whether anything points at it
Now the judgement, and there are three sub-cases.
It has links or traffic. Redirect to the nearest genuine equivalent: the successor model, or the category. Not the home page. A redirect to a destination that does not answer the original request produces the same soft 404 mismatch, and you will see it reappear in the indexing report a month later looking like a new problem.
It has neither. Let it 404, or 410 if you want to be explicit. This is the correct outcome for the large majority of discontinued products and treating it as a loss is why catalogues grow to several times the number of pages anybody decided to publish.
It is genuinely still searched for. Rare, and worth catching. A discontinued item people still look up by name is a page worth keeping as a page: what it was, why it was replaced, and what to buy instead. That is a useful document and it captures a query your competitors have deleted.
The seasonal case, which breaks the rule
Christmas stock, summer lines, anything that returns annually.
Do not redirect these and do not delete them. A page that 301s every February and comes back every October is confusing to Google and loses whatever it built each cycle. Keep the URL live year-round with the seasonal availability stated, and let it accumulate authority across years instead of restarting.
What I would fix at the template level
Because this is a template decision, not a per-product one.
- Keep the content when the buy button goes. The single highest-value change here and it is one file.
- Remove out-of-stock items from the sitemap only when they are gone for good, not when they go out of stock.
- Update the structured data to reflect availability rather than leaving it claiming InStock. That produces a mismatch between your markup and your page.
- Link to alternatives automatically. Same category, in stock. This is the difference between a dead end and a page that still earns.
The pattern underneath
A catalogue that has never made this decision accumulates thousands of URLs in an ambiguous state: not sellable, not removed, not saying anything. That is what thin at scale usually is: not badly written pages, but pages nobody decided about.
It is also a very large number of stores facing the same decision. The 2025 Web Almanac found ecommerce software on 19.2% of mobile sites, with WooCommerce at 44.4% of those and Shopify at 25.3%, all shipping an out-of-stock template that somebody configured once, or did not.
The short version
- Ask first: is it coming back? Everything follows from that.
- Temporary: keep the page and keep the content. Stripping it creates a soft 404.
- Permanent with links or traffic: redirect to the real equivalent, never the home page.
- Permanent with neither: let it 404 or 410. That is the correct outcome.
- Still searched for by name: keep it as a document explaining the replacement.
- Seasonal: never redirect. Keep the URL live all year.
- Fix it in the template. Keep content when the buy button goes.
If a site should be ranking and it isn’t, that’s the work I do. Ecommerce SEO covers catalogue lifecycle and the URLs it leaves behind. If you’re not sure which of several plausible problems is costing you, that’s what an SEO audit is for.


