WooCommerce shop page not showing products: a rescue guide
When the WooCommerce shop page is not showing products but you can see them in the admin, the cause usually sits in one of five places: coming soon mode, the wrong shop page selected, hidden out-of-stock products, an old version of the page in the cache, or a plugin that changes the product list. Check them in that order, in a private window, logged out.
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: · 7 min read
This article covers the shop page itself, the list of all products at an address such as /shop. If a single product or one category is missing, start with the guide on a WooCommerce product not showing.
First, pin down exactly what you see
An empty shop page comes in several variants, and each one points somewhere else. Before you change anything, compare your symptom with the table.
| What you see | Most likely cause | Where to check |
|---|---|---|
| The message “No products were found…” | hidden out-of-stock products, a filter in the address, a plugin changing the query | WooCommerce, Settings, Products, Inventory; the page address |
| An ordinary page with text, no product list | the wrong shop page selected, or a page without the shop template | WooCommerce, Settings, Products |
| A “coming soon” page or a blank page with a logo | coming soon mode | WooCommerce, Settings, Site visibility |
| A 404 error at the shop address | shop page deleted or address changed | Pages, Trash; Settings, Permalinks |
| A white screen or a “critical error” | a PHP error after an update | error log, recent updates |
| Products only visible when logged in | cache or coming soon mode | cache plugin, hosting panel |
If you see a white screen or a critical error message, this is no longer a product problem. Have a look at the article on the WordPress critical error.
Step-by-step check
Each step takes a moment. After each one, refresh the shop page in a private window.
- Coming soon mode. In WooCommerce, Settings, Site visibility, the setting should be “Live”. “Coming soon” hides the shop from logged-out visitors, while you as an administrator still see everything.
- The selected shop page. In WooCommerce, Settings, Products, check the shop page field. It must point to a page that exists and is published. After importing a theme demo or moving the site, the field is sometimes empty or points to an old page in the bin.
- Missing pages. If the shop page does not exist at all, WooCommerce will create it with a tool under WooCommerce, Status, Tools. The WooCommerce pages documentation describes this. Then go back to step 2 and select the new page.
- Hiding out-of-stock items. In WooCommerce, Settings, Products, Inventory there is an option to hide products that are out of stock. When it is on and stock levels are zero after an import, the shop looks empty.
- Default sorting. If you sort by popularity or rating and the shop is new, switch to default sorting for a moment. Store owners report that the list can come up empty with that sorting. Other unusual causes, such as categories password-protected by a plugin, are collected in the Barn2 guide to an empty shop page.
- Cache. Clear the cache in your cache plugin and, if you have one, in the hosting panel. An old, empty version of the page can stay in memory long after the fix.
- Plugins. When none of the above helped, deactivate plugins one at a time, starting with product filters, multilingual plugins, page builders and anything updated recently. It is best to do this on a copy of the site.
- Error log. If the product list fails to load because of a PHP error, you will see it in the log. How to turn on error logging is described in the debugging guide on developer.wordpress.org.
Traps that are easy to miss
A shop page with its own content. In block themes, the product list is built by the “Product Catalog” template. If someone pasted their own blocks onto the shop page or assigned it a different template, you may see the page text instead of products. You can check the template in Appearance, Editor.
The shop page as the home page. This works, but only when Settings, Reading points to the same page as the WooCommerce settings. Two different pages in those two places are a common source of confusion.
A filter in the address. When the address ends with something like ?filter_colour=… or ?min_price=…, you are looking at a filtered list. Remove everything after the question mark and check again. If the problem is with filters themselves, the article on WooCommerce filters not working will help.
Hiding the message instead of fixing it. Online you will find code snippets that hide the “No products were found” message, for example in the Business Bloomer guide. That makes sense for empty filter results, but on the shop page it only masks the problem.
How the chat looks for the cause of an empty shop page
The TellMyShop plugin for WordPress and WooCommerce has a ready task, “Why can't this page be seen”. You give the shop page address, and your chat (Claude or ChatGPT) goes through the list in this guide: it checks coming soon mode, opens the page as a logged-out guest and reads the response code, checks product stock and visibility, and reads the error log and the plugin list with recent updates. At the end it tells you which cause is most likely and what it checked and found fine.
All of this works in the free TellMyShop Free, because the diagnosis only reads the store. The values in the example below are illustrative.
You: The Shop page shows “No products were found”. I have 140 products in the admin.
Your chat: I've checked. The store is set to “Live”, the shop page is selected correctly and returns a 200 code. The most likely cause: 138 of the 140 products have stock 0 after yesterday's import, and the shop hides out-of-stock products. The two products with stock are in a category hidden from the catalogue.
You: Stock should come from the wholesaler's file. Fix the ones from the import.
Your chat: Preview of the first 3 of 138 products:
I'll save it after your ‘yes’. Changing stock needs the Sales switch turned on.
Kula solar lantern 20 cm
old version: stock: 0
new version: stock: 14
LED string lights 10 m
old version: stock: 0
new version: stock: 32
Garden candle in glass
old version: stock: 0
new version: stock: 9
What happens next depends on the cause. In TellMyShop Pro the chat fixes whatever sits in the products itself: catalogue visibility, status and categories are saved right after you activate the licence, and stock and prices once you turn on the Sales switch in the plugin panel. With hundreds of products the chat works in batches of up to 50 and checks before starting whether the job fits the hourly limits set in the panel. You see every save in a preview first, and you can undo most changes from the change history.
WooCommerce's own settings, such as coming soon mode, the selected shop page or hiding out-of-stock items, are usually quicker to switch yourself: the chat tells you where to click. Clearing the cache needs the Theme switch, and deactivating a suspect plugin needs the Plugins switch. Both work for 24 hours and require a database backup from today, which the plugin makes itself. Server-side cache is cleared by your host.
Read more about the plugin on the TellMyShop for WordPress and WooCommerce page; licence prices are in the pricing. If the problem appeared right after an update, also go through the article on WordPress not working after an update. You will find the other guides on the blog.
Questions and answers
What does “No products were found matching your selection” mean?
WooCommerce shows it when the query for the product list returns nothing. The reason can be no published products, hidden out-of-stock products, a filter in the page address or a plugin that changes the query. The message itself does not say which, so it is worth checking the causes in order.
I see the products when logged in, but customers don't. Why?
An administrator sees more than a guest. Coming soon mode, private products and some cache plugin settings only apply to logged-out visitors. Always check the shop in a private browser window, without logging in.
Can I simply create the shop page again?
Yes. WooCommerce has a tool that creates missing shop pages, under WooCommerce, Status, Tools. Afterwards, check in the product settings that the new page is selected as the shop page, and move the old one to the bin so it does not duplicate the address.
The shop went empty after an update. Where do I start?
With the error log and the list of recently updated plugins. An empty product list after an update is often a conflict with a filter plugin, a multilingual plugin or the theme. Deactivate suspect plugins one at a time, ideally on a copy of the site or during quiet hours.
Will the free TellMyShop Free find the cause?
In many cases, yes. TellMyShop Free reads the reports on products, site health, the error log and the plugin list, and it opens the shop page as a logged-out guest. Only TellMyShop Pro saves fixes, always after a preview and your approval.
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.