Are you running a big store with multiple catalogs of products? Looking for a solution to improve a customer experience in your store? Welcome to check a layered navigation Magento 2 approach.
When you sell products with a lot of attributes, a layered navigation is a highly important element in overall store usability. By showing the product and attribute filters on site pages, you help visitors to find the desired product much faster. Magento 2 Ajax Layered Navigation extension is going to be the must-have tool to show the layered navigation block on the product, category and CMS pages.
Generally, our module will help you to:
- Add a layered navigation with filterable attributes on your store pages.
- Apply multiple attributes to the same filter.
- Show price attribute slider.
- Let users filter New, On Sale and Stock, products
- Show a Rating filter
- Enter the option name in search line directly in the layered navigation block
- Improve site's navigation structure.
- Simplify a searching process in a store.
Extension approved on Magento Marketplace
- Free installation
- Activate up to 10 times
- All extensions $79
- Approved on Magento Marketplace
Allow your visitors to search easier

Use ajax technique to make a navigation better

Show price filter slider

Make your website friendly for mobile audience

Prevent boring scrolling with sticky layered navigation

Optimize the search in the slideout sidebar with filters

Allow users sort New, On Sale, In stock items

Show important filters in a block expanded by default

Apply the rounded style for color options

Allow users to enter the option name in search field

Make it clear how much is available

Allow user to view more subcategories at once

Keep the customers stay on your site.

Help customers pick the similar products

