WooCommerce out of stock: when to hide a product and when to keep it
Out of stock in WooCommerce is the state where a customer sees the product but cannot add it to the cart. Whether to hide it depends on whether it will come back. Leave a short gap visible with delivery information, or allow backorders. Redirect a product withdrawn for good to its successor. Hiding all out-of-stock products at once is a store-wide setting.
Author: The TellMyShop team. A guide for WordPress site and WooCommerce store owners: the cause, the manual fix and the same work in a chat conversation.
Last updated: · 6 min read
Decision table: hide or show?
Start with one question: will this product come back, and when. The rest follows from the answer.
| Situation | What to do in WooCommerce | What the customer sees | What happens in Google |
|---|---|---|---|
| back in a few days | keep it visible, stock 0 or backorders with a notice | the product page with a delivery date | the page stays in the results |
| coming back, but you do not know when | keep it visible, point to similar products in the description | the product page with alternatives | the page stays, traffic is not lost |
| seasonal product | keep it visible out of season, with a return date | the product page saying “back in March” | the page keeps its position for next season |
| not coming back, there is a successor | 301 redirect the URL to the successor | the new product straight away | signals move to the new URL |
| not coming back, no successor | keep the page with information or redirect to the category | the product page with alternatives, or the category | decide based on traffic and links to the page |
| one variation has sold out | keep the product, mark the variation as unavailable | a choice with a clear message | no change |
| many short runs that do not return | turn on hiding out-of-stock items for the whole store | only available products | old pages still work at their URLs |
We cover redirects and deleting products separately, in the posts on a deleted WooCommerce product and the 301 redirect in WordPress.
How does WooCommerce work out that a product is out of stock?
It depends on whether stock management is enabled for the product. You set this in the product, on the Inventory tab.
- With stock management. You enter a quantity, and WooCommerce changes the availability by itself. At zero the product gets the out-of-stock status, unless you allow backorders.
- Without stock management. There is no quantity, and you set the status by hand: in stock, out of stock or on backorder. It is easy to forget to change the status after a delivery.
- Backorders. The choices are: do not allow, allow but notify the customer, allow. The second option is usually the most honest towards the customer.
- Low stock threshold. WooCommerce emails you when the quantity drops to the threshold. You can set it for the whole store and separately per product.
- Variations. Each variation has its own stock. A variable product may show as available even though the most popular size has sold out.
Hiding out-of-stock products is in WooCommerce, Settings, Products, Inventory. It works for the whole store. When you need rules for one category, or want to push out-of-stock items to the end of the list instead of hiding them, WooCommerce has a paid extension for that, described on the page about sorting and hiding out-of-stock products.
Remember that hiding changes the store quietly. A category where half the products have sold out looks empty, even though everything is in the admin. If the store suddenly looks bare, see the post on why the shop page shows no products.
What does out of stock change in Google?
A product page that still works usually stays in the results. WooCommerce adds structured data with availability to it, so Google may show an out-of-stock note. This is described in the guide to product structured data.
In shopping ads the rule is stricter. The specification of the availability attribute in Merchant Center requires availability in the product feed to match the page. A product marked available in the feed and unavailable on the page may be disapproved. For products withdrawn for good, Google advises removing them from the feed instead of marking them unavailable.
How does the chat check and change stock levels?
The TellMyShop plugin for WordPress and WooCommerce connects your store to your chat (Claude or ChatGPT). In TellMyShop Free the chat finds products with no stock, compares them with sales and tells you which of them sold best, so their absence costs the most. It also checks why a specific product does not show in the store, including whether hiding out-of-stock items is to blame. It saves nothing.
In TellMyShop Pro the chat changes stock once the Sales switch is on in the plugin panel. That switch covers prices, sales, discount codes, stock, variations and shipping, and stays on until you turn it off. In one batch the chat sets up to 50 products or variations: quantity, a delivery such as “plus 20 units”, stock management, status without stock management, backorders and the low stock threshold.
You: The delivery has arrived. Add 20 units of the Basic Zip Hoodie in size M and allow backorders for size L, with a notice for the customer.
Your chat: Preview of changes:
Size L sold in the last 30 days, so it is worth adding the shipping time to the description. Save? (yes / no)
You: Yes.
Your chat: Saved. Size M is available, size L can be ordered with a backorder notice.
Basic Zip Hoodie, size M
old version: Stock: 0, out of stock
new version: Stock: 20, in stock
Basic Zip Hoodie, size L
old version: Backorders: do not allow
new version: Backorders: allow, but notify customer
The values in the conversation are examples. Every change goes into the change history, and you can undo most of them. With stock there is one trap, which the undo preview will show: undoing restores the quantity from before the change, so any sales in the meantime would be overwritten.
What the chat does not do in this task: it does not change the store-wide setting for hiding out-of-stock items, because that is a WooCommerce option, not a product's stock. It would only change it with the Service switch, so it is usually quicker to click it yourself. Nor does it connect to a wholesaler or warehouse software. It changes stock at your request, with numbers from you.
Start with TellMyShop Free, which shows what is missing and what it costs. Read more about the plugin on the TellMyShop for WordPress and WooCommerce page, and Pro prices are on the pricing page. When a product is in stock and still not moving, read the post on why a product is not selling.
Questions and answers
Should I hide products that are out of stock?
It depends on whether they will come back. A product returning in a few days or weeks is better left visible with clear information, because the page already has traffic and links. Hiding them across the whole store with one option makes sense when you have many short-lived products that do not return.
Where is the setting for hiding out-of-stock products?
In WooCommerce, Settings, Products, Inventory. The option to hide out-of-stock items works for the whole store at once. Hidden products disappear from lists, categories and the store search, but their pages still work at the direct URL.
What is the difference between out of stock and backorders?
When a product is out of stock, the customer cannot add it to the cart. When you allow backorders, they can buy it despite zero stock, and you ship it after delivery. In that case give a realistic shipping time in the description.
Will an out-of-stock product drop out of Google?
A product page that still works usually stays in the results, and Google may show an out-of-stock note next to it. Problems start when you delete the product or hide it from internal links for a long time. In shopping ads, availability in the feed has to match the page.
Will the chat change stock levels by itself?
Yes, in TellMyShop Pro with the Sales switch on, up to 50 products or variations per batch. The preview warns when a product that sold in the last 30 days is about to become unavailable. Without the switch the chat prepares a plan and a preview, but does not save.
WordPress is a trademark of the WordPress Foundation. WooCommerce is a trademark of Automattic Inc. Claude is a trademark of Anthropic PBC. ChatGPT and OpenAI are trademarks of OpenAI. TellMyShop is not affiliated with these companies.