WooCommerce product search: how to fix it

A customer typing a query into a store search on a laptop

A customer types “krzesla obrotowe” into the search box, without Polish diacritics and without much care, and the store answers “No results”. Three models are in the warehouse. A result like that does not yet mean your WooCommerce product search has to be replaced. First you work out why this particular product vanished from the results, and for that a few tries on real phrases and a moment in the store settings are enough.

What to check when a product does not show up in results

Start with the simplest causes. No result for a correct name can mean the product is hidden or an availability filter is active, and then the search engine has nothing to do with it. In WooCommerce, look at the product’s catalogue visibility, which you set on the product edit screen, and at the inventory settings, where you can hide out-of-stock goods. Then repeat the search without any filters on the page.

Another problem is results that appear but are the wrong ones. A question about use, for example “garage lamp”, calls for a different check than a missing result for a name, so record those two kinds of failure separately.

What WooCommerce product search looks through

Search tools differ a great deal. For comparison, Shopify’s documentation describes typo tolerance and synonym groups, and how far that tolerance goes depends on the language and the searched fields, so not every standard search matches only identical words. In WooCommerce a lot depends on whether you use the default search or a separate plugin.

The key question is which fields are searched. If the instructions for your plugin or theme give a list of them, compare it with the place where the missing name is stored, before you start rewriting the descriptions of the whole catalogue. A colloquial name added to a description changes nothing if the engine does not read descriptions at all.

A simple check is the product code. If you find the product by its code in the admin with no trouble and the search on the site returns nothing, the search reads different fields than the admin does. And when the search uses its own index, give it a moment to refresh after every data change.

A test on real products

Pick a few products from different categories and for each one write down what should come up. When you repeat the test, type exactly the same phrases with the same filters, because otherwise you cannot tell the effect of a fix from a change in conditions. Go through the list below on a phone, where typos happen on their own and autocorrect can turn a word into something completely different.

  • The full product name, then its code.
  • The same name without Polish characters and with one typo.
  • A real synonym, for example “kanapa” and “sofa”. A hoodie and a sweater are already two different products.
  • A need instead of a name, for example “garage lamp”, judging whether the results suit such a room.
  • An unavailable variant and a product withdrawn from the range, asking whether the customer sees their status at once or learns about it only in the cart.

Where a conversation with a bot helps

The question “garage lamp” gives trouble even to a good search engine. Thread and colour temperature markings such as E27 or 4000K do not yet say whether a lamp will give enough light in a garage, because that takes data about the room and about what the customer expects. A good salesperson would ask. The bot should do the same instead of pretending that any lamp will fit.

CartBot also searches the connected catalogue by the meaning of words and shows product cards in the conversation, but the result still depends on what is in the descriptions. Before you show it to customers, run the same list of phrases through it as through the search, and check the parameters of the products it points to. The chat is an addition to the search and will not repair it.

How to measure whether the fixes work

A report of empty results is useful only if your analytics actually records them, so check that with a test search of your own. An empty result does not always mean a lost order. Someone may have been looking for something you do not sell at all.

Compare the share of searches with no results and the share of sessions with a search that ended in adding to the cart, always writing down the numerator and the denominator. Count bot conversations separately. A change in traffic sources can shift the proportions even when the search works exactly the same.

After you roll out the fixes, go back to the saved phrases and for each one note whether the expected product appeared and whether the right variant can be chosen.

Try CartBot in your store

Quote within 24 h. No commitment, no card.