0.39ms
Category + brand + facets + stock
On a 100,000-product catalog. Engine time, see below.
Search · Filters · Feeds for WooCommerce
Searchmaker replaces slow SQL queries with a purpose-built local index. Instant search, faceted filters and Google Merchant feeds in milliseconds, on the hosting you already pay for. No SaaS, no per-search fees, nothing leaves your server.
30-day money-back guarantee · license works offline · WordPress 6.5+ · WooCommerce 8+ · PHP 8.1+
0.39ms
On a 100,000-product catalog. Engine time, see below.
6.1s
100,000 products, peak memory about 57 MB.
0services
Your catalog and your shoppers stay on your server.
6,653pairs
5 languages, free under CC BY 4.0.
* Development measurements on a synthetic catalog, engine time only (no HTTP). Method and caveats on the benchmarks page.
The SQL tax
WooCommerce keeps products across posts, postmeta and term tables. Every search or filter request boots WordPress, loads your theme and plugins, then asks MySQL to join and scan those tables. That is fine at 500 products. At 50,000 it is the slowest thing on your site, and it gets slower with every filter a shopper adds.
On a real, slow ~6,500-product WooCommerce store we tested, the engine answered in single-digit milliseconds, while the theme's built-in live search (a WordPress admin-ajax request) took about 1.4 seconds round trip on average, and the same queries through WordPress's REST path 0.45 to 0.55 seconds. That gap is why Searchmaker's endpoint does not load WordPress at all.
How it works
Searchmaker turns your catalog into an immutable local index. Each term (a category, a brand, "in stock", a word in a title) is stored as a bitmap with one bit per product: 100,000 products is just 12.5 KB per term. A filter is a bitwise AND, "Brand A or Brand B" is an OR, and the same candidate bitmap gives you live facet counts for free.
Category AND (Brand A OR Brand B) AND In stock
Try it
A miniature of the plugin's matching running in your browser on 36 demo products. Flip synonyms off to see what a plain search would have shown.
Start typing, or pick an example.
Three tools, one index
Search, Filters and Feeds are separately licensed modules on one runtime. Start with one and add the others later without re-indexing.
Instant results as shoppers type, on the search box you already have. Exact SKU and model matches first, then words, prefixes, compound words and typos, ranked in tiers.
Faceted filters with live counts: categories, brands, global attributes, stock and price. OR within a group, AND across groups, in a Fast Grid archive or alongside your theme.
A static Google Merchant XML feed built from the same index. A streaming writer keeps memory flat: in our engine test, 100,000 products took about 3 seconds, and 240,000 items with every variation listed separately about 6.
Fits the way you already build
Point Searchmaker at your theme’s search input with one CSS selector. Shoppers get instant results with thumbnails, price, SKU, category and brand suggestions and an optional details panel. No template edits.

Benchmarks
Engine timings on a synthetic 100,000-product catalog (165,264 variations, about 38,800 terms). The grey bar is a naive full scan in PHP for scale.
6.1s
peak memory about 57 MB
178ms
writes 0.9 MB instead of 41 MB
93ms
layered queries stay at 14 to 27 ms
3.1s
about 32,000 items per second, 43 MB of XML, flat memory (engine writer reading the index, PHP 8.3 CLI)
6.4s
about 37,000 items per second, 129 MB of XML; 100,000 parents with 159,758 variations, flat memory
Understands what shoppers mean
Searchmaker ships with open synonym packs and learns from searches that found nothing. Only words that exist in your catalog are ever used, so a garden shop does not carry rules for sofas.
6,653 pairs across 5 languages: synonyms, compound split-and-join variants, abbreviations and misspellings. Free under CC BY 4.0, bundled in the plugin and maintained in the open.
When shoppers search for something that finds nothing and then click a result for another word, enough distinct visitors teach the first word automatically. Anonymous, capped, reversible, and off with one switch. Brand names and model numbers are never rewritten.
1,333 pairs · 4 packs
1,503 pairs · 4 packs
757 pairs · 4 packs
1,886 pairs · 4 packs
1,174 pairs · 4 packs
planned
planned
planned
planned
planned
planned
planned
Dashed languages are planned. Contributions welcome, native-speaker review most of all.
Built for big, busy catalogs
Large WooCommerce shops have variable products, ERP syncs and hundreds of price changes a day. These are the details that decide whether a search plugin survives them.
Parents are the result unit. Variation SKUs, attributes, stock and min/max price roll up into them, so a search for a variation SKU lands on the right parent.
Orders and ERP syncs patch prices and stock into the index in tens of milliseconds, writing under 1 MB instead of rebuilding.
Titles, categories, new and removed products become small delta layers next to the index. Searches see them immediately; the next rebuild merges them.
Every build is written aside, checksummed and switched in atomically. A failed build never touches the live index, and rollback is one click.
If the index is missing or unhealthy, shoppers fall back to normal WooCommerce results. Search is never the reason your shop is down.
No product arrays in PHP at query time. Fixed-size reads, streaming writers and chunked builders keep memory flat on 128 MB hosting.
Fast, and still findable
Yours, entirely
504 automated checks across the engine, plugin and runtime, plus live runs inside WordPress and a real browser. Compatibility is tracked openly: see what is verified and what is not.
Pricing
Annual licenses, offline keys, 30-day money-back guarantee. Prices exclude VAT.
Instant results on the search box you already have.
179 €/ year
excl. VAT
Faceted filters and a Fast Grid shop archive.
219 €/ year
excl. VAT
Google Merchant feed with per-variation items, streamed in bounded memory.
119 €/ year
excl. VAT
Search, filters and feeds on one index.
449 €/ year
excl. VAT
Each yearly license is valid for 1 year. Keys work offline (no license server, no phone-home) and are tied to the domains you list. 30-day money-back guarantee. Prices exclude VAT.
Questions
Something missing? Ask us. We would rather answer than guess. Weighing us against SearchWP or FiboSearch? Compare them fact by fact.
No. Searchmaker builds a compact index in your uploads folder and answers from a tiny PHP endpoint on your own server. No SaaS, no per-search fees, no product data leaving your hosting. The license key is verified offline, so there is no license server to phone home to either.
Instant search attaches to your existing search box through a CSS selector, so it works with classic and block themes without template changes. We verified it on a block theme, a classic theme and Salient with WPBakery. Diagnostics includes a compatibility check and suggested selectors for popular themes (treated as suggestions until verified on your site). Fast Grid replaces the main shop and category query; page-builder grids with their own queries are not replaced, but the [searchmaker_catalog] shortcode covers them.
Price and stock changes are patched into the index in tens of milliseconds, product edits and new products are applied as small delta layers, and a full rebuild is reserved for term-level changes and the first build. On a 100,000-product development catalog a patch took 65 to 178 ms and a full rebuild about 6 to 10 seconds. Rebuilds are immutable and validated, a failed build never touches the live index, and you can roll back.
The front end falls back to normal WooCommerce behaviour. Searchmaker is designed to fail soft: if the endpoint is unavailable or the index is unhealthy, shoppers still get results from WooCommerce while you rebuild.
It builds one index per language and is built for WPML and Polylang. Synonym packs are available for Finnish, English, Swedish, German and Estonian, and more languages are on the way (they are open data). TranslatePress-style setups are not supported yet.
Those are established plugins and a fair comparison is for you to make on your own catalog. The architectural difference is that Searchmaker keeps catalog data in a purpose-built local index and answers through an endpoint that does not bootstrap WordPress, and that search, filters and feeds share one index. We are publishing head-to-head measurements on identical hardware; until they are in, the benchmarks page marks those rows as placeholders instead of guessing.
A license is a signed key for one year, for the domains you list at checkout (wildcards like *.example.com are supported). Install the plugin, paste the key under Searchmaker > License. After expiry there is a 30-day grace period; then the licensed modules switch off and WooCommerce takes over. Nothing is deleted.
Yes. The 5-site and 25-site bundles are priced per site for exactly that. List each client domain when you buy; each key only unlocks the listed domains.
There is a 30-day money-back guarantee. If Searchmaker does not do what you need, write to us within 30 days of purchase and you get a full refund.
Prices are shown excluding VAT. Checkout collects your billing address and VAT ID, calculates tax where applicable and Stripe emails an invoice and receipt.
WordPress 6.5 or newer, WooCommerce 8.0 or newer and PHP 8.1 or newer with the sodium extension (included in standard PHP builds) for offline license verification. No Redis, no daemon, no shell access, no extra database.
On a synthetic 100,000-product catalog (PHP 8.3, 128 MB) a category plus brand plus facets plus stock query takes about 0.4 ms of engine time and a full rebuild writes about 41 MB. Those are development measurements of the engine, not an end-to-end promise for your server: the benchmarks page explains what is measured, shows the numbers, and the head-to-head rows are placeholders until measured.
It is designed to be: no IP address, user agent or user id is stored, personal-looking queries are dropped, the visitor is a day-salted hash of a random per-tab id, raw events are deleted after 35 days, and you can switch it off or delete the data any time. You remain responsible for your own privacy policy; we provide a suggested sentence.
The synonym language packs are open data under CC BY 4.0 at github.com/searchmaker/searchmaker-language-packs, with Finnish, English, Swedish, German and Estonian today. The plugin and engine are commercial.
OEM and platforms
The index behind Searchmaker is a plain PHP library with a standalone runtime. Put fast search, filters and feeds inside your plugin, platform or hosting offer, under your brand.
Install in minutes, rebuild once, and watch the first search come back in milliseconds.