About this plugin
Heurix Search intercepts WooCommerce product search and replaces the results
with ones computed by the Heurix engine — without touching your templates, your
faceted filters or your product pages. Only which products come out, and in
what order, changes.
What the plugin does:
- Indexes your published catalog into your Heurix account
- Re-syncs each product when it is saved (price, stock, new product)
- Replaces native search results with Heurix’s, in the relevance order returned
- Steps aside silently — native WooCommerce search, unchanged — when Heurix is
temporarily unreachable
1):
- It does not search variation attributes separately (colour, size): the parent
product is indexed, not each individual variation
Compatibility: what has actually been run
The headers above carry only versions that have REALLY BEEN RUN. Recorded on
22 September 2026, completed on the 23rd.
ONE OF THOSE LINES IS LESS PRECISE THAN THE MEASUREMENT, AND THE PARSER IS WHY.
2 is what ran. 0 — the
org tool — rejects the third number: “invalid_tested_upto_minor
1”, an ERROR, measured on this plugin
on 23 September 2026. The exact number is on the WordPress line below.
- PHP 8.1.34 and 8.5.10: the tests/ suites, green on both (49 assertions on the
morning of 22 September, 59 after the two suites added that day). The version
4 had never been run once.
- WordPress 5.9 to 7.1.2: RUN. 7.1.1 and 7.1.2 on the circuit-breaker bench
3, and SQLite through the SQLite Database Integration plugin
9 on
23 September 2026, each with a WooCommerce that accepts it, inside a real
product loop. version ) and the
archive verified against its published sha1.
1, and it is WordPress that sets it,
1, because mysqli
php does not set
mysqli_report( MYSQLI_REPORT_OFF ). 9,
1.
8 and earlier under a PHP they accept (they go down
20). x, ruled out on 23 September — the
Homebrew formula has been dead since 2022, it would mean a third-party tap and
one more php-fpm. That gap cannot open on a merchant’s site: WordPress refuses
to activate a plugin whose Requires PHP is not satisfied, and ours asks for
1.
- WooCommerce 6.1 to 11.1.2: RUN, on 23 September 2026. Thirteen versions played
2 (tests/banc-disjoncteur,
crochets scenario). What was checked each time: that WooCommerce sets
posts_per_page before the plugin reads it, that the Customizer’s
loop_shop_per_page takes effect, that the order returned by Heurix survives
the loop, and that page two returns the next slice.
0 does not hold
0 holds. The
0” announced until
22 September rested on nothing at all.
5,
5,
5, which stops on a PHP error
before reaching the measurement.
0 or older, Heurix search shows the
first page and returns an empty second one. The plugin does not detect this — it
does not read the WooCommerce version, only whether it is present.
THE TWO BOUNDS GUARD EACH OTHER, AND THAT IS MEASURED.
WordPress refuses to
activate a plugin whose Requires at least or Requires PHP is not satisfied —
verified on 23 September 2026, both ways:
"
9” is not an idle line. 2 officially
1 — but a site on
1 forbids
it. What we have not measured therefore cannot happen on a merchant’s site.
1” IS STILL A PRECAUTIONARY BOUND.
10 are
exercised; nothing below. It is the one holding the whole thing up, and it has
never been taken down.
A THIRD BOUND, DECLARED ON PURPOSE: WooCommerce MUST BE ACTIVE TO ACTIVATE THIS
5 and later. That is the plugin dependency header, added
org review. Two things it is worth knowing,
measured on 27 September 2026:
- WordPress resolves the dependency by the NAME OF THE INSTALLED FOLDER, not by
WooCommerce itself. If your WooCommerce lives in a folder that is not called
woocommerce, WordPress will refuse to activate this plugin even though
WooCommerce is running and the plugin would work. Rename the folder to
org.
- A plugin that is ALREADY ACTIVE is not deactivated if the dependency stops
being satisfied. Upgrading to a version carrying this header cannot turn your
search off.
4 the header does nothing at all — it is ignored in
silence, and does not even show on the Plugins screen. There, as before, the
plugin activates without WooCommerce and simply does nothing: it tells you so on
the Plugins screen, and native WooCommerce search is untouched.
Requirements
An active Heurix account, with a server API key (prefix hx_ ) and a catalog
created. fr/docs to get started.
The external service, what it costs, and what it receives
This plugin is an interface to Heurix, a hosted search service
fr). Ranking, typo tolerance and trade synonyms are computed by
the service; the plugin handles indexing and the replacement of results.
No feature of the plugin is locked, time-limited, or held back for a paid
version. All the code shipped is active from activation onwards, with no
licence key and no subscription check, and the zip contains no dormant code
waiting to be unlocked. What you pay for is the service, not the plugin.
Service pricing, as of 23 September 2026: from EUR 19 excl. VAT per month on
monthly billing, with a 14-day free trial and no credit card required (see
fr/pricing ). The trial is not a
sandbox: it is the full service, and the same API key keeps working unchanged
once you subscribe. No feature appears or disappears at that point.
html
What is sent to Heurix, and when
Nothing leaves your site until you have entered your API key on the
WooCommerce > Heurix Search settings page. Entering it is what grants consent;
without it the plugin opens no outbound connection at all.
At indexing time (manually, then whenever a published product is saved or
deleted), for each product: its WooCommerce ID, its SKU, its name, its
description, its stock state, its price, its public URL, its brand and its main
category.
On each visitor search: the term typed, the number of results requested and the
pagination offset. Nothing else. The plugin sends no IP address, no visitor
ID, no cookie and no browser header, and it does not read $_SERVER. Every
request leaves from the WordPress server; the visitor’s browser never contacts
Heurix and never sees the API key.
html
If the service stops responding, native WooCommerce search takes back over
automatically: the shop stays usable without an active subscription.