Layered Navigation

v1.2.6 Updated Aug 25, 2026

Layered Navigation

Search-engine agnostic layered navigation for Magento 2, with AJAX filtering, range filters, swatches and per-category filter selection.
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
€199.00
Try the live demo
  • Updates and support included for 12 months
  • License key delivered immediately by email
  • 30-day money-back guarantee
  • Full documentation included
  • Composer-ready installation

Filters are how a visitor turns a catalogue of thousands into the handful they came for. Magento's own layered navigation reloads the page on every click, shows every option of every attribute, and offers no control over how a price range or a colour swatch is presented. This module replaces it.

It renders on top of Magento's own Magento\Catalog\Model\Layer, which means the same navigation runs on Meilisearch, OpenSearch and Elasticsearch without a single engine-specific branch. Changing search engine does not change your filters, your configuration, or your theme.

Who it's for

  • Stores with large catalogues where filtering is the primary way customers navigate
  • Merchants replacing a third-party layered navigation extension, or paying a yearly licence for one
  • Projects on Meilisearch, where most layered navigation extensions simply do not run
  • Multi-site setups needing different filters on different categories without duplicating attributes

Key benefits

  • AJAX filtering — filters, applied-filter chips and pagination update without a page reload, and filter pages are prefetched on hover so the result is on screen before the click lands.
  • Price and decimal filters that behave — slider, From-To inputs, or both, with a configurable step. Decimal attributes go through the module's own filter, so engines that only answer with term facets still produce usable ranges.
  • Per-attribute control — options display (all, or first N with "Show more"), an option search box that searches every option including the hidden ones, and sort order by position, label or product count. Set a default once, override it on the attributes that need it.
  • Swatches done properly — visual and text swatches, inline or stacked layout, with configurable hover zoom on image swatches.
  • Per-category filter selection — choose exactly which filters appear on a given category, from the category edit page.
  • Mobile off-canvas drawer — a real mobile filter panel, switchable off when your theme already provides one.

Compatibility

  • Magento 2.4.x / Mage-OS equivalent
  • PHP 8.1, 8.2, 8.3, 8.4
  • Requires wimakeit/module-core 3.0 or later
  • Search engines: Meilisearch, OpenSearch, Elasticsearch
  • Luma and Breeze out of the box; add wimakeit/module-layered-navigation-hyva for Hyvä storefronts
  • Compatible with Varnish and built-in Full Page Cache

Install this module via Composer. Make sure your auth.json is configured with your Wimakeit credentials.

Terminal
$ composer require wimakeit/module-layered-navigation:^1.2.6
$ bin/magento setup:upgrade
$ bin/magento setup:di:compile

Installation notes

The standard composer require + setup:upgrade + setup:di:compile flow applies. The points below cover what's specific to this module.

Required Wimakeit dependency

PackageMinimumRole
wimakeit/module-core3.0shared configuration helpers

Optional companion module

PackageInstall it when
wimakeit/module-layered-navigation-hyvayour storefront runs on a Hyvä theme

Search engine

No engine-specific setup. The module renders on top of Magento's own catalog layer and works with Meilisearch, OpenSearch and Elasticsearch as configured under Stores → Configuration → Catalog → Catalog → Catalog Search.

Decimal attributes are handled by the module's own filter rather than the core one, so an engine that only answers with term facets still produces usable ranges. Nothing to enable — it applies automatically.

Configuration

Stores → Configuration → Wimakeit → Layered Navigation

General

SettingDefault
Enable WiMakeIT Layered NavigationYes
Display Product CountYes
Expanded Filters On Load3
Default Options DisplayAll
Default "Show More" Limit5
Default Option Search BoxNo
Default Option Sort OrderPosition
Mobile DrawerYes

Price & Decimal Filters

SettingDefault
Default RenderingSlider
Slider Step1

Swatches

SettingDefault
Default Swatch LayoutInline
Zoom Visual Swatches On HoverYes
Zoom Width (px)180

AJAX

SettingDefault
Filter Without Page ReloadYes
Scroll To Product List After UpdateYes

Per-attribute overrides

Every default above can be overridden on a single attribute, under Stores → Attributes → Product → (an attribute) → Storefront Properties:

Attribute fieldOverrides
wm_ln_options_displayDefault Options Display
wm_ln_show_more_limitDefault "Show More" Limit
wm_ln_searchableDefault Option Search Box
wm_ln_sort_byDefault Option Sort Order
wm_ln_range_modeDefault Rendering (price / decimal)
wm_ln_swatch_layoutDefault Swatch Layout
wm_ln_swatch_zoomZoom Visual Swatches On Hover

Leave a field empty to inherit the global default.

Per-category filter selection

Catalog → Categories → (a category) → Layered Navigation

FieldDefault
Use defaultYes
Filters to display(inherited)

Set Use default to No to pick exactly which filters appear on that category.

Cron and indexers

The module registers no cron job and no indexer of its own. It reads the catalogue layer and the search engine's facets at render time.

Version
v1.2.6
Support
12 months
Last updated
Aug 25, 2026
Magento
Magento 2.4.4 Magento 2.4.5 Magento 2.4.6 Magento 2.4.7 Mage-OS 2.0 Mage-OS 2.1
PHP
PHP 8.1 PHP 8.2 PHP 8.3
Hyvä
Not compatible
Package
wimakeit/module-layered-navigation

Compatibility checker

Pick your stack to see if this module fits.

Found a bug? Tell us about it.

A short form opens in a new tab — the module name and your language are already filled in. Share what you tried, what went wrong, and we will get back to you within one business day.

Report a bug for Layered Navigation
Module SKU: wimakeit-module-layered-navigation · Language: en_US

Need help?

Our team is available to assist with integration.

Contact us
Planifier un appel