Ajax Layered Navigation 1.6.5
9th of December 2025- Updated Breeze integration
Ajax Layered Navigation 1.6.1
9th of September 2025- Compatibility with Breeze 2.25.0
Ajax Layered Navigation 1.5.30
9th of April 2025- PHP 8.4 support added.
- Magento 2.4.8 support added.
- Fixed non seo links //, when ‘Use Categories Path for Product URLs’ is enabled.
Ajax Layered Navigation 1.5.25
29th of November 2024- Improve parseLocaleNumber in brezze price-slider.js
- IAdd option filtering for 'single select' attrs
Ajax Layered Navigation 1.5.21
24th of October 2024- Fix scrollRestoration behaviour on breeze
Ajax Layered Navigation 1.5.21
21th of October 2024- Apply search term filter for price ranges
Ajax Layered Navigation 1.5.20
19th of September 2024- Allow admin to enable/disable single select mode
Ajax Layered Navigation 1.5.19
29th of August 2024- Use more specific selector to fix swatches More link
Ajax Layered Navigation 1.5.18
9th of August 2024- Improved PHP8.2 compatability
Ajax Layered Navigation 1.5.15
19th of July 2024- small code refactoring
- Fix missing table prefix (not correct getTableName method)
- Fixed few typos in configuration
Ajax Layered Navigation 1.5.13
18th of June 2024- Fix wrong rusults count calculation (apply state filters)
Ajax Layered Navigation 1.5.12
18th of May 2024- Add ‘step’ attribute integration into breeze range-slider
- Fix ionRangeSlider is not function
Ajax Layered Navigation 1.5.10
4th of May 2023- Breeze: fixed scroll position restoration on page reload.
Ajax Layered Navigation 1.5.7
28th of April 2023- Fix getAllCategoryProductIds logic return product ids only from current category
Ajax Layered Navigation 1.5.7
28th of March 2024- Magento 2.4.7 compatability update
Ajax Layered Navigation 1.5.6
8th of March 2024- Fix: Assignment to constant variable
- Improve getFacetedData logic
- Improve di argument (use Factory)
Ajax Layered Navigation 1.5.2
3th of January 2024- Fixed js errors
Ajax Layered Navigation 1.5.1
5th of December 2023- Fixed breeze integration
Ajax Layered Navigation 1.4.24
28th of November 2023- Improved breeze integration and stability
Ajax Layered Navigation 1.4.21
15th of October 2023- Added customer loggedin flag to cache_key block params
- Add step property in slider configuration
Ajax Layered Navigation 1.4.20
15th of September 2023- Performance: improve total blocking time score.
Ajax Layered Navigation 1.4.19
30th of August 2023- Prevent join the same _idx in StateFilterApplier
- Reset GROUP BY in Decimal::_getSelect
- Always add GROUP BY with decimal table join statement
Ajax Layered Navigation 1.4.17
20th of August 2023- Fix filter count in Stock+New
- Fix decimal resource _getSelect logic
- Fix Decimal::getAttributeCode return null
- Prevent show attributes with empty attribute code
Ajax Layered Navigation 1.4.14
25th of July 2023- Fixed bottleneck in getting review rating
Ajax Layered Navigation 1.4.7
30th of April 2023- Fix: Deprecated Functionality: str_replace() error
Ajax Layered Navigation 1.4.3
7th of April 2023- Fix: use correct getTableName method.
Ajax Layered Navigation 1.4.1
17th of March 2023- Fixed elasticsearch integration
- Added ‘Load Previous Page’ button
- Fixed add more button logic page culculating
- Fixed “On Sale” or “Rating” incorrect items count
- Added page-detector.js component (?p=)
- Fixed Plugin/…/Rating/ElasticsearchCollectionFilterPlugin.php
Ajax Layered Navigation 1.3.63
27th of January 2023- Fix applied filter 'New' for elasticsearc
- Update toolbar-amount number when Infinite Scroll / Show More Products option is enabled
- Multiply bugfixes
Ajax Layered Navigation 1.3.61
12th of October 2022- Fixed visible empty space when more button used
- Breeze: fixed duplicated ‘More Products’ button when using back/forward buttons
Ajax Layered Navigation 1.3.60
31th of September 2022- Performance improvements when using price filter
- Added Breeze integration with “Load More” button and infinity scroll
- Hide “Load More” button when last page is loaded
Ajax Layered Navigation 1.3.51
31th of May 2022- Fixed range-slider duplicate when browse using back/forward buttons
- Don’t show multiple tooltip if state block is empty
Ajax Layered Navigation 1.3.50
25th of April 2022- Fixed min/max price calculation for price range filter.
- Prevent layout shift when filter is initially expanded.
- Added ability to reset single swatch filter.
- Small CSS improvements.
- Breeze: price range filter added.
Ajax Layered Navigation 1.3.48
16th of April 2022- Magento 2.4.4 compatibility.
Ajax Layered Navigation 1.3.46
10th of April 2022- Fix: prevent load product collection in Model\Layer\Filter\Price::initRange
Ajax Layered Navigation 1.3.44
20th of February 2022- Fix: convert current currency to base currency
- Fix: On Sale filter wrong slider renderrer
- Fix: setup_version and setup patch data bug
Ajax Layered Navigation 1.3.43
30th of January 2022- Magento Coding Standard fixes
- Breeze Theme integration added
Ajax Layered Navigation 1.3.42
30th of November 2021- Prevent scroll event triggering after clicking by toolbar
- Added speed param of scrolling (fast scroll prevent race)
- Save push state (infinite scroll) for returns to the origin page
Ajax Layered Navigation 1.3.40
20th of July 2021Bugfixes
- Fix/Improve js isMobile (portrait mode)
- Remove console.log about state dom element
- Fix toolbar event racing (Magento_Catalog/…/toolbar.js, navigation/toolbar.js)
- Fix phpunit tests
- Fix hasAttributeModel not exist warning
- Fix Magento\Framework\App\Request not found
- Fix access to an undefined property
- Fix setUp(): void errors
- Add push_state_with_infinite_scroll config option (close #64)
Ajax Layered Navigation 1.3.34
27th of April 2021Bugfixes
- Fixed option/product counting. Add visibility, category and other filters for full 2.4 (elasticsearch) compatability
- Fixed ‘Empty swatch tooltips on 2.4’
- Fixed JS warning in browser console - “Fallback to JQueryUI Compat activated. Your store is missing a dependency for a jQueryUI widget…”
- Apply filter when user typed price into intups at price filter. Or any other range filter.
Ajax Layered Navigation 1.3.32
21st of January 2021Bugfixes
- Fixed notice int return almost array
Ajax Layered Navigation 1.3.31
25th of November 2020Bugfixes
- Fixed multiple behaviors enabled on mobile
Improvments
- Add range slider for price type custom filters
Ajax Layered Navigation 1.3.30
13th of November 2020Bugfixes
- Add possible multiple 1-column support
- Prevent Chrome from scrolling down to ‘More’ button after clicking on it
- Fixed duplicate page description after clearing filters
- Do not collapse section when unchecking filter via checkbox
Improvments
- jQuery accepts array of element to insert. No need for this loop.
- Merge two methods together because they do the same logic
- Improve scroll to top: scroll when top is outside of the viewport
- Attributepages integration
Ajax Layered Navigation 1.3.25
3rd of July 2020Bugfixes
- Fixed category and price filters errors on AMP on Magento 2.4
Ajax Layered Navigation 1.3.24
27th July 2020Features
- Added push state to url config feature (close #61)
Bugfixes
- Fixed state filter duplicates
- Fixed state filter label is object bug
Ajax Layered Navigation 1.3.23
17th July 2020Bugfixes
- Fixed typos
Ajax Layered Navigation 1.3.22
17th June 2020Features
- Add toogler widget
Bugfixes
- Add module dependencies
Ajax Layered Navigation 1.3.21
21th April 2020Features
- Add price slider enable option (default aln price range mode)
Bugfixes
- Fix response dom replace at search results page
Ajax Layered Navigation 1.3.18
27th March 2020Bugfixes
- Fix ‘DevTools failed to parse SourceMap: ..lib/jalc.min.map’
Features
- Add Sticky on Mobile
- Improve price range calc if another attr option applied
- Add js toggler
- Add button ‘Apply’ to each page layout
- Remove js component shortname
Ajax Layered Navigation 1.3.15
4th March 2020Bugfixes
- Fix category multiselect applying
Features
- Improve price slider from-to logic
- Add from-to input fields for price slider
- Add price slider skin config option
Ajax Layered Navigation 1.3.14
17th February 2020Bugfixes
- Possible fix for multiselect attr logic
Features
- Add price round( ,2)
- Marketplace data added
Ajax Layered Navigation 1.3.13
12th February 2020Bugfixes
- Fix categories count
- Fix isAjaxRequestCacheableEnabled always true
Features
- Add Category multiselect
- Add Price/AggregationRange
- Add elasticsearch price range plugin
Ajax Layered Navigation 1.3.12
3th February 2020Bugfixes
- Fix Stock filter after catalog inventory replacements in 2.3
Features
- Add ‘Is Ajax Request Cacheable’ config option
- New algoritm price min-max, from-to calculating was added
- Add price slider option force_edges: true
- Update Ion.RangeSlider to 2.3.1
Ajax Layered Navigation 1.3.11
15th January 2020Features
- Refactoring Attribute filter code
- Refactor getFacetedData in Attribute
Bugfixes
- Remove unused virtual type
- Fix : Broken multiple apply when Ajax is not used
- Fix single option bug (for multiselect)
Ajax Layered Navigation 1.3.10
15th November 2019Bugfixes
- Meqp improvements
- Added ajax request caching (default xhr+localStorage)
- Removed redundant params from url
- Fixed multiple apply feature works broken
- Fixed calc in less
- Fixed currency place in proce slider
- Fixed twice or more category filter apply (amp=1)
- Fixed ‘multiselect’ + in-stock count calculation
- Fixed categories items count calculation
- Added more products button config
Ajax Layered Navigation 1.3.7
23th July 2019Bugfixes
- Specified dom selector for product list replacing
- Fix get prices ranges incompatible with Magento\Catalog\Model\Layer\Filter\Dynamic\Improved
Ajax Layered Navigation 1.3.5
5th June 2019Features
- Improve ‘+ More’ config option description
Bugfixes
- Fix getFacetedData logic in attribute filter model
- Fix ‘Filters disappear on iPad’
- Fix MageWorx_OptionFeatures compatability
Ajax Layered Navigation 1.3.4
13th May 2019Features
- Add feature ‘Hide certain filters on specific categories’
- Scroll to toolbar after AJAX reload
Bugfixes
- Fixed elasticsearch and Magento 2.2 compatibility
Ajax Layered Navigation 1.3.3
22th April 2019- Added ‘Show results’ button for mobile
- Add ‘More Products’ button
Bugfixes
- Fix elasticsearch compatibility
- RTL small fix
- Fix scrollbar max-height (related #5 and #40)
Ajax Layered Navigation 1.3.2
14th March 2019- Add block caching
- Fixed bottleneck typo
- Fixed compatability with CE 0bbda5
- Fixed product ids bottleneck
- Fixed 2.2 EE compatability (magento/module-stagging)
- Compatibility with latest seo-urls feature - rel="nofollow"
- RTL style
Ajax Layered Navigation 1.3.0
31st October 2018- Internal module naming convention was updated. We applied this changes to reach full compatibility with Magento Marketplace policy and new Composer-based installation process.
Ajax Layered Navigation 1.2.4
26th September 2018Features
- Added magento 2.2.6 compatibility
- Improved di injection
Ajax Layered Navigation 1.2.3
31th July 2018- Improved ajax request configuration
- Added getAttributeCode method for filter
- Fixed replaceWith+IE(
- Fixed file permissions
Ajax Layered Navigation 1.2.2
22th May 2018- Fixed setup script
- Fix double listjs in category.phtml
- Fix ‘mobile + is not ajax + multiple’ logic
Ajax Layered Navigation 1.2.1
7th April 2018- Improve tooltip CSS styles
- New price slider modern skin
- Improved price slider logic (from-to, min-max)
- Added MGS theme integration
- Change rating attribute input type (hidden=>multiselect)
- etc.
Ajax Layered Navigation 1.2.0
6th March 2018- Added multiple mode and tooltip (popup)
- Added amazon like category list style
- Added infinite scroll
- Added filter cleance
- Added all-products page
- Splited and refactored js code
- Override swatches template
- Add unit tests
- Multiply small updates



Ajax Layered Navigation 1.1.0
2th January 2018- Added sticky layered navigation
- Added stock filter (In Stock, Out of Stock)
- Added New filter
- Added On Sale filter
- Fixed layered navigation in one column layout
- Added default exploded filters of option
- Added slideout filters sidebar
- Added round style for color options
- Added search options by name
- Improved code style
Ajax Layered Navigation 1.0.1
27th December 2016- Improved price slider functionality and state items style
Ajax Layered Navigation 1.0.0
30th November 2016- Initial extension release