WordPress search shows nothing: why it happens and how to actually fix it
2026-09-29 · Yodsira
Zero results are silent killers. The visitor does not write to you, does not leave a comment, does not open a ticket. They just leave — most likely to a competitor whose search worked. Store owners rarely notice the problem at all, because they themselves know exactly where everything lies on their site.
The good news: in most cases the cause is one of three, and you can find it in ten minutes.
Cause 1: the search matches too literally
WordPress search out of the box works almost like Ctrl+F across post titles and content. A person types "blue sneakers size 42" — the base looks for products containing that exact string. There are none, even though you have blue sneakers and size filters. Result: an empty page.
How to check: search for one short word you know exists in a product title. Found it? Then relevance matching is the problem, not the index.
Cause 2: content is excluded from the index
Security plugins, SEO plugins and caching plugins sometimes quietly exclude post types from search. WooCommerce products are a separate post type, and some setups exclude them by default. After migrating or installing a new plugin, search can "break" without a single error in the logs.
How to check: open the database (or ask your developer to) and run a search query directly against wp_posts. If the product exists in the database but not in search — something is excluding it on the way.
Cause 3: the theme breaks the results template
It happens the other way around: search finds everything, but the theme's search template displays an empty page. A custom searchform.php or search.php with an error in the loop does this. The visitor sees "nothing found" while the site actually found twenty products.
How to check: add ?s=test to your site URL and look at the raw results page of a default theme (temporarily switch to Twenty Twenty-Four). If results appear there — your theme's template is to blame.
What good search looks like
- Partial and fuzzy matching: "sneker" still finds sneakers.
- Search across titles, descriptions, attributes and tags.
- Zero-results tracking: you see what people searched for and did not find.
- Fast: under a second, or people refine their query on Google instead — and land on a competitor.
The first two points are solved by search plugins (SearchWP, Relevanssi, or our own SearchMiner — we are partial to it, it grew out of fixing this exact problem). The third point is rarer: few tools show you a report of what visitors searched for in vain. And that report is gold: it is literally a list of products people wanted to buy from you.
A ten-minute diagnostic plan
- Search for a word you know exists. Works? Go to step 2. Not? Go to step 3.
- Try a short query instead of a long one. Short works — it is relevance matching.
- Check the product exists in wp_posts.
- Switch to a default theme and repeat. Results appear — the template is to blame.
- Disable search-related plugins one by one.
Five steps, ten minutes, and you know exactly which of the three causes you are dealing with. Whatever you fix it with — your own hands or a plugin — do not put it off: every day of silent zero results is a handful of visitors you paid to bring in, walking away to a shop whose search works.