For out of stock products SEO, the rule is simple: if the product is coming back, keep the page live with a 200 status, mark it as out of stock and show alternatives. If it is gone for good, 301 redirect it to the closest replacement or category. Use a 404 or 410 only when nothing relevant exists. Never send every dead product to the home page.
Why sold-out pages matter after the sale season
After Black Friday, Christmas and the January sales, many stores have dozens of products at zero stock. Some will be restocked, some were seasonal and will return next year, and some are discontinued. Each page may have rankings, backlinks and shopping traffic. Treat them all the same and you lose that traffic or leave visitors on dead ends.
Start with a list. Export every product with zero stock and add three columns: will it come back, roughly when, and is there a close replacement. Then check which URLs get clicks in Google Search Console’s Performance report and start with those.
Temporarily out of stock: keep it indexed with a 200
If the product will be back, the page should stay exactly where it is and return a normal 200 status.
- Say it clearly near the price: “Out of stock, expected back in March” is better than a greyed-out button with no explanation. Only give a date if you have one.
- Offer a back-in-stock email sign-up. WooCommerce and Shopify both need an extension, app or theme feature for this; check what you already have before adding another.
- Show alternatives above the fold on mobile: related products in stock, other sizes or colours, or the parent category.
- Keep the content. Description, specifications, reviews and images stay. They are what the page ranks for.
- Keep internal links from the category page where it makes sense, even if the item sorts to the end.
Seasonal products that return every year (Christmas gift sets, advent products) belong in this group too. Keep the same URL each year rather than creating a new product.
Discontinued products: when to 301, when to 404 or 410
301 to a replacement or the closest category
Use a permanent 301 redirect when there is a page that genuinely meets the same need:
- A direct replacement: the new model or version of the same product.
- A very close alternative: same type, similar price, same use.
- The most specific category the product belonged to, if no single product fits.
Redirect to the closest match, not the broadest. “Women’s waterproof hiking boots” is a better target than “Footwear”, and much better than the home page.
Why not redirect everything to the home page
Google can treat a redirect to an unrelated page, such as the home page, as a soft 404. The old URL’s value is not passed on, and the visitor lands somewhere that does not answer their question.
404 or 410 when nothing relevant exists
If the product was a one-off and no replacement or meaningful category exists, let the URL return 404 (not found) or 410 (gone). Both tell search engines to drop the page over time. 410 states more explicitly that the removal is deliberate. Either is fine, with a helpful 404 page that has search and category links.
Before removing a page, check it for backlinks in Search Console’s Links report. A discontinued product with good external links is worth a redirect to the nearest category even when the match is not perfect.
For the server-side redirect syntax, see the redirect section in my article on Black Friday landing page SEO. On WordPress, a redirect manager in your SEO plugin (Rank Math has one) keeps the list editable in wp-admin. Shopify has built-in URL redirects in the admin.
Structured data availability values, in general terms
Product structured data has an availability property inside the offer. Schema.org defines values including InStock, OutOfStock, BackOrder, PreOrder, LimitedAvailability, SoldOut and Discontinued. The value must match what the page shows. A page that says “out of stock” while the markup says InStock is a mismatch that shopping results can reject.
- WooCommerce outputs product structured data from the product’s stock status, and SEO plugins often add or replace it. Check the page with Google’s Rich Results Test to see which one is actually output, and make sure there is only one Product block.
- Shopify themes output product markup in the theme code, and it varies by theme. Test a sold-out product page to confirm the availability value changes when stock reaches zero.
- Merchant feeds: if you run a product feed for Google Merchant Center, the feed availability should match the page too.
Do not fake availability to keep a listing visible. Do not keep InStock on a product you cannot ship.
Platform settings that hide out-of-stock products
WooCommerce
Under WooCommerce > Settings > Products > Inventory there is an option to hide out-of-stock items from the catalogue. It removes them from shop, category and search listings. The product page itself usually stays reachable at its URL with a 200 status.
The SEO effect: those pages lose their internal links from category pages, so they become close to orphaned. Search engines can still find them through the sitemap and old links, but they look less important. If many products are temporarily out, consider leaving the setting off and sorting out-of-stock items to the end instead (this usually needs a small snippet or plugin).
Two other WooCommerce actions remove pages entirely: setting a product to draft or private, or moving it to the bin. Both make the URL return 404. Only do that when you have decided a 404 is right, or after adding a redirect.
Shopify
Shopify has no single store-wide switch to hide sold-out products from every collection. Stores do it through automated collection conditions on inventory, theme settings or apps. The SEO effect is the same as in WooCommerce: fewer internal links to the product. Setting a product to draft or archived takes its page down, so add a redirect first if the URL has traffic or links.
Post-sale timeline
Early December, after Cyber Monday (30 November 2026)
Export products at zero stock and tag each one: restock, seasonal, or discontinued.
Late December, after Boxing Day (26 December)
Repeat the export. Add “expected back” wording and alternatives to the restock and seasonal pages.
Mid January 2027
Once January sales end, add 301 redirects for discontinued products with a real replacement or category. Let the rest return 404 or 410. Stores in India running a Republic Day sale (26 January 2027) should repeat the review after that date.
February 2027
Check Search Console’s page indexing report for new soft 404s and for redirected URLs still being reported, and fix any redirect chains.
Frequently asked questions
Should I noindex out-of-stock product pages?
Not if the product is coming back. Keep it indexed with a 200 status, mark it out of stock and show alternatives. A noindex removes the page from search, and it takes time to return after the restock.
Is it bad to redirect discontinued products to the home page?
Yes. Google can treat it as a soft 404, so you lose the benefit of the redirect. Redirect to a replacement or the closest category, or let the URL return 404 or 410.
Does hiding out-of-stock items in WooCommerce hurt SEO?
It does not remove the product pages, but it removes the category links to them, which makes them look less important. For short stock gaps, sorting sold-out items last is usually the better option.
Which structured data availability value should a sold-out product use?
Use the value that matches the page: OutOfStock for a temporary gap, BackOrder or PreOrder if customers can still order, and Discontinued only if you keep the page live for a product that will not return.
Examples of stores I have worked on include the William Walter Antiques headless WooCommerce and technical SEO project and the Jewelvers large-scale Shopify jewellery store. If you need the redirects, templates and structured data sorted on WordPress, you can hire a WordPress developer for out-of-stock SEO work, or a Shopify developer for a Shopify store.
Have a list of sold-out products and no plan for them yet? Send me the list and I will tell you which pages I would keep, redirect or remove.