A WooCommerce product that opens directly but is missing from the shop usually needs a visibility or collection-query check. Catalog visibility, publication status, stock-hiding settings and builder filters can each exclude it. Do not regenerate variations or reimport the catalog before identifying the rule.
Define where it should appear
Record one product ID and its public URL. Test the main shop, its intended category and on-site product search while signed out. These are different lists. A product can intentionally appear in one and not another.
Compare the missing item with a working product of the same type. Preserve the intended merchandising policy, including private, seasonal, members-only and search-only products. Making everything public is not a neutral troubleshooting step.
Inspect the product's saved settings
Open Products > All Products and edit the exact record. Check its publication status and scheduled date, then inspect Catalog visibility. WooCommerce's product editor reference distinguishes shop-and-search, shop-only, search-only and hidden behavior.
Check the stock state together with the store's out-of-stock visibility policy. If the item should be available, correct the actual inventory discrepancy with the stock owner. Do not mark an unavailable product in stock simply to get its card back.
| Direct page |
Shop listing |
Likely next check |
| Public |
Missing |
Catalog visibility and collection filters |
| Unavailable |
Missing |
Publication, access policy and routing |
| Public |
Present in another category |
Category assignment and query scope |
| Public |
Present only when signed in |
Cache or role-specific visibility |
Product page: Expected public access. Shop and search: Correct visibility policy. Cart selection: Correct SKU and price. Hidden control: Still excluded intentionally. Explanatory checklist, not a customer test result.
Check the collection rather than the card design
Find which template supplies the missing listing. A native shop archive, Product Collection block and page-builder widget can apply different selection rules. Inspect category, manual inclusion, exclusion, ordering, stock and pagination settings.
Create a staging comparison with the same two products and an intentionally simple collection. If both appear there, the original query deserves attention. If the missing item stays excluded, return to its saved state and any extension that controls access.
When the product is visible but one selection cannot be purchased, use the separate variation availability diagnosis. Rebuilding the shop query cannot supply a missing child price.
Verify the commercial result
After correcting the specific rule, clear the relevant listing cache and retest as a guest. Follow the restored card to the product, select a valid option and add it to a test cart without placing a live order. Confirm the SKU and price remain correct.
Also inspect one intentionally hidden product. It must remain excluded under the original policy. Check a second pagination page so a changed sort order is not mistaken for a missing product.
For a custom product grid, send the missing ID, working comparison and expected collection rule to HandL WP's storefront repair service. That evidence makes the investigation more useful than a blanket cache purge or catalog import.
References reviewed October 5, 2026. Examples are explanatory, not customer test results.