Super Speedy Search testing
Testing › Super Speedy Search
Last full run: version 5.100.1 · 11 November 2026
Summary
Super Speedy Search has one registered test suite that makes up its release run: 283 tests in 44 groups. This page describes that suite, grouped by what it protects you from, and the result of the last full run. Every group runs on a WordPress test site with WooCommerce and HPOS order storage switched on. Each group resets the site, creates real products, posts or orders, rebuilds the search index and then searches the way a visitor or shop manager would: the search results page, the search-as-you-type dropdown, the WooCommerce admin screens and WP-CLI.
The dropdown can answer through normal REST requests or through Fast Ajax, which loads only the plugins you choose. Both must return the same results for the same visitor, so many tests run each search both ways and compare the answers byte for byte.
The release run
| Suite | What it proves | How it runs |
|---|---|---|
| Finding the right products | Title and SKU searches find the right product: exact, partial and strict SKUs, short words, quoted phrases, punctuation, apostrophes and brackets in titles, and every sort order. Equal scores come back in the same order every time. Odd input such as control characters, negative page numbers and very long punctuation cannot cause a database error. Products added, edited or deleted are found or dropped without a rebuild, and a rebuild gives the same results as those live updates. | Search results page, REST and WP-CLI |
| Ranking rules | Weights for custom fields and categories raise and lower the right results, including greater-than, less-than, date and decimal rules. Changing a rule takes effect without a rebuild, and a deleted category cannot break it. Category metadata written by other plugins, such as image URLs and SEO title templates, is kept out of matches while human text still matches. | Search results page, REST and browser |
| Product variations | Each variation setting: variations off, rolled up into the parent product, shown on their own, or the first matching variation as the tile, preferring one in stock. A search for “red dress” shows the red variation near the top, scored by its own attributes. Large catalogues stay correct beyond the candidate limit, and Super Speedy Filters’ filtered variations and back-order settings work alongside Search. | Search results page, REST and WP-CLI |
| Search box, dropdown and suggestions | A search box on a product or category page searches within that category when set to. Posts and products mix only when you ask for it, and a theme cannot change the number of results per page. Category, attribute and combination suggestions match exactly, and an older suggestions table keeps working until it is rebuilt. A real browser types into the dropdown and checks the list and grid layouts it renders. | Browser, REST and Fast Ajax |
| Fast Ajax and caching | With Fast Ajax on and off, every search endpoint returns the same results. Only the plugins you select load, plain permalinks fall back safely, and an out-of-date helper left by an older version is replaced. Cached results are kept separate by sort order, category, page and setting, and the Clear button empties the cache. | REST, Fast Ajax and browser |
| Who sees what | Guests and customers never see out-of-stock or catalogue-hidden products when you hide them, while a shop manager still can. Categories hidden with Ultimate Category Excluder stay hidden in results, the dropdown and cached answers. Logged-in visibility through the dropdown is off until you opt in, and public cached answers never carry one user’s view to another. | Search results page, REST, Fast Ajax and browser |
| WooCommerce orders and admin search | WooCommerce > Orders search on HPOS finds orders by customer name, email, transaction ID and purchased product, using the search index, with correct paging and date sorting across 5,001 orders. An edited transaction ID is found without a rebuild. New orders are indexed on databases with mixed collations. Product search in wp-admin finds titles and SKUs. | Browser, WooCommerce admin and WP-CLI |
| Keeping the index up to date | The rebuild commands and admin buttons rebuild what they say and leave existing suggestions alone when they should. Only one background rebuild can run at a time, and WP-CLI can take over one that is running. The weekly scheduled rebuild runs from a real cron request, and a schedule you switched off runs nothing. A rebuild started by Super Speedy Imports finishes and keeps your suggestions. | WP-CLI, wp-admin and WordPress cron |
| Ranking Coach | An administrator previews a ranking change privately, applies it and undoes it: weights, bonuses, multipliers and promoting one result above another, including for variations and non-product post types. Previews do not save anything, stale responses cannot be applied, and guests, subscribers and bad requests cannot use it. The controls work by keyboard and fit on a phone screen. | Browser, with real clicks |
| Integrations and reported issues | Search analytics counts, sorting and deleting. Polylang language scoping. The read-only MCP abilities and their permissions. External Images in the dropdown, dropdown prices in your currency format, and settings help links. Each of these began as a bug report or a feature with a known risk. | Browser, REST, Fast Ajax and MCP |
| Upgrading from older versions | Sites with code, templates, cron jobs or cached pages written for older versions keep working: old function and class names, old REST addresses, old WP-CLI commands, theme template overrides and pages cached before the rename. | WP-CLI, REST and browser |
Last full run: version 5.100.1
Run on 11 November 2026 against the paid plugin, with WooCommerce 10.5.3 and HPOS.
| Suite | Result |
|---|---|
| Finding the right products | 58 of 58 passed |
| Ranking rules | 28 of 28 passed |
| Product variations | 25 of 25 passed |
| Search box, dropdown and suggestions | 28 of 28 passed |
| Fast Ajax and caching | 33 of 33 passed |
| Who sees what | 19 of 20 passed. The one failure was in the test itself, not the plugin; the test was fixed and its group passed 5 of 5 when re-run (below) |
| WooCommerce orders and admin search | 12 of 12 passed |
| Keeping the index up to date | 20 of 20 passed |
| Ranking Coach | 33 of 33 passed |
| Integrations and reported issues | 18 of 18 passed |
| Upgrading from older versions | 8 of 8 passed |
| Total | 282 of 283 passed |
The run was made in two parts. The first part stopped before the variations group that installs Super Speedy Filters, because our test machine’s copy of a library shared by both plugins was out of date. That was fixed on the machine, with no change to either plugin, and the remaining 185 tests were run from that group onwards.
The one failure, and its fix
One test failed: the test that compares Fast Ajax with normal REST for guests, customers and shop managers. Part of it sends a search the dropdown cannot route and expects “not found” from both. The search it used contained a full stop. Since version 5.99.1 the dropdown accepts full stops on purpose, so that searches such as “1.5m” work, and another test in the suite requires exactly that. Both transports correctly returned the same empty result instead of “not found”, so the old test failed while the plugin behaved as intended.
The test now uses a character the dropdown still cannot route, which returns “not found” on both transports for every visitor. After the fix only that test’s group, 5 tests, was re-run, and all 5 passed. The plugin code was not changed, so the version is still 5.100.1.
Not part of this run
These separate test runners exist for specific areas and run when the code they cover changes. Each uses its own test site. None was run for this version:
- Security tests. A subscriber cannot read rebuild data or start a rebuild, and the fixes from the November 2026 security review hold.
- Upgrade from an older release. Installs an older released version, builds its index, upgrades to the current code and checks the existing index keeps working until it is rebuilt.
- Rebuilds on a large shop. Rebuilds over 54,000 products while orders, stock changes, edits and searches happen at the same time, and checks none of them waits on the rebuild or is lost.
- A million products. Search timing on a catalogue of one million products.
- Rebuild ownership. Rebuilds that time out, are taken over or are started twice at once on a dedicated site.
- Release certification and packaging. The certified run on the exact release commit and the checks on the release ZIP.
- The free edition. This run tested the paid plugin only.
What the tests do not cover
- Your server. Tests run on our development machine with one PHP version and one MariaDB version, not every host and database you might use. Search relies on the database’s full-text index, and different database versions can score words slightly differently.
- Your catalogue size. The release run uses small, purpose-built catalogues. Large-shop behaviour is covered by the separate runners above, which were not part of this run.
- Your theme. Browser tests use WordPress’s own default themes. A theme that replaces the search form or results templates is not tested.
- Every other plugin. Plugins we integrate with, such as WooCommerce, Super Speedy Filters, Ultimate Category Excluder, External Images and Polylang, are tested where a suite names them. Polylang for WooCommerce, which translates variations, is not. Other plugins on your site are not.
