Error message · WordPress with WooCommerce (Shopify's version is "This collection is empty")

“No products were found matching your selection.”

WooCommerce shows this on a shop, category or search page when its query returns no products. On a search it's normal. On your shop page or a category with products in it, it means visitors are seeing an empty shop: the products exist but aren't being shown, usually because of visibility, stock, a caching problem or a broken permalink setting. Sales stop until it's fixed.

Is your site showing it right now?

The free scan loads your page like a visitor and checks for this message, plus broken links, script errors and phone layout. It also walks your signup, booking or contact form, without sending anything.

​

Free, no signup. Usually done in about a minute.

Why it happens

  • Products are set to Hidden catalog visibility, Draft, Private or Pending, or have no category assigned
  • Out-of-stock products are hidden by the "Hide out of stock items" setting and everything is out of stock (an import or a stock sync went wrong)
  • A product filter plugin, a theme's product query or an active filter in the URL excludes everything
  • The shop page or category was renamed or its permalink structure changed, so the page shows a category that no longer matches
  • A lookup table or the product search index is stale after an import, migration or database restore

How to fix it

  1. Check the products themselves

    In WooCommerce > Products, look at the status (Published), the catalog visibility (Shop and search results) and the category of a product that should show. Use the Products list filters to find any set to Hidden or Draft and fix them in bulk.

  2. Check stock settings

    WooCommerce > Settings > Products > Inventory: if "Hide out of stock items from the catalog" is on and your stock figures are wrong after an import, every product disappears. Correct the stock or turn the setting off while you do.

  3. Clear the URL and the caches

    Open the shop page without any ?filter or ?orderby parameters. Then clear your page cache, object cache and CDN cache; an empty page cached by mistake stays empty for everyone until you do.

  4. Rebuild the lookup tables

    WooCommerce > Status > Tools: run "Regenerate the product lookup tables" and "Clear transients". After a migration or import this is what makes the products show up again.

  5. Rule out the theme and filter plugins

    Switch briefly to a default theme (Storefront) and deactivate filter, search and layered-navigation plugins. If the products appear, the plugin or theme's product query is the cause; update or replace it.

Questions

The products show on the home page but not on the shop page.

The home page's product block uses its own query. The shop page uses the category and visibility rules above, so a visibility, stock or permalink setting is the likely cause.

Can I change the message?

Yes, with a translation plugin or a woocommerce_no_products_found hook, but the real fix is to show the products. A friendly message on an empty shop still means no sales.

It happened right after an import.

Imports often set stock to zero or leave products as drafts. Check stock and status for the imported products, then regenerate the lookup tables.

Can Page Canary tell me if this comes back?

Yes. Page Canary checks your key pages every day for this message and others like it, confirms it on a second check, and emails you with the fix. One site is free.

Other error messages