Get in touch
  • WordPress
  • Sales and conversion
  • v1.0.6

Smart Product Filter for WooCommerce

Faceted product filter for WooCommerce: a dedicated index instead of attribute queries, honest counters, merged duplicate values, filter SEO pages. 990 UAH/year.

Download Free
Pro · one-year licence The more sites, the less each one costs
Compatibility
WooCommerce 6.0+ · WordPress 6.2+ · PHP 7.4+
Version
Pro v1.0.6
Free v1.0.4 (wordpress.org)
Licence
two sites, annual
Trial
7 days, no card, one per site
Updated
16.10.2026
Or all 173 Pro modules with All Access — 4 990 ₴ / year

The module in action — 41 sec

Clear even without sound: Ukrainian subtitles

What Free has,
and what Pro adds

The free version works with no time limit. Pro adds the rest of the features in the table.

Feature Free Pro
Faceted filter: category, attributes, price, stock, rating ✔ ✔
Honest counters: its own facet stays unrestricted, the rest narrow down ✔ ✔
Dedicated index table instead of queries against attributes and meta fields ✔ ✔
Duplicate values ("12 V" / "12v" / "12 V.") are merged into one ✔ ✔
Numeric values are sorted numerically and work as a range ✔ ✔
Applies without a reload, filter state is kept in the URL ✔ ✔
Mobile drawer, price slider with the real bounds of the selection ✔ ✔
Price and stock come from wc_product_meta_lookup, matching sorting exactly ✔ ✔
Other combinations get noindex,follow and a canonical to the plain category ✔ ✔
Doesn't touch the canonical if Yoast, Rank Math or AIOSEO is active ✔ ✔
Filter SEO pages with their own H1, title and human-readable URL — ✔

What it looks like

WooCommerce faceted filter with counters, chips and a price slider
“Green” is selected: its own facet stays untouched, the rest narrow down, and above there’s a chip for the selection and a “Reset all” button.

Key points

Honest counters

Each value shows a count of products that already accounts for the filters selected so far.

Duplicate values get merged

Supplier price lists bring in “12 V”, “12v” and “12 V.” as three different attributes.

Applies without a page reload

The filter updates the listing without reloading the page and writes its state into the URL, so the link can be sent or bookmarked.

The trial starts when you ask

A fresh install is the free version, nothing switches on by itself. The “Try Pro for 7 days” button → e-mail → the key right in the window and by e-mail.

One key — two sites

Moving the store? Unbind the licence on the old domain and activate it on the new one yourself. For studios — keys for 5 or 25 sites, or unlimited.

Technical requirements

  • WordPress 6.2 or newer, WooCommerce 6.0 or newer, PHP 7.4 or newer. Works with HPOS, classic category archives and the shop page.
  • There are no separate hosting requirements: the index is a single ordinary MySQL table — it doesn’t need Elasticsearch, Redis, or a separate search service.

Version history

v1.0.6 Current 16.10.2026

Polylang: the counters, the price range and the list of values come only from products in the language of the page.

v1.0.5 16.10.2026

Fixed a fatal error when activating a key or starting the 7-day trial.

v1.0.4

23 September 2026.

All versions (7)
v1.0.3

23 September 2026.

v1.0.2

23 September 2026.

v1.0.1

Pro updates no longer come from wordpress.org, so WordPress will not offer to replace the Pro build with the free copy that shares its plugin name.

v1.0.0 First release

Facets by category, attributes, price, stock and rating; a dedicated index table; honest counters with an unrestricted own facet; merging of duplicate values and numeric sorting; a price…

Frequently bought with Smart Product Filter for WooCommerce

4 modules in one order — 40% cheaper than separately

“Store starter” bundle Smart Product Filter Nova Poshta Premium Mono Acquiring Telegram notifications and Viber/SMS for customers Need more — all 173 modules in All Access for 4 990 ₴.
2 490 ₴ / year instead of 4 160 UAH bought separately
Buy the bundle →

Full module description

Smart Product Filter for WooCommerce is a faceted filter that doesn’t slow down on a large catalogue. Instead of querying attribute and meta tables, the module keeps its own flat index table of “product → value”, so adding new facets does not slow the query.

Honest counters

Each value shows a count of products that already accounts for the filters selected so far. Its own facet is not narrowed, though: after picking “Green”, the shopper still sees how many blue and red items there are, and can switch with one click instead of resetting everything and starting over.

