Description
Default WordPress search only matches keywords. If the words a visitor types
don’t literally appear in a post, they get “nothing found”, even when your site
has exactly the right page.
SmartMatch Search looks at what the visitor means instead. It puts the best
matching page at the top of the normal search results, marked as the best
match. Visitors can search the way they talk:
- “page where I can find my orders” finds your Order history page.
- “how do I get my money back” finds your Returns & refunds policy.
- “wo finde ich meine rechnung” (German) finds your English Invoices
page. Visitors can search in their own language. - “cancel my subscription” finds Manage your membership, not every post
that happens to contain the word “cancel”.
It also leaves out results that only share a word with the query: a post
isn’t suggested just because the search term shows up in it somewhere.
Your search only gets better
The normal search results stay where they are. SmartMatch Search only adds a
suggestion above them. If nothing relevant is found, or the AI is unavailable,
visitors see the normal results as before. When the normal search finds
nothing, the suggestion becomes the result, so visitors don’t hit an empty
page.
It works with your existing search form and theme, both classic and block
themes. You don’t need a new template or shortcode.
Only real visitors, so you only pay for real searches
Every AI search costs you a small amount at your AI provider, so you want to
spend that on people, not bots. This is why SmartMatch Search works together
with Burst Statistics. Burst already filters bots, crawlers and spam out of
your visits. SmartMatch Search only uses the AI for visits Burst has counted as
human. Bots get the normal search results and cost you nothing.
Logged-in users always get the AI search, even without a Burst visit, for
example when Burst doesn’t track their user role. A logged-in user is never
a bot.
Costs are also limited by:
- A daily budget: a maximum number of AI searches per day (default 50).
When it’s used up, visitors get the normal search results until midnight. - Caching: the same search is answered from cache and costs nothing extra.
- A rate limit per visitor, which stops one person from using up your
budget.
See what visitors are looking for
Searches show up in the Engagement tab of your Burst dashboard. You see what
visitors search for, and where your content doesn’t answer their questions yet.
Settings
- Daily search budget: the maximum number of AI searches per day.
- Posts sent to the AI: how many posts the AI can choose from per search.
Pages are always included, the rest are your most recently updated posts.
More posts help on large sites, but make each search more expensive. - Excerpt length in words: how much of each post the AI gets to read.
Longer excerpts help the AI judge relevance, but cost more per search. - Badge for the suggested result: a short text before the title of the
suggestion, e.g. “(Best match)”. Leave it empty to show no badge. - Prompt customization: extra instructions for the AI, for example to
give certain content priority.
External services
SmartMatch Search does not connect to any service of its own and sends no data
to Burst or SmartMatch servers. When a search needs an AI answer, the search
term and the candidate posts (post ID, post type, title, URL path and a short
excerpt of public, published content) are sent to the AI provider that you
configured in the WordPress AI plugin. Which provider that is depends entirely
on your configuration there, and its terms of service and privacy policy apply
to those requests. This only happens for validated human visits, within the
daily budget, and only when the answer isn’t already cached. No IP addresses or
visitor identifiers are included in these requests.
Installation
- Install and activate the AI plugin
and connect an AI provider in its settings. - Install and activate Burst Statistics (free) or Burst Pro.
- Install and activate SmartMatch Search.
That’s it. Your search now shows a best match for human visitors and
logged-in users. You can adjust the settings under Statistics Settings
SmartMatch Search.
FAQ-e
-
Which AI provider does SmartMatch Search use?
-
The one you set up in the WordPress AI plugin. SmartMatch Search has no AI
service of its own. Your credentials are configured once, in the AI plugin,
and SmartMatch Search uses them. -
Why don’t I see a suggestion when I test it myself?
-
Test while logged in: logged-in users always get the AI search. Logged out,
the AI only runs for visits Burst has counted, so if you block tracking in
your browser you’ll see the normal results. Also check that the AI plugin
has a working provider and that today’s search budget isn’t used up.To find out why a search didn’t get a suggestion, add this to wp-config.php.
Every reason for skipping the AI is then written to the PHP error log:define( 'SMARTMATCH_SEARCH_DEBUG', true ); -
Can I exclude certain post types from the suggestions?
-
Yes, with the
smartmatch_search_post_typesfilter. It receives the list of
post types that can be suggested. By default that’s all public post types
that are included in search. For example, to leave out WooCommerce products:add_filter( 'smartmatch_search_post_types', function ( $post_types ) { return array_diff( $post_types, [ 'product' ] ); } ); -
Does it change the search results on page 2 and beyond?
-
No. The suggestion only appears on the first page of the results.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“SmartMatch Search” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “SmartMatch Search” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.1
- September 8th, 2026
- Fix: pages are always part of the candidate set instead of being pushed out
by more recently updated posts. - Improvement: each candidate now includes its URL path, so navigational
queries (e.g. “invoice” for /account/invoices/) match pages whose title and
excerpt do not mention the term. - Fix: the provider is asked for schema-enforced JSON output, so the model can
no longer answer in prose; plain-text fallback for models without
output-schema support. - Fix: the response parser tolerates prose around the answer and object-shaped
responses, and logs provider errors explicitly. - Improvement: default number of posts sent to the AI raised from 200 to 500.
1.0.0
- July 9th, 2026
- New: Initial release.
