A shopper searches, Google serves your product page, they click, and they land on "Sold out". You paid for that ranking with months of authority, and it's now converting at zero. I recently scanned 135 UK online shops by hand, and 4 in 10 had exactly this: sold-out products still live and ranking. This guide covers why Google keeps sending traffic to dead pages, what it costs, and how to decide what each page deserves.
Run the free stock checker →In short: Google keeps ranking sold-out Shopify pages because the URL still returns 200 and nothing tells it the product is gone. Triage per page: restock it if you can, 301 redirect discontinued lines to the closest collection, keep restocking lines live with a back-in-stock flow, and reserve noindex for pages with no traffic worth keeping. First, find them all, because most stores are carrying far more than they think.
Nothing about going out of stock tells Google anything. The URL still loads with a 200 status, the title and description are unchanged, the internal links still point at it, and the backlinks it earned are still there. The only difference is a button state and maybe an availability field in the structured data, and Google may not recrawl the page for weeks anyway. From the algorithm's side, this is the same page that deserved position four last month, so it stays at position four.
Shopify makes this worse than WooCommerce in one specific way: there's no global "hide out of stock" switch. Sold-out products stay published, stay in the sitemap, and stay indexable unless you do something deliberate per product or per collection. Most owners never do, which is how the 4-in-10 figure happens.
Two examples from that 135-store scan. A kitchenware shop had 525 dead listings out of 2,740 products: nearly a fifth of its catalogue was sold-out pages still live, many still ranking. An aquatics store had 360, including a £1,085 item still pulling clicks from Google to a page that couldn't take an order. Every one of those clicks is a shopper who wanted the thing, found you, and bounced to a competitor.
The cost compounds. The direct hit is lost sales from clicks landing on sold-out pages. The slower hit is behavioural: a stream of visitors who arrive, see sold out, and leave in seconds tells Google the page no longer satisfies the query, and rankings that took months to earn erode. And a catalogue that's 20% dead pages drags on crawl efficiency and on shopper trust: once someone hits two sold-out pages on your site, they stop clicking your results at all.
Obvious, but worth saying because the scan data suggests many of these pages aren't deliberate decisions, they're inventory drift nobody has noticed. A ranked page with steady impressions is a demand signal: Google is telling you people still want this product. Before treating the page as an SEO problem, check whether it's actually a purchasing problem, and whether the "sold out" is even real. Sometimes the stock exists and the count is wrong, which is a different fault entirely, covered in the sold-out-but-in-stock guide.
If the product is genuinely gone for good, the worst move is deleting it (404, authority binned) and the second worst is leaving it live forever. A 301 redirect passes most of the page's accumulated value to wherever you point it. In Shopify: Online Store > Navigation > URL Redirects > Create URL redirect, old product path in, destination out. Deleting the product doesn't create the redirect for you, so set the redirect at the same time you delete or archive.
The destination matters. Redirect to the closest relevant page: the direct replacement product if one exists, otherwise the parent collection. A blanket redirect of every dead product to the homepage gets treated as a soft 404 and passes little, which defeats the point. Fifty dead listings redirected into their collections is fifty small authority transfers into pages that can still sell.
For lines that will restock, the ranked page is an asset you should not touch. Keep it live, keep it indexed, and convert the visit into a lead instead of a bounce: a "notify me when back" email signup (Shopify's own Back in stock feature, Klaviyo, or any of the notify apps), an honest restock date if you have one, and links to the nearest in-stock alternatives. A sold-out page that captures emails converts later; a sold-out page with a dead button converts never. This is the same visible-but-marked logic I recommend on WooCommerce in the out-of-stock display guide: keep the page working for you while the shelf is empty.
What you shouldn't do with restocking lines is hide them from collections to tidy the shop grid, because on most themes that also starves them of internal links while they're still ranking. The tradeoffs are in the hiding sold-out products guide.
Noindex tells Google to drop the page from results while the URL stays live. It sounds like the clean fix, and occasionally it is: a long-gone seasonal one-off with no meaningful traffic and nowhere sensible to redirect. But understand what you're spending. Noindex throws away the ranking rather than transferring it (a 301 does that better for discontinued lines), and it's slow, taking effect only after recrawl. Worse, it's a trap for restocking lines: when the product comes back, you remove the noindex and then wait weeks for reindexing and re-ranking, so you've paid the SEO cost of removal without the benefit of a redirect. On Shopify it's also awkward to apply, needing a metafield-driven theme edit or an SEO app, since there's no per-product noindex checkbox. In practice I reach for it rarely: redirect what's dead, keep what's coming back.
The triage above only works if you know the full list, and almost nobody does: the kitchenware shop above had no idea it was carrying 525 dead pages. Manually, you'd cross-reference zero-stock products (Products, filtered by inventory) against Search Console's performance report to see which still earn impressions and clicks, and prioritise by traffic and price. That's workable at 50 products and hopeless at 2,000.
The free stock checker does the tedious half in one pass: it scans your live store and lists every sold-out page that's still live, so you can run the restock/redirect/keep decision down the list instead of discovering pages one bounce at a time. And once the backlog is cleared, the durable fix is upstream: inventory that syncs cleanly (see the stock sync guide for what that involves, and the Shopify-to-eBay version if you sell multi-channel) so dead listings stop accumulating in the first place.
Because the page is still live, still indexed, and still has the ranking signals it earned while in stock. Going out of stock changes nothing Google acts on quickly: the URL returns 200, the content barely changes, and recrawl can take weeks. Google keeps ranking it until you tell it otherwise.
Not by default. Deleting a ranked page returns a 404 and throws away its authority. If the product is discontinued, 301 redirect the URL to the closest collection or replacement product. If it will restock, keep it live with a clear back-in-stock signup.
Most of it, if the destination is genuinely relevant, such as the parent collection or a direct replacement. Redirecting everything to the homepage gets treated like a soft 404 and passes little. Set it in Shopify under Online Store > Navigation > URL Redirects.
Cross-reference your zero-stock products against your indexed pages: Search Console's performance report filtered to product URLs shows which still get impressions and clicks. Or run a store scan that lists every live sold-out page in one pass, which is what the free GlideOps checker does.
Jordan Bee builds automation for UK online retailers at GlideOps. In June 2026 he manually audited 135 UK online shops, finding 4 in 10 showing sold-out products still live and ranking on Google, research that underpins these guides and the free dead-listing checker. He has built stock-sync systems covering 91,000+ products for UK retailers.
The free checker scans your live store and shows you every sold-out product still live and taking clicks, ready for the restock, redirect, or keep decision, in minutes, no changes made.
Run the free stock checker →