Duplicate values get merged

Supplier price lists bring in “12 V”, “12v” and “12 V.” as three different attributes. In Pro you merge them into one value in the facet settings, so the shopper sees a single checkbox instead of three. Numeric values are sorted numerically, not as strings, and work as a range.

Applies without a page reload

The filter updates the listing without reloading the page and writes its state into the URL, so the link can be sent or bookmarked. On mobile, the panel collapses into a drawer so it doesn’t eat up screen space.

SEO

Only the filter combination you’ve deliberately made an SEO page goes into the index: its own H1, title and human-readable URL. Every other combination gets noindex,follow and a canonical pointing to the plain category. If Yoast or Rank Math is running on the site, the module passes its canonical and robots through their filters — the page keeps one canonical tag, not two.

What the admin gets

Facets are built from what’s already in your catalogue: category, product attributes, price, stock, rating. Nothing needs to be described separately — the module takes WooCommerce attributes as they are.

For each facet you configure how it’s shown to the shopper: checkboxes, radio buttons, a dropdown, a range slider for numbers, toggles, colour swatches or image swatches. You decide the order of facets in the panel — whatever people actually filter by in your category goes first.

The index rebuilds itself whenever a product changes, and can be rebuilt completely with a single button — handy once, right after a big price-list import.

Why it’s faster

Standard WooCommerce filtering collects the result set through wp_postmeta and attribute taxonomies. Each added facet is another JOIN, and on a catalogue of tens of thousands of products the query turns into a multi-second one.

The flat “product → value” index removes this problem at the root: whether there are five facets or fifteen, the query structure doesn’t change. That’s why a shop with a large price list gets the most out of the module — on a 200-product catalogue you won’t notice the difference.

Free version and Pro

Pro lifts the limit on the number of facets, adds merging of duplicate values and filter SEO pages: you pick a filter combination worth promoting (“yellow cabinets”, “laptops under 30,000”), and it gets its own H1, title and human-readable URL. Every other combination stays under noindex,follow with a canonical pointing to the plain category.

This is the main difference from a “theme filter”: a controlled handful of landing pages for low-frequency queries, instead of either a million junk URLs in the index or no filter pages in search at all.

Under the hood

Filtering is built into the main product query rather than replacing it with its own. That’s why the module stays compatible with themes that render the standard WooCommerce loop, and doesn’t conflict with pagination or sorting.

Price and stock are read from wc_product_meta_lookup — the same table WooCommerce uses to sort products. So there’s never a situation where the filter says “in stock” while sorting by price shows something else.

The index updates on product save events, so it only adds load exactly at the moment of editing, not via a background cron once an hour.

How to install

1. Upload the archive under “Plugins → Add New → Upload Plugin” and activate it.

2. Wait for the index to be built — on first run the module offers to do this with a single button.

3. In the settings, put together the set of facets for your catalogue and set their order.

4. Add the filter widget to the category sidebar, or insert it with a shortcode wherever you need it.

5. If you bought Pro, add SEO pages for the filter combinations people actually search for.

Questions
about the module

Didn't find the answer? Message us on Telegram and we'll reply within a business day.

@catcode_support Setup, compatibility, activation
Do I need to rewrite the theme?

No. The filter is built into the main product query, so it works with themes that render the standard WooCommerce loop. The widget goes into a widget area or a shortcode.

Will it hold up on a large catalogue?

The filter conditions run against the module's own flat "product → value" index, not against attribute and meta tables, so adding new facets doesn't slow the query.

What happens with duplicate values from supplier price lists?

They get merged into one value: instead of three checkboxes "12 V", "12v" and "12 V.", the shopper sees one.

Do the counters account for already-selected filters?

Yes. Its own facet isn't narrowed, though — after picking "Green", the shopper sees how many blue and red items there are and switches with one click.

Won't the filter clutter Google's index?

No. Only the combination you've made an SEO page for goes into the index; the rest return noindex,follow and a canonical to the category. If Yoast, Rank Math or AIOSEO is running, the canonical stays with them.

How many sites can one key activate?

One. The licence is annual: once it expires the module keeps working, only updates and support stop.

Not quite what you are looking for?

We build custom modules for WordPress, WooCommerce, OpenCart and Shopify. Tell us about the task and we'll prepare an estimate.

Order a custom module