Quick start
- Requirements: WordPress 6.5+, WooCommerce 8.0+, PHP 8.1+ (with the sodium extension).
- Upload the plugin zip under Plugins > Add New > Upload, then activate it.
- Searchmaker > License: paste your key. It is verified offline against the site's domain.
- Searchmaker > Dashboard: Rebuild all now. The first build indexes your catalog; later changes are patched automatically.
- Diagnostics > Compatibility: check your setup and, if you use a known theme, apply the suggested search selectors.
Integration levels
- Augment your search box. Enter a CSS selector under Search > Existing search inputs. The instant dropdown attaches to it.
- Shortcodes and blocks.
[searchmaker_search],[searchmaker_filters],[searchmaker_catalog]or the matching blocks. - Compatibility mode. Searchmaker returns product IDs to WooCommerce; your theme renders.
- Fast Grid. Searchmaker renders the grid and filters on shop and category pages inside your theme shell. Appearance settings control accent colors, radius, card size and where the filters sit.
Indexing and freshness
Builds are immutable and validated; a failed build never touches the live index and rollback is one click. Price and stock changes are patched in tens of milliseconds, edits and new or removed products become delta layers, and a full rebuild is used for term-level changes, the first build and after plugin updates that change the format. If the index is unhealthy, WooCommerce results take over.
Synonyms
The plugin bundles open language packs (Finnish, English, Swedish, German, Estonian) and compiles them per site, keeping only rules whose words occur in your catalog. Matches found only through a synonym rank below every match of what the shopper typed. Untick packs under Search > Synonym packs to leave areas out; wp searchmaker synonyms recompiles on demand.
Learning from searches
When a search finds nothing and the shopper then searches for something else and clicks a result, the connection is remembered. After 5 different visitors (adjustable 3 to 50) did the same, with at least one click and a meaningful share of everyone who ended on the first query, the first word also finds those products.
- Safe by design: brand names and model numbers are never rewritten, rules point only to words your catalog has, capped at 500 rules and 3 per query, and a rule disappears by itself when its support fades.
- Anonymous: no IP address, user agent or user id; the visitor is a day-salted hash of a random per-tab id; personal-looking queries are dropped; raw events are deleted after 35 days; Do Not Track is respected.
- In your control: switch it off, disable single rules or delete all collected data in Search > Search learning. A suggested privacy-policy sentence: "The shop search stores anonymous search terms without any identifier for up to 35 days to improve search results."
Multilingual
One catalog (index) per language, built for WPML and Polylang. Feeds are generated per language; synonym packs follow the catalog language.
SEO of archives
Compatibility mode leaves your markup untouched. Fast Grid renders the first page on the server with real product links and ItemList structured data, adds noindex and a canonical for filter combinations, and returns a real 404 beyond the last page.
Compatibility, honestly
We would rather you know what is verified than discover it in production.
| Setup | Status | Notes |
|---|---|---|
| Block theme (Fast Grid replaces the inheriting Product Collection block) | verified | Live in WordPress and a real browser. |
| Classic theme (hooks, widget, Compatibility mode) | verified | Live in WordPress and a real browser. |
| Salient 18 + WPBakery | verified | Including the Salient search overlay preset. |
| WPML | partly verified | Built against the WPML API and tested with a simulation of its filters and tables. Real-site validation is in progress. |
| Polylang | partly verified | Implemented against the Polylang API; not yet tested on a real installation. |
| Other theme presets (Storefront, Astra, Flatsome, Kadence, Divi, Avada, WoodMart, The7 and more) | partly verified | Suggested selectors written from general knowledge; the admin screen labels them unverified. |
| Elementor and WPBakery grids with their own queries | partly verified | Not replaced by Fast Grid; use the [searchmaker_catalog] shortcode or block. |
| TranslatePress | not verified | Not supported yet. |
| Multisite, cron-driven rebuilds and WP-CLI on real hosts | not verified | Not yet verified. |
| 100,000 products on a real MariaDB catalog | not verified | Engine timings are measured on synthetic data; a real-catalog measurement is pending. |
Security and privacy
The public query endpoint is read-only: no SQL, no WordPress bootstrap, no eval, no user-controlled includes, strict request limits, and the language and modes come from a config file, never the request. Learning events go to a separate append-only endpoint with size caps. Admin actions require a capability and a nonce. Licenses are Ed25519-signed and verified offline.
WP-CLI
wp searchmaker status wp searchmaker rebuild [--lang=fi] wp searchmaker rollback [--lang=fi] wp searchmaker feed [--lang=fi] wp searchmaker synonyms [--lang=fi] wp searchmaker learn [--lang=fi] wp searchmaker license status