You open your WooCommerce shop page and see no products — just an empty grid or a message saying no products were found. Or some products appear but others are mysteriously missing. WooCommerce product visibility issues have specific causes, each with a direct fix. Work through these checks in order before looking at more complex solutions.
Fix 1: Check the shop page is set correctly in WooCommerce
Go to WooCommerce → Settings → Products → General. The Shop page dropdown should point to your shop page. If it is set to a different page, or blank, WooCommerce does not know which page to populate with products. Assign the correct page and save. Then go to Settings → Permalinks and click Save Changes to flush rewrite rules.
WooCommerce development →Fix 2: Check product catalogue visibility
Open any product that is not showing. In the WordPress editor, find the Product Data panel. Click the Publish box on the right side. The Catalogue visibility field should be set to Shop and search results. If it is set to Hidden or Search results only, the product will not appear on the shop page. Update the product and reload the shop page.
Fix 3: Check product status
Products must have a Published status to appear on the front end. In the WordPress editor on the product, the Publish panel shows the status. Any product with a Draft, Pending Review or Private status is invisible to visitors. If you have many affected products, use the Products list view in the WordPress admin — select all hidden products and use Bulk Actions → Edit to change status to Published.
Fix 4: Check the out-of-stock visibility setting
Go to WooCommerce → Settings → Products → Inventory. Find the option Hide out of stock items from the catalogue. If this is enabled, any product with stock management active and stock set to 0 will not appear. Either restock the products, disable stock management on affected products, or disable this setting if you want out-of-stock items visible.
Fix 5: Clear all caches
If products were recently published and still do not show, your caching plugin or Cloudflare may be serving a stale version of the shop page. Clear all caches — your WordPress caching plugin, any server-level cache, and Cloudflare if you use it. Use an incognito browser window to test after clearing caches, as your browser may have its own cached version.
Fix 6: Test for a theme conflict
Switch your theme to Storefront (the official WooCommerce theme) temporarily. If your products now appear, your original theme has a compatibility issue with WooCommerce. Report the issue to the theme developer. As a permanent fix, install the WooCommerce compatibility plugin for your theme, or commission custom WooCommerce template overrides to resolve the conflict.