Published products that don’t show up in the WooCommerce shop
A product is published, its status is correct, and yet it shows up nowhere on the shop: on WooCommerce, a product’s visibility depends on several settings independent from its publication status, and just one of them being off is enough to make it disappear.
How I go about it
-
Checking catalogue visibility
I check the product-level "Catalogue visibility" setting (Shop and search results, Shop only, Search results only, or Hidden): set to Hidden, the product never shows up even when published.
-
Checking stock and the inventory setting
I check whether WooCommerce > Settings > Products > Inventory hides out-of-stock items from the catalogue: that checkbox removes a sold-out simple product, and a variable product only once every variation is sold out, with nothing visible in the editor.
-
Checking the assigned category
I check whether the product is attached to a category, since an orphan product can disappear from any category-filtered view while staying accessible on its own page.
-
Checking the language on multilingual sites
On WPML or Polylang, I check that the product’s translation is properly linked to the original and not detached, which would make it invisible in the language being browsed.
-
Ruling out caching
I clear page or object caching before concluding it’s a data problem: a shop cached before a visibility change can still show the old listing.
What I handle regularly
- A published product shows up nowhere on the shop or category pages
- The product is still reachable via its direct URL but missing from listings
- A product disappears as soon as it goes out of stock, and a variable product as soon as its last variation sells out
- A product translated on WPML is visible in one language but not another
- The shop still shows the old product listing after an edit
The settings that make a product invisible
"Catalogue visibility" is a setting specific to each WooCommerce product, with four possible values: Shop and search results, Shop only, Search results only, or Hidden. A product accidentally set to Hidden never shows up on shop or category pages, even while its publication status stays "Published": that’s the most common confusion for a merchant who checks the status without looking at this separate setting.
WooCommerce > Settings > Products > Inventory has a "Hide out of stock items from the catalogue" checkbox. Ticked, it removes any product from listings the moment it goes out of stock, even briefly, with nothing flagging it in the product editor itself. On a variable product, the parent only flips to outofstock — and only then leaves the catalogue — once every variation is sold out: as long as one variation still has stock, the listing stays visible and only that variation becomes unselectable.
A product not attached to any category can disappear from category-filtered views, including ones built by a page builder, while staying perfectly visible on its own product page. On multilingual sites running WPML or Polylang, a product translation detached from the original exists in the database but isn’t attached to the language being browsed: to a merchant, it still looks like an invisible product.
Related pages
Describe your need in one minute
A few targeted questions so I can reply with an estimate rather than another questionnaire.