The shop page says "No products were found matching your selection", or a category page is empty, or a product you just added shows in the dashboard but not to customers. Nobody can buy what they cannot see. The cause is nearly always one of a few things: the product's own status or visibility, stock settings, the page WooCommerce thinks is the shop, a lookup table that was never rebuilt after an import, or a cached copy of the page. Below is a rebuilt example (not a real client), the two checks that find the cause, and the fix for each one.
Go to Products > All Products and find a product customers cannot see. Look at four things in its row and edit screen: the status (Published, not Draft, Pending or Private), the Catalog visibility in the Publish box (it should say "Shop and search results"), the stock status, and whether it has a price. Then open its own page with the View link while logged out, in a private window. If the product page opens but the shop page leaves it out, the problem is visibility or the shop's lists; if the product page itself is missing, it is the status.
In a private window, logged out, open the shop page and one category. If you see products as an admin but customers see none, the page they get is a cached copy or a plugin hides products from visitors. Then open WooCommerce > Settings > Products and check which page is set as the Shop page, and WooCommerce > Settings > Products > Inventory for "Hide out of stock items from the catalog".
| What you see | Cause | Fix |
|---|---|---|
| The product is Draft, Pending, Private or Scheduled | Only published products appear in the shop; a CSV import or a bulk edit often leaves them as drafts | Tick the products in All Products, choose Edit from Bulk actions, set Status to Published and update. Check the publish date is not in the future |
| Catalog visibility says "Hidden" or "Search results only" | The product is set to stay out of the shop lists on purpose | Edit the product, click Edit next to Catalog visibility in the Publish box, choose "Shop and search results" and update |
| Only out-of-stock products are missing | "Hide out of stock items from the catalog" is ticked, or stock was imported as 0 | Untick that option in Settings > Products > Inventory, or set the right stock numbers (or allow backorders) on the products |
| The whole shop page is empty, or shows a plain page with no products | The page set as the Shop page is wrong, deleted or in the trash, or a page builder replaced the shop with a static layout | In Settings > Products, pick the right Shop page (it can be empty: WooCommerce fills it). If a builder template is used for it, make sure it holds the products widget or loop |
| Products show, but category pages or filters return "No products were found" | The product lookup tables or term counts are out of date, usually after an import, a migration or a database restore | In WooCommerce > Status > Tools, run "Regenerate the product lookup tables", "Recount terms" and "Clear transients". Check each product is in the category (not only "Uncategorized") |
| Admins see products, logged-out visitors see none or an old list | A cached copy of the shop page from before the products were published (caching plugin, the host's cache or Cloudflare) | Purge every cache layer and reload logged out. If it comes back, set the cache to expire shop and category pages when a product is saved |
| Products vanished after installing or updating a plugin (members, B2B, wholesale, a filter plugin) | That plugin hides products from guests or certain roles, or its filter query breaks the shop list | Check the plugin's visibility rules first. Use the Health Check plugin's troubleshooting mode to switch plugins off for yourself only and find the one that hides them |
| Products show in the dashboard but each product page gives a 404 | Permalinks were not refreshed after a change to the product base or a migration | Open Settings > Permalinks and click Save without changing anything. See 404 errors if it stays |
In a private window, logged out, open the shop page, two categories and a search for one product name. Every product you meant to sell should appear with a price and an Add to cart or Select options button. Then do the same on a phone, since mobile visitors can get a different cached copy.
Most of these take a few minutes once you know which one it is. If you would rather someone else finds and fixes it, that is what the box below is for. Related: WooCommerce Add to cart not working and WooCommerce checkout not working.