Title: StoreBolt &#8211; Advanced Search for WooCommerce
Author: MadrasThemes
Published: <strong>August 29, 2026</strong>
Last modified: September 26, 2026

---

Search plugins

![](https://ps.w.org/storebolt-advanced-search-for-woocommerce/assets/banner-772x250.
png?rev=3671614)

![](https://ps.w.org/storebolt-advanced-search-for-woocommerce/assets/icon-256x256.
png?rev=3671614)

# StoreBolt – Advanced Search for WooCommerce

 By [MadrasThemes](https://profiles.wordpress.org/madrasthemes/)

[Download](https://downloads.wordpress.org/plugin/storebolt-advanced-search-for-woocommerce.0.2.0.zip)

 * [Details](https://wordpress.org/plugins/storebolt-advanced-search-for-woocommerce/#description)
 * [Reviews](https://wordpress.org/plugins/storebolt-advanced-search-for-woocommerce/#reviews)
 *  [Installation](https://wordpress.org/plugins/storebolt-advanced-search-for-woocommerce/#installation)
 * [Development](https://wordpress.org/plugins/storebolt-advanced-search-for-woocommerce/#developers)

 [Support](https://wordpress.org/support/plugin/storebolt-advanced-search-for-woocommerce/)

## Description

WooCommerce search runs through WordPress’s post search, which looks at titles and
descriptions and has never heard of a SKU, a variation or a brand. This plugin replaces
it with a dedicated, FULLTEXT-indexed table built for products, so a shopper gets
a ranked dropdown of real purchasable items from the second character, instead of
a page reload.

Everything below runs on your own server, on plain MySQL, and is free.

**Search that knows what a product is**

 * **Variations are first-class.** Each variation is its own indexed row with its
   own SKU, price, attributes and stock status, inheriting the parent’s title and
   taxonomies. A search for a variation’s SKU opens that variation, not its parent.
 * **SKUs, categories, brands and tags are searched** alongside titles and descriptions.
   There is a weight slider for each field, so you decide what “relevant” means 
   in your catalogue.
 * **Out-of-stock handling** follows WooCommerce’s own setting: show, hide, or push
   to the bottom.
 * **A dedicated index, never a live query.** Searches never join `posts` and `postmeta`
   at request time, which is what keeps a large catalogue fast.

**A dropdown shoppers recognise**

 * Instant results as they type, with the searched words highlighted.
 * **Recent searches:** the shopper’s own, kept in their browser and never sent 
   anywhere.
 * **Trending searches:** what your shoppers actually search for, plus terms you
   promote yourself.
 * **Category and brand suggestions**, linked to their archives.
 * **Query completions:** searches other shoppers ran and got results for.
 * Recent and trending laid out as a **list or as pills**, your choice under Suggestions.
   Pills fit more terms above the fold and show each recent search’s product picture.
 * An optional **category dropdown** in the search box, and a takeover of the WooCommerce
   search results page so the ranked results survive the page load.
 * Works without JavaScript: the box is a real product-search form first, enhanced
   second.

**Placed and styled however you build pages**

 * A **block** (StoreBolt Product Search) with the full colour / typography / border/
   layout surface WooCommerce’s own Product Search block has, a **shortcode** (`[
   maswcas_search]`), and a classic **widget**.
 * The dropdown itself is an editable **template part** built from blocks: re-order
   it, remove the price, or ship your own layout from a theme.
 * Two **dropdown designs**, picked in the Site Editor like a header’s: **Cascade**,
   the classic one-column panel, or **Showroom**, a wide two-column card — recent
   and trending searches beside a grid of popular products before typing, and suggested
   searches, categories and brands beside the product rows and their prices while
   searching.
 * **Theme search enhancement**, on out of the box: the instant dropdown attaches
   to the search box your theme already renders, with no block placement at all.
   If your theme ships a live search of its own, turn one of the two off. Settings
   Theme search has the switch, and names the theme when it recognises one.

**Merchandising you control**

 * **Product boosts:** choose products to promote for particular searches. A boosted
   product is shown at the top of the results for those terms, including terms its
   own title and description would never match: a campaign name, “gift”, or something
   you are about to start stocking.
 * Boosts apply the moment you save (no reindex), and they still obey your catalogue:
   a product that is hidden, unpublished, or out of stock on a store that hides 
   those is not promoted.

**A search dashboard, on every install**

A daily rollup (not a log) of what shoppers searched for, what found nothing, and
what was searched but never clicked, with one-click hand-offs into a synonym rule
or your trending list. Nothing in that table identifies a shopper: no ID, no IP,
no timestamp finer than the day.

**Optional: StoreBolt hosted search**

The plugin is complete on its own. If you want what MySQL structurally cannot do(
typo tolerance, synonyms, faceting, and search served off your server), you can 
connect a paid [StoreBolt](https://storebolt.app) subscription from the settings
screen. Nothing is withheld from the free plugin to sell it, and if the hosted service
is ever unreachable, search falls back to your local index automatically.

### External services

**Out of the box, this plugin makes no external requests.** Everything below happens
only after a merchant chooses to connect a StoreBolt account, and stops when they
disconnect.

**StoreBolt (api.storebolt.app)** is the service that issues and validates your 
subscription.

 * _When:_ when you connect (or paste a license key), and once a day afterwards 
   to keep the subscription status and expiry current.
 * _What is sent:_ your license key, your site URL, and an environment report covering
   the site name, WordPress / WooCommerce / PHP / plugin versions, locale, whether
   the site is multisite, the published product count, and which search engine is
   currently active. The environment report is filterable (`maswcas_vendor_environment`);
   returning an empty array from that filter sends none of it.
 * _Why:_ to return your store’s search connection, to tell you which stores are
   on which plan, and so support can tell what a store is running when something
   breaks.

**Your StoreBolt search gateway** is the host named in the connection your account
returns.

 * _When:_ only while the hosted engine is the selected engine. “Keep the cache 
   warm between shoppers” adds no destination: those requests go to your **own**
   store’s search endpoint, and reach the gateway only where a shopper’s search 
   would have, which is when the answer is not already cached. What it changes is
   the timing, not the recipient.
 * _What is sent:_ the shopper’s search terms, and your indexed catalogue documents(
   product and variation titles, descriptions, SKUs, prices, stock status, visibility,
   attributes, categories, brands and tags) as they change. Images, permalinks and
   the prices a shopper is shown are resolved locally and never leave your store.
   No shopper identity, cookie or IP is attached by the plugin.
 * _Why:_ to answer searches with typo tolerance and synonyms, which the built-in
   MySQL engine cannot do.

**StoreBolt analytics (api.storebolt.app)** is the hosted half of the search dashboard.

 * _When:_ on a schedule (about every six hours) while connected to a plan that 
   includes it.
 * _What is sent:_ your licence key, your site’s URL, its timezone and its store
   currency, together with your existing daily rollup rows. A row is the search 
   term, the day, and the counters, which include the **revenue** attributed to 
   that term where conversion measurement is on. These are the same rows the dashboard
   already shows you locally, and no shopper identity is stored in them to send.
 * _Why:_ so your history survives past the local 90-day retention window and can
   be read across several of your stores. The licence key identifies the account;
   the site URL, timezone and currency are what let the dashboard tell your stores
   apart and report their figures correctly.

Service terms: [Terms of Service](https://storebolt.app/terms) and [Privacy Policy](https://storebolt.app/privacy).

### Source code and build

**Everything that runs on your storefront is shipped as readable source.** `assets/
js/` (the search box, the dropdown blocks, the block-editor script, the theme-search
loader and the analytics beacon) is hand-written, commented, and unminified, and
so is every PHP file under `src/` and `templates/`. Nothing there is compiled, and
nothing is fetched from anywhere at runtime.

**One screen is built.** The wp-admin settings app is a React application. Its source
is the `admin-src/` directory of this plugin, and it is compiled to `assets/build/
index.js`, `assets/build/index.css` and `assets/build/index-rtl.css`. Both the source
and the build configuration ship inside this plugin, so the compiled files can be
regenerated and checked against their source without leaving the package:

 1. `cd` into the plugin directory (`wp-content/plugins/storebolt-advanced-search-for-
    woocommerce`).
 2. Run `npm install` to install the build tools declared in `package.json` (Node.js
    18 or newer).
 3. Run `npm run build`, which rewrites `assets/build/`.

The build is [@wordpress/scripts](https://www.npmjs.com/package/@wordpress/scripts)
27.9 (the official WordPress webpack and Babel configuration) with Tailwind CSS 
applied through PostCSS; `postcss.config.js` is the whole of the CSS configuration.`
npm start` is the same build in watch mode. No build step is needed to _install 
or run_ the plugin, because the compiled files are shipped.

**Third-party libraries included in this plugin**

 * **Tailwind CSS 4.3.3** (MIT) is a CSS framework. It is not shipped as a library:
   it is compiled at build time into `assets/build/index.css` and `assets/build/
   index-rtl.css`, which carry its licence header. Source: https://github.com/tailwindlabs/
   tailwindcss
 * **automattic/jetpack-autoloader 6.0.1** (GPL-2.0-or-later) is a PHP class autoloader,
   shipped as readable PHP in `vendor/`. It lets several plugins that share a library
   each load the newest copy of it rather than whichever loaded first. Installed
   with Composer from `composer.json`. Source: https://github.com/Automattic/jetpack-
   autoloader

The admin app uses React, `wp.apiFetch`, `wp.element` and `wp.i18n` from **WordPress’s
own bundled copies** (declared in `assets/build/index.asset.php`); no copy of React,
jQuery, Lodash, Moment or any HTTP library is bundled into this plugin.

## Screenshots

[⌊The instant dropdown in its Showroom design: a suggested search and a matching
category in the sidebar, product rows with their prices, and the searched words 
highlighted.⌉⌊The instant dropdown in its Showroom design: a suggested search and
a matching category in the sidebar, product rows with their prices, and the searched
words highlighted.⌉[

The instant dropdown in its Showroom design: a suggested search and a matching category
in the sidebar, product rows with their prices, and the searched words highlighted.

[⌊The settings list: every feature the plugin has, with the state it is in.⌉⌊The
settings list: every feature the plugin has, with the state it is in.⌉[

The settings list: every feature the plugin has, with the state it is in.

[⌊Relevance: per-field weight sliders.⌉⌊Relevance: per-field weight sliders.⌉[

Relevance: per-field weight sliders.

[⌊The dashboard: top searches, searches that found nothing, and the hand-offs into
synonyms and trending.⌉⌊The dashboard: top searches, searches that found nothing,
and the hand-offs into synonyms and trending.⌉[

The dashboard: top searches, searches that found nothing, and the hand-offs into
synonyms and trending.

[⌊Hosted search: connecting a StoreBolt subscription.⌉⌊Hosted search: connecting
a StoreBolt subscription.⌉[

Hosted search: connecting a StoreBolt subscription.

[⌊The dropdown's template part, open in the Site Editor.⌉⌊The dropdown's template
part, open in the Site Editor.⌉[

The dropdown’s template part, open in the Site Editor.

[⌊Before typing, the Showroom shows recent and trending searches beside the store's
best sellers, with sale and New badges.⌉⌊Before typing, the Showroom shows recent
and trending searches beside the store's best sellers, with sale and New badges.⌉[

Before typing, the Showroom shows recent and trending searches beside the store’s
best sellers, with sale and New badges.

## Blocks

This plugin provides 23 blocks.

 *   Result Details The stacked half of a result row — everything beside the image.
 *   No Results Message What the dropdown says when a search matched nothing.
 *   Search Suggestions Searches that complete what the shopper is typing, drawn
   from what other shoppers looked for and from your category names. Filled in the
   browser, so it appears from the first keystroke and stays put while results load.
 *   Popular Products A grid of the store's best-selling products, shown before 
   the shopper has typed. Each card carries a sale or New badge, the name and the
   price.
 *   Search Dropdown The panel under the product search box. Holds the two views
   a shopper sees: suggestions before they have typed enough to search, and results
   once they have.
 *   Matching Categories Product categories whose names match the search, linked
   to their archives. Shown above the product results.
 *   Trending Searches What the store's shoppers are searching for. Resolved on 
   the server and rendered into the page, so it is there the moment the box is focused.
 *   Recent Searches The shopper's own last few searches, read from their browser.
   The heading and the Clear button are rendered here; the rows are filled in by
   the search script.
 *   Result Image The product's thumbnail — the matched variation's own image when
   the search matched one.
 *   Result Rating The product's average review score. Renders nothing for a product
   nobody has reviewed.
 *   Result Stock Status WooCommerce's own availability line — in stock, on backorder,
   or out of stock.
 *   Result Title The product's name, with the words the shopper searched for marked.
 *   Result SKU The product's SKU, with the searched code marked. Renders nothing
   for a product that has none.
 *   Matching Brands Brands whose names match the search, linked to their archives.
   Shown above the product results.
 *   Search Tip A footer line before the shopper has typed: what the box searches,
   and the StoreBolt mark.
 *   Search Filters Refinement chips — categories and availability from the current
   results. Shown with hosted search; tapping one narrows the results in place.
 *   Result Price The product's price, rendered by WooCommerce so sale prices, ranges
   and tax display all follow the store's settings.
 *   Product Results The matching products. Whatever you put inside is one row, 
   repeated for every result.
 *   Result Variation Which variation matched — "Size: Large, Colour: Red". Renders
   nothing when the match was a simple product.
 *   View All Results The link to the full results page, counting everything the
   dropdown could not fit.
 *   StoreBolt Product Search A fast product search box with instant results, powered
   by StoreBolt.
 *   Suggestions View What the dropdown shows before the shopper has typed enough
   to search. Rendered into the page with the box, so opening it costs no request.
 *   Results View What the dropdown shows once a search has run. Rendered per query
   by the search endpoint.

## Installation

 1. Install and activate the plugin. WooCommerce must be active, since the plugin declares
    it as a required dependency.
 2. Go to **StoreBolt** in wp-admin. On activation the plugin creates its index table
    and queues a full index of your catalogue in the background; Settings  Search index
    shows progress.
 3. The search box your theme already renders gets the instant dropdown on its own.**
    Theme search** is on by default, on every theme. If your theme ships a live search
    of its own, shoppers may see two dropdowns on one box: turn one of them off, under
    the theme’s own options or under Settings  **Theme search**, which names the theme
    when it recognises one. To place a search box of your own, add the **StoreBolt 
    Product Search** block (or the `[maswcas_search]` shortcode, or the widget) wherever
    you want it.
 4. Optional: connect a StoreBolt subscription from Settings  **Hosted search** for
    typo tolerance and synonyms.

## FAQ

### Does it work without the paid service?

Yes, completely. The hosted subscription adds typo tolerance, synonyms and faceting,
which plain MySQL cannot do. Nothing that MySQL can do is held back to sell you 
an upgrade.

### Does it search posts, pages, or PDFs and other uploads?

No. This is product search. The index holds products and variations and nothing 
else, and the takeover of the search results page applies only to product searches.
Searches for posts and pages go to WordPress’s own search exactly as before, so 
a general-purpose search plugin can run alongside this one without either fighting
the other. Nothing inside a PDF, .docx or .xlsx is read or searched, wherever the
file is stored.

### Which product fields are searched? Can I add a custom field?

Title, short description and description, SKU, and the names of categories, brands,
tags and attributes, each with its own weight slider. Price, stock status and visibility
are indexed too, but to filter and order results rather than to match what a shopper
typed. The field list is fixed, and no filter adds an arbitrary meta key to a document.
Two lists _are_ extendable, because stores legitimately keep that data elsewhere:`
maswcas_brand_taxonomies` (the taxonomies treated as brands, WooCommerce’s own `
product_brand` by default) and `maswcas_attribute_facet_taxonomies` (the attribute
taxonomies indexed for search and facets).

### Do I need to rebuild the index when products change?

No. Product, variation, stock and taxonomy changes are picked up automatically through
background jobs (Action Scheduler, which WooCommerce already provides). The Rebuild
index button under Settings  Search index is there for the initial build and for
after a large import.

### Does it slow my store down?

Searches read one dedicated, FULLTEXT-indexed table and never join `posts`/`postmeta`,
so search cost does not grow with your catalogue the way the default search does.
Indexing always happens in background jobs, never inside a product save.

### Is my shoppers’ search data personal data?

The analytics table stores a search term, a day, and counters. There is no ID, no
IP, no session, and no timestamp finer than the day, so it cannot answer “who searched
for this”. Terms that look like an email address, a credit card number (Luhn-checked)
or a credential are dropped entirely rather than recorded. Conversion measurement,
which is the one part that stores anything in a shopper’s browser, is **off by default**
and additionally requires WooCommerce’s own tracking consent. Settings  Privacy  
Policy Guide carries suggested policy text for the parts you do enable.

### Can I customise the dropdown?

Yes. It is a template part (`product-search-dropdown`) built from blocks, editable
in the Site Editor on a block theme, or overridable from a theme file. If you already
override `templates/search-dropdown.php`, your override keeps working.

### What happens if the hosted service goes down?

Your local MySQL index stays the canonical copy and stays warm, so search falls 
back to it automatically. A hosted outage costs typo tolerance, not search.

### Does it work on WordPress multisite?

Yes, per site. Each site in a network gets its own index table, its own settings
and its own analytics; nothing is shared across the network and there is no network-
wide settings screen. Network activation activates the plugin normally, and only
skips the one-time setup redirect, which would otherwise hijack the screen reporting
what happened to every site. On each site, open Settings  Search index and use Rebuild
if the index has not built.

### Does it support High-Performance Order Storage (HPOS)?

Yes. The plugin declares compatibility and reads orders only through WooCommerce’s
own CRUD.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“StoreBolt – Advanced Search for WooCommerce” is open source software. The following
people have contributed to this plugin.

Contributors

 *   [ MadrasThemes ](https://profiles.wordpress.org/madrasthemes/)

[Translate “StoreBolt – Advanced Search for WooCommerce” into your language.](https://translate.wordpress.org/projects/wp-plugins/storebolt-advanced-search-for-woocommerce)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/storebolt-advanced-search-for-woocommerce/),
check out the [SVN repository](https://plugins.svn.wordpress.org/storebolt-advanced-search-for-woocommerce/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/storebolt-advanced-search-for-woocommerce/)
by [RSS](https://plugins.trac.wordpress.org/log/storebolt-advanced-search-for-woocommerce/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.2.0

 * Added: designs for the search dropdown. Open the Product Search Dropdown template
   part in the Site Editor and pick one under Design, the same way you pick a header.**
   Showroom** is a wide two-column card: before typing, recent and trending searches
   beside a grid of the store’s popular products with sale and New badges; while
   searching, suggested searches, categories (with product counts) and brands in
   a sidebar, the product rows with their prices beside them under a “Products” 
   heading with the result count, and a footer with a keyboard legend. Showroom 
   is now the default dropdown on block themes. **Cascade** is the one-column dropdown
   exactly as it was; pick it under Design to go back. Classic themes, which have
   no Site Editor to pick a design in, keep Cascade. A dropdown you had already 
   edited in the Site Editor keeps its arrangement. Narrow screens fall back to 
   one column.
 * Improved: the Showroom’s sidebar is never left empty. When a search has no suggestions,
   categories or brands to put there (including a search that found no products),
   it shows your recent and trending searches instead.
 * Added: three blocks for the dropdown template part — Popular Products (the store’s
   best sellers, shown before the shopper types), Search Tip (a footer line before
   typing, with an optional StoreBolt mark, off by default), and a heading with 
   the result count on Product Results. The Recent Searches and Trending Searches
   blocks gained a per-block layout choice (rows or pills), so a design can shape
   each on its own.
 * Improved: while a search is on its way, placeholder rows now hold the product
   list’s place beside the narrowed suggestions, instead of that space sitting empty
   until the rows arrive.
 * Added: “Dim the page behind the dropdown” under Settings, Search box. Off by 
   default; when on, the page below the search box is shaded while the dropdown 
   is open, so the results stand out.
 * Added: “Dropdown width” under Settings, Theme search. The dropdown under your
   theme’s search box can line up with the search field or span the whole search
   form, including its button and any category select. Automatic follows what the
   theme asks for through the new maswcas_theme_search_anchor filter.
 * Added: a –maswcas-gap CSS custom property that puts space between the search 
   box and the dropdown, for themes whose box has a shadow the panel would otherwise
   touch.

#### 0.1.12

 * Fixed: the search dropdown’s recent searches, trending searches and suggestions
   could be restyled by the theme into full-width, centred, uppercase buttons. Reported
   on Woodmart and Electro; any theme with a general button style could cause it.
   Those rows are no longer buttons, and the two controls that must be (“Clear” 
   and the remove x) now resist theme button styling.
 * Fixed: a theme’s list styling could space out, indent or bullet every row in 
   the dropdown. The panel’s lists and rows now keep their own spacing whatever 
   the theme does with lists.
 * Fixed: on a theme with a dark mode the dropdown was unreadable — a white panel
   showing the theme’s light text. The panel now sets its own text colour, and follows
   the theme into dark mode: it matches the search box it drops from, so a dark 
   store gets a dark dropdown. Reported on Electro. Every colour is a CSS custom
   property, so a merchant can override any of it from their own stylesheet.
 * Fixed: on Woodmart, the search box showed two dropdowns at once — the theme’s
   own live search and StoreBolt’s. StoreBolt now switches the theme’s live search
   off for you while “Enhance the theme’s product search” is on, so there is one
   set of results. Turn that setting off and the theme’s search comes back exactly
   as it was.

#### 0.1.11

 * First release on WordPress.org: a dedicated product index covering products and
   variations, an instant dropdown with recent searches, trending searches, query
   completions and category and brand suggestions, a block, a shortcode and a widget,
   an editable dropdown template part, the theme-search attach mode, the results-
   page takeover, product boosts, search analytics with optional conversion measurement,
   a cache warmer, and the optional StoreBolt hosted engine with typo tolerance,
   synonyms and faceted refinement chips.

## Meta

 *  Version **0.2.0**
 *  Last updated **4 weeks ago**
 *  Active installations **70+**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.1.3**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [ajax search](https://wordpress.org/plugins/tags/ajax-search/)[live search](https://wordpress.org/plugins/tags/live-search/)
   [product search](https://wordpress.org/plugins/tags/product-search/)[search](https://wordpress.org/plugins/tags/search/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/storebolt-advanced-search-for-woocommerce/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/storebolt-advanced-search-for-woocommerce/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/storebolt-advanced-search-for-woocommerce/reviews/)

## Contributors

 *   [ MadrasThemes ](https://profiles.wordpress.org/madrasthemes/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/storebolt-advanced-search-for-woocommerce/)