Stock & inventory automation

Shopify hide sold out products: every method, and when you shouldn't

Shopify has no single "hide out of stock" switch, which surprises everyone coming from WooCommerce. What it has is three partial mechanisms that each hide sold-out products from a different place, and a real SEO decision hiding in the middle: some of those pages are ranking on Google, and hiding them has a cost. I hear this from small retailers most weeks, usually as "how do I tidy the shop", so here's the full picture, including when the right answer is don't.

Run the free stock checker →

In short: Hide sold-out products from collection pages with automated collection conditions ("Inventory stock is greater than 0"), from on-site search with the Search & Discovery app, and demote them visually with theme settings. None of these unpublish the page or remove it from Google. Hide discontinued lines; for restocking lines that rank, keep the page visible with a back-in-stock flow instead.

Method one: automated collection conditions

The cleanest native mechanism. Automated collections rebuild themselves from conditions, and inventory is one of the available conditions. Go to Products > Collections, open (or create) an automated collection, and add the condition "Inventory stock" "is greater than" "0" alongside whatever defines the collection (product type, tag, vendor). Any product whose total inventory hits zero drops out of the collection immediately, and, this is the part that makes it the right default, rejoins automatically the moment stock comes back. No morning routine, nothing to forget.

Two caveats. It only works on automated collections: manual collections are a fixed list, and a zero-stock product sits in them until a human removes it. If your main category pages are manual collections, this is the nudge to rebuild them as automated ones with tag conditions. Second, the inventory condition looks at total stock across variants, so a t-shirt with one size left in stock still shows, which is usually what you want. And note "Continue selling when out of stock" interacts here: variants allowed to oversell are treated as available, so backorder lines won't be hidden, which is also usually right.

Method two: theme settings

Most modern themes (Dawn and its descendants included) have per-section or per-theme toggles for how sold-out items appear: show a "Sold out" badge, grey out the item, or in some themes push sold-out products to the end of collection listings. Check Online Store > Themes > Customize, then the theme settings and the collection page section settings; the wording varies by theme. A few themes offer a true hide option, but most only offer badge-and-demote, which is why collection conditions do the heavy lifting.

Honestly, badge-and-demote is underrated. It keeps the product discoverable (and its page fed with internal links) while making the state obvious, so shoppers aren't clicking through expecting to buy. For stores where most sold-out lines restock, "demote to the bottom with a clear badge" often beats hiding outright.

Method three: the Search & Discovery app

Collection conditions don't touch your on-site search box: a hidden product still comes up when a shopper searches for it. Shopify's free Search & Discovery app closes that gap. Install it, then under its settings you can boost, demote, or filter product availability in search results, and add an "Availability: In stock" filter shoppers can apply themselves on search and collection pages. Between collection conditions (category pages) and Search & Discovery (search box), the storefront is covered.

What none of these methods do: unpublish the product, change its URL, or tell Google anything. The product page is still live at its address and still indexed. That's a feature, not a gap, and it's the crux of the next section.

The SEO cost nobody prices in

Hiding a product from your storefront removes its internal links: collection pages, search results, related-product blocks. If that page ranks on Google, you've just put a ranking asset on starvation rations. The URL stays indexed and keeps getting clicks for a while, but a page with no internal links gradually loses the signals that earned its position, and when it does come back in stock you've weakened the exact page you need to sell from.

This is not hypothetical. In a manual scan of 135 UK online shops, 4 in 10 had sold-out products still live and ranking on Google: one kitchenware shop had 525 dead listings out of 2,740 products, and an aquatics store had 360, including a £1,085 item still pulling clicks. Those pages are a liability as dead ends, but they're also earned rankings, and the difference between spending that value and wasting it is what you do next, which I've broken down properly in the guide to sold-out products still showing on Google. Hiding them from your own storefront while Google keeps sending traffic to them is the worst of both worlds: shoppers still land on the page, but your site now pretends it doesn't exist.

When hiding is right, and when it's wrong

Hide (or better, redirect) when the line is discontinued. Gone for good means the page has no future as a sales page. Remove it from collections so shoppers stop finding it, and 301 redirect the URL to the closest collection or replacement so its accumulated ranking value transfers instead of evaporating. Deleting without a redirect throws that value away.

Don't hide when the line restocks. A restocking product that ranks should stay visible: badge it, demote it in the grid if you like, and put a back-in-stock signup on the page so the traffic becomes a notify list instead of a bounce. The page keeps its internal links, keeps its position, and converts the day stock returns. This is the same call I make for WooCommerce stores in the out-of-stock display guide: visible-but-marked for anything that restocks, hidden only for genuinely dead lines.

And don't hide to paper over bad data. If products keep flipping to sold out when stock exists, hiding them makes a data problem invisible instead of fixed; that fault has its own guide at sold out but in stock. Stores syncing to marketplaces have a second version of this, where hiding on the website does nothing about the eBay listing still selling the same stock.

The maintenance reality

The automated setup above is fire-and-forget, but the decision layer isn't: every sold-out product still needs someone to decide restock, redirect, or keep, and in practice nobody makes that decision because nobody has the list. That's how a 2,740-product store quietly accumulates 525 dead listings. The free stock checker gives you the list in one scan: every sold-out page still live on your store, so you can run the decision down it in an afternoon. If the list turns out to be long and keeps regrowing, the real fault is upstream in how stock gets into Shopify, and the stock sync guide covers what a feed that doesn't create dead listings looks like. For invoice-side automation the same logic applies, and that's written up in the invoice automation guide.

How do I hide sold out products in Shopify without an app?

Use automated collections with an inventory condition: Products > Collections, condition "Inventory stock is greater than 0". Zero-stock products drop out of that collection automatically and reappear when restocked. It only works on automated collections, not manual ones, and the product page URL stays live.

Does hiding sold out products hurt SEO?

Hiding from collections removes the page's internal links, which starves a ranking page of signals over time, though the URL stays indexed. If the page ranks and the product will restock, keep it visible with a back-in-stock flow instead. Hide or redirect only genuinely discontinued lines.

Can the Search & Discovery app hide out of stock products?

It can push them down or filter them out of on-site search results and add an availability filter for shoppers, which covers the search box the way collection conditions cover category pages. It does not unpublish the product or touch Google.

Do sold out products come back automatically when restocked?

With automated collection conditions, yes: the moment inventory goes above zero the product rejoins every collection whose conditions it matches. Anything you did manually, unpublishing, removing from manual collections, or adding a noindex, has to be manually undone, which is why manual hiding gets forgotten and costs sales.

About the author

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.

See which of your products are affected right now

The free checker scans your live store and lists every sold-out product still live, so you can decide what to hide, redirect, or keep, in minutes, no changes made.

Run the free stock checker →