How to automatically hide sold-out products in Shopify
A sold-out product is a judgement call. Leave it up and it clutters collections and risks sending a ready-to-buy shopper to a dead end; hide it and you may bury a page that earns search traffic or could capture demand. Shopify can automate the hiding natively — Shopify Flow can unpublish and republish on inventory, and automated collections can drop zero-stock items — but both are blunt instruments: Flow 404s the product page, and collection rules only change what’s in the collection, not the product itself. Here’s how to decide, what Shopify actually does on its own, and how to automate it cleanly.
Hide, or keep visible?
There’s no single right answer — it depends on the product:
- Hide it when it won’t be back soon, or when a greyed-out “sold out” tile just dilutes the grid and makes the store look neglected.
- Keep it visible when the page earns search traffic, or when you want to capture demand — a visible sold-out product with a “notify me when it’s back” signup recovers sales a hidden page simply can’t.
Plenty of stores do both: hide the long tail that won’t return, and keep the demand-worthy items up with a back-in-stock signup.
Can Shopify hide sold-out products automatically?
Yes — Shopify has three native levers, but each has a sharp edge:
| Native method | What it does | The catch |
|---|---|---|
Automated collection condition (inventory is greater than 0, match all conditions) | Sold-out items drop out of that collection and reappear on restock | Only changes collection membership — the product page stays live and reachable by URL, search, or another collection |
| Shopify Flow template (“Publish and unpublish products based on inventory level”) | Unpublishes a product at zero stock, republishes on restock | Free on Basic and up, but hides the whole product (page 404s), and republish blindly re-adds to the channels in the action — it doesn’t restore the product’s exact prior per-channel visibility, and keeps no audit trail |
| Sort out-of-stock to bottom (automatic collection sort order) | Keeps out-of-stock products below in-stock ones | Doesn’t hide anything, and doesn’t apply to Manual sort |
So the old “Shopify can’t do this at all” line is no longer true — Flow genuinely automates unpublish/republish. The real gap is doing it cleanly.
What’s the catch with Shopify Flow?
Flow is a real automation, but it’s coarse. It unpublishes the entire product when stock hits zero (not a single sold-out variant), the unpublished page returns a 404 that can cost you ranking, and the republish action simply publishes to whatever channels you listed — it doesn’t remember or restore the product’s exact prior visibility across every sales channel, and leaves no record of what changed.
Does hiding a sold-out product hurt SEO?
It can. Unpublishing removes the page, so it stops ranking and inbound links 404 until the product is back. For a product that won’t return that’s fine (add a redirect for a permanent removal). For one that earns search traffic, prefer moving it to the bottom of the collection — the page stays live and indexable, it just stops crowding the top.
Automating it — and reversing it cleanly
The thing that makes auto-hiding safe is that it’s reversible and audited: a product is hidden when it sells out and restored to exactly its prior published state — the same visibility across the same sales channels — when it’s back, not left in a half-changed state, and with a record of every change. Cloak does exactly that: it auto-hides a product the moment it hits zero and republishes it with its exact prior visibility on restock, with every change reversible and logged. No manual unpublishing, no blanket Flow republish, no products stuck in the wrong state. Cloak is free for up to 50 managed products; Pro (€19/mo) removes the cap.
And if a sold-out product is one you’d rather keep visible to capture demand, pair it with a back-in-stock signup (Restockwell) instead of hiding it — the two strategies cover the two kinds of sold-out product.
Frequently asked questions
- Can Shopify hide sold-out products automatically?
- Yes, with caveats. Shopify Flow (free on Basic and up) has a 'Publish and unpublish products based on inventory level' template that unpublishes a product at zero stock and republishes it on restock, and automated collections with an 'inventory greater than 0' condition drop sold-out items out of that collection. Both are blunt: Flow hides the whole product and its page 404s, and collection conditions only change membership, not the product page itself.
- Should I hide sold-out products or keep them visible?
- It depends on the product. Hide it when it won't be back soon or just clutters the grid. Keep it visible when it earns search traffic or when you're capturing demand — a visible sold-out page with a back-in-stock signup recovers sales a hidden page can't. Many stores do both: hide the long tail, keep the demand-worthy ones up with a 'notify me'.
- Does hiding a sold-out product hurt SEO?
- It can. Unpublishing a product (manually or via Flow) removes its page, so it stops ranking and inbound links 404 until it's back — fine for a product that won't return, risky for one that earns traffic. Safer options are moving it to the bottom of the collection (page stays live and indexable) or, for a permanent removal, adding a redirect.
- How do I move sold-out products to the bottom of a collection?
- Set the collection's sort order to any automatic option (best selling, price, date) and Shopify keeps out-of-stock products below the in-stock ones. It's a lighter touch than hiding — products stay reachable and indexable, they just stop crowding the top. Note it doesn't apply to collections set to Manual sort.