Your AI search plugin is probably working. Your theme is hiding it.
You installed a semantic search plugin. The catalog synced. The dashboard says everything is indexed. Then you type a query into the search box at the top of your store, and you get the same results you got last week: the same keyword matches, the same misses, the same empty page when a customer phrases something naturally.
The obvious conclusion is that the plugin does not work. A lot of people stop there and uninstall.
In most of these cases, the plugin is working fine. It indexed the catalog and it returns good results, and if your plugin exposes its own results view, it will show you exactly that. What is happening is that the search box you are typing into never asks the plugin anything.
This post is about how to tell the difference in about two minutes, and how to fix it.
Quick test: type
yourstore.com/?post_type=product&s=blue+summer+dressstraight into your address bar. If those results look right but your header search box does not, your theme's own search is intercepting, and the plugin is fine. Full diagnostic below.
It applies to any search plugin, not just ours. This is an ecosystem quirk in how WordPress themes and page builders handle search, and every search plugin on the market runs into it.
Why does my search look the same after installing a search plugin?
A search plugin hooks into the standard WordPress search: the request that happens when someone submits a search form and lands on a URL like yourstore.com/?s=blue+summer+dress. That is the documented, supported path, and it is where a plugin can legitimately step in and replace the results.
The trouble is that a lot of sites do not use that path. Three variants cover almost everything we see.
Why doesn't my header search box use the plugin?
Many premium themes (Woodmart, Flatsome, Astra Pro, Divi and others) include an instant search in the header: you type, and a dropdown of products appears without the page reloading. That overlay is the theme's own feature, running the theme's own query. It is not the standard WordPress search, so the plugin is never consulted. The plugin is sitting there, correctly indexed, waiting for a request that never arrives. This is the variant that fools people most convincingly, because the header box is exactly where you naturally test.
Why are my search results in the wrong order?
Page builders (Elementor, Beaver Builder, Bricks and others) commonly include a search element or a product-results widget. Those widgets often run their own query with their own "Order By" setting (by date, by title, by menu order, by ID). In this case the plugin may actually be involved, and the right set of products may arrive on the page, but the widget throws away the ordering and re-sorts everything. Semantic search earns its value in the order it puts things in, so a re-sorted page looks a lot like a broken engine. The best match is often on the page, just sitting well below weaker ones.
Why do my results look wrong everywhere, even on the plain search URL?
Some custom or heavily-modified templates build their own product loop instead of rendering the query WordPress already prepared. Whatever the plugin returned gets discarded before it is ever displayed.
None of this means your theme is badly built. Theme authors added instant search because it is a genuinely nice feature, and they added it long before AI search plugins existed. The two features simply overlap, and the theme's version never issues the standard WordPress search request at all, so there is nothing for the plugin to answer.
How do I tell if it's the plugin or my theme?
Here is the diagnostic. It takes two minutes and needs no code.
Step 1: Check the plugin's own results first.
Open your search plugin's dashboard and run a test query there, one where meaning matters and keywords do not (something like "something warm for winter walks" rather than a product name). Look at what it returns.
If the plugin returns sensible, meaning-based results, the engine is fine and the index is fine. The problem is downstream, on your site. If the plugin returns nothing or nonsense here, then you have a genuine indexing or sync problem, and that is a different investigation (start with whether the catalog actually finished syncing).
If your plugin has no way to show you its own results for a query, skip to step 2. The URL comparison still works on its own.
Assume from here that step 1 looked good.
Step 2: Bypass the header box entirely.
Type this straight into your browser's address bar, replacing the domain and the query:
yourstore.com/?post_type=product&s=blue+summer+dress
There is also a plain form, which searches the whole site:
yourstore.com/?s=blue+summer+dress
Plain ?s= searches everything on the site, posts and pages too, so if your header box only searches products, use the post_type=product version for a like-for-like comparison.
This is the standard WordPress search URL. Typing it directly skips the header search box, skips any overlay, and goes straight to the path the plugin actually hooks into.
Step 3: Compare the two.
Now read the result:
- The direct URL gives good, meaning-based results, but the header box does not. Your theme's own search is intercepting. The plugin works. Go to the first fix below.
- The direct URL gives the right products, but in a strange order (relevant items scattered down the page, an obviously perfect match sitting well below weaker ones). Something is re-sorting: a builder widget or a custom template. Go to the second fix.
- Both look wrong, but the plugin dashboard in step 1 looked right. A custom results template is probably ignoring the main query. Confirm it before changing anything: temporarily switch to the theme's default search results template and re-run the same search URL. If the results come back correct, the custom template is the culprit. Go to the third fix.
- Both look right. Nothing is broken. Test again with a query your old keyword search would have failed on, because if the phrase happens to match product titles, keyword search and semantic search agree and you cannot tell them apart.
That comparison is the whole trick. One URL, typed by hand, separates "the engine is wrong" from "the site is hiding the engine."
How do I stop my theme from overriding search results?
Fix 1: turn off the theme's AJAX/instant search
Many themes that ship an AJAX or instant search expose a toggle for it, usually under theme options or a customizer panel, often labelled something like "AJAX search" or "instant results". Switch it off and the search form falls through to the standard WordPress search, which is exactly where your plugin is listening.
In most cases you keep the same search box in the same place and it simply submits normally instead of opening its own dropdown. Step 4 below is how you confirm it did.
If your theme has no such setting, you are not stuck: the standard search results page still works, so point customers at it. Link the search results page directly, or ask whoever maintains the theme how to make the header form submit normally.
Fix 2: make the page builder widget inherit the main query
Open the widget that renders your search results and look at its Query settings. Set the query source to inherit the main query (builders phrase this as "Current Query", "Inherit", or similar) rather than a custom query you configured. Then clear any hard-coded Order By value, or set it to default.
Either way the ranking is lost: a custom query bypasses what the plugin returned, and a hard-coded Order By re-sorts whatever did arrive. Inheriting the main query with no forced sort avoids both.
Fix 3: fall back to the default search results template
The simplest fix is to fall back to the theme's default search results template and confirm the behaviour there. If the default template shows correct, well-ordered results, you know the custom template is the culprit, and whoever built it can adjust it to render the main query instead of building its own loop.
Step 4: re-run the test. Same query, header box and direct search URL, and check they now agree. Do not skip this. It is the only way to know the fix landed, and it takes ten seconds.
Does this happen with every search plugin?
Yes. Any plugin that improves WordPress search has to hook into the standard search request, and any theme feature that runs its own query instead will bypass it. This is not specific to semantic search, and it is not specific to Queryra. If you switch to a different search plugin without changing the theme setting, you will get the same symptom again with the same explanation.
Which is worth saying plainly, because the usual advice online is "try another plugin", and that advice will cost you an afternoon and leave you exactly where you started.
How can I see what the search engine actually returned?
Queryra is true AI semantic search for WooCommerce and WordPress. It works on meaning and intent rather than keyword matching, reads price and attributes out of plain phrasing (things like "under 40" or "not too heavy"), and handles queries in 100+ languages.
The part that matters for this post is smaller and more boring: for any query, Queryra shows you exactly what it returned, in your dashboard. That is what makes step 1 of the diagnostic possible at all. Once you can see the engine's own answer, you can compare it against what your site displays, and the question stops being "is this plugin any good?" and becomes "which layer changed the answer?" That is a question you can act on.
You can try the search itself on our public demo store at woo.queryra.com. No signup, no gate, just a real catalog and a search box. Type something awkward and conversational into it, the kind of phrase a real customer would use, and see what comes back.
More about the plugin at queryra.com.
Top comments (0)