solutions for e-commerce

13 years of business 2563 reviews 4.9 average rating
Magento 2

Advanced Layered Navigation

Provide your customers with fully optimized and responsive layered navigation on your category and search results pages thanks to the Advanced Layered Navigation for Magento 2!

4.7/5 rated
3 Reviews
from €395
User guide

You may also be interested in these resources:

Install the Elasticsearch server

Elasticsearch is a real-time distributed search and analytics engine that allows you to explore your data very quickly. It is used for full-text search, structured search, analytics, and all three in combination.

And it packages up all this functionality into a standalone server that your application can talk to via a simple RESTful API, using a web client from your favorite programming language, or even from the command line.

The Advanced Layered Navigation extension will allow you to make the link between the search and analytics engine and Magento 2.

You can find more information on the product here:

Install and run Elasticsearch server

As Elastic advises, "the easiest way to understand what Elasticsearch can do for you is to play with it".

To be able to use the Advanced Layered Navigation extension and reach the server, you first need to have a recent version of Java. You can easily install the latest version of Java from

Then you can install and run the Elasticsearch engine following the below steps.

Install Elasticsearch

You can download the latest version of Elasticsearch from

Run Elasticsearch

To run Elasticsearch, open a console, and run the following command:

cd elasticsearch-<version>

If you’re running Elasticsearch on Windows, simply run:


Test Elasticsearch

You can easily test if the Elasticsearch engine is reached by trying to access http://localhost:9200/?pretty or by opening a new terminal window and running the following:

curl 'http://localhost:9200/?pretty'

You should then get:

You now have an Elasticsearch node up and running.

You can also check the official documentation to install Elasticsearch. 

Use the Advanced Layered Navigation extension

You can enable the Advanced Layered Navigation extension in:
StoreSWyomindElasticsearch Layered Navigation

Debug mode

You also have the possibility to enable debug mode.

When it is enabled, a toolbox will be displayed on the frontend with the below information:

  • Infinite scroll?: have the products been loaded via the infinite scroll?
  • Cache?: the module offers a cache for the current page. If the request is cached, the server will not be called and the response will be faster
    Yes = the result comes from the cache.
    No = the result doesn't come from the cache.
    The cache is reset when the page is reloaded.
  • Elasticsearch?: it is the contrary of "cache?". Are the results coming from the Elasticsearch server or not?
    Yes = the request has been sent to the Elasticsearch server and the results are coming from Elasticsearch.
    No = the results were cached.
  • PHP time: it is the execution time of the PHP code (including requests to the Elasticsearch server).
  • Request time: it is the total execution time of the Ajax request to retrieve the products (including "PHP Time").
  • Rendering Time: it is the time needed to render the products on the page ("Request Time" not included).
  • Total time: it is the time required for the Ajax request and the rendering of the products.
  • Enable Template Hints: to display the templates used for rendering the page by the module.
  • Show last request data: to show the results of the last query (Elasticsearch or cached). It contains an explanation of why and how some products score higher than others.

URLs settings

Once the extension is enabled, define the URLs settings.

  • Enable attribute codes in the generated URLs

    If enabled, attribute codes will be added as keys in the generated URLs for the filters.


     Note that the category, rating, and price filters cannot be interpreted when the option is disabled and that using identical values for distinct attributes may provide inconsistent results.
  • Attribute Identifier
    Choose the identifier to use in the URLs generated for the filters between Code or Label
    Note that the label must be unique otherwise it can create conflicts
  • URL format
    You can define the URL format on Native or Mageworx. 

    When using the Mageworx model, {{PARAMETER}} will be replaced with the value of the Mageworx format: filters parameter field.filters
    Contact us if you need another format.

Display settings

Configure the display settings. Advanced Layered Navigation offers you two methods of rendering for the product listing pages: 

  • Full Elasticsearch template engine
    When enabled, the product listing will be displayed faster than when using the native Magento template engine. However, it may require some customizations to be fully compatible with your custom theme.
  • Magento native template engine
    The Magento native template engine is used to load the listing of the products.
    Rendering is fully compatible with custom themes.

Define your labels

With the Advanced Layered Navigation extension, you can define or translate your own labels for each store view.

  • "Search by"
    This is the title of the filters column. 
  • "Clear all"
    This is the link to remove all applied filters.
  • Number of items in current page
    Only used when the infinite scroll is disabled.
    {{from}}, {{to}, {{nbItems}} can be used to be replaced in the label. 
    Items {{from}}-{{to}} of {{nbItems}}
  • Per page dropdown label
    Only used when the infinite scroll is disabled.
    {{control}} can be used to be replaced by the size of page selector, otherwise, the size of page selector will be added after the label. 
    Show {{control}} items per page
  • "Sort by"
    It is used before the sorting dropdown.

When the infinite scroll is enabled, you can also change the labels for:

  • Number of items in the list
    Only used when the infinite scroll is activated.
    {{nbItems}} can be used to be replaced by the number of items in the label.
    {{nbItems}} items
  • "End of list"
    Only used when the infinite scroll is activated.
    This is displayed at the end of the product listing.No more product

Configure the Category and Search Results pages

With Advanced Layered Navigation, you can independently enhance your Category and Search Results pages with an advanced search from: 
StoreSWyomindAdvanced Layered Navigation SettingsDisplay SettingsCategory/Search Results Page

Configure your products listing

For the Category and Search Results pages, you can enable each below option separately: 

  • Update the search results page automatically from the search box 
    For the search pages only. 
    If enabled, the search form autocomplete will be disabled and the product listing will be automatically refreshed according to the new search terms.
  • Update "Search Term" information when a search is performed from the search form
    For the search pages only. 

    You can also update "Search Term" information when a search is performed from the search form.
    You will then find the updated search terms in:
    MarketingSEO & Search Search Terms

  • Enable Ajax Cart
    Instead of reloading the page when adding a product to the cart, the process is done in the background and a notification appears when the product is added to the cart.
  • Display an "Add to compare" button
    An "Add to compare button" will be displayed for each product.
  • Enable "Sort by ratings"
    When enabled, it will be possible to sort products depending on the customers' ratings.

Enable the Highlight

Enable search terms highlight. If enabled, search terms will be highlighted in the search results data.

Note that the highlight is only available in the Search Results page.

Enable the Infinite Scroll

The Infinite Scroll can be enabled in Category and Search Results pages. When enabled, you need to define the: 

  • Infinite Scroll step
    It is the number of items to load at each infinite scroll step. 
    10 items
  • Automatic infinite Scroll
    If enabled, the next step of the Infinite Scroll will be loaded when reaching the bottom of the page.
    Else, a button will allow you to Load more products.
  • Infinite Scroll offset from bottom
    It is the distance in pixel from the bottom of the page that triggers the Infinite Scroll loading. 
  • Display "End of list" message? 
    Display a message at the end of the list or not. 

Add layers to your pages

The Advanced Layered Navigation extension allows you to add as many attribute filters as you need on the top, left, or right side of your Category and Search Results pages. 

Define the layers update

You can first choose to Hide filters with only one value. 

You also have the possibility to refresh the filters according to those that are already selected.

When that option is enabled, you can define how the unavailable filters are displayed: 

  • Disabled
    The values with no product matching will be displayed but won't be available for selection.
  • Hidden
    The values with no product matching will be hidden.

Finally, you will have to choose the filters options sorting method between:

  • Native: The values will be sorted according to the configuration of the attribute.
  • Alphabetical: The values will be sorted according to alphabetical order.
  • Count: The values will be sorted according to the number of results for each option.

Filters state

Choose if you want to enable or disable Breadcrumbs.

If Breadcrumbs are enabled, the path of the filters used to get the current product listing will be displayed.

When Breadcrumbs are disabled, each selected filter will be displayed as below:

If Breadcrumbs are disabled, you'll have the possibility to merge selected values for the same attribute

Enable price input boxes

If enabled, it displays input boxes below the slider to allow customers to filter products by typing any price value.

Enable layers on Top / Left / Right / Mobile

The Advanced Layered Navigation extension allows you to add layers in your Category and Search Results pages. You can:

  • Enable top layer
  • Enable left column layer
  • Enable right column layer
  • The mobile layer is enabled by default:

For each layer, you can:

  1. Add as many attributes as you want by clicking on the + icon.  
  2. Use drag and drop to define the order of each filter.
  3. Choose the filterable attribute.
  4. Define if filters are Closed by default or not.
  5. Show results count for each attribute or not.

  6. Show More/Less option for each attribute.

  7. When the Show More/Less option is enabled, you can configure the number of values to display.
  8. Filter the options (Input filter: not available for categories, price, reviews, swatch)

  9. Update Browser URL so that the browser URL can be updated according to the selected filters' options.
    For example: In the Fitness equipment category, a user selects the red and blue options of the color filter, the URL will be:
    Each filters' option will be combined. For example, if you select Update Browser URL for the color and the size, you could get:
    These URLs can allow users to access the page with the filters already selected.
  10. Define the attribute on No Index, No follow in order to avoid indexing pages that are not relevant. 
    No Index, No follow is not linked to Update browser URL. If the option is enabled, no link is generated for the filters' options and the search engines won't be able to follow the link with the selected options.
  11. Delete the attribute from the filters.

For each layer, you have the possibility to enable floating layers. If enabled, the left/right layers block will scroll with the page content.

Configure each category page independently

By default, each category page uses the configuration you have defined in:
StoresWyomindAdvanced Layered NavigationSettingsDisplay SettingsCategory Page

Attention, you won't be able to edit the layers' configuration if, from the Display Settings tab of the category, Display Mode is set to Static block only, or Anchor is set to No.

Duplicate the layers configuration

You can quickly apply the same layers' configuration to your category by duplicating the configuration from another category. 

This will apply the same configuration to the category you're editing. 

Apply layers configuration to sub-categories

You also have the possibility to apply the current layers' configuration to all sub-categories.

The layers' configuration of the subcategories will be replaced by the layers' configuration of the category you're editing.

Note that this operation can take a long time.

Enable layers on Top / Left / Right / Mobile for the category page

Advanced Layered Navigation allows you to configure each category page with specific layered navigation.

For that, go to a category page from: 

From the category page, you can go to the Advanced Layered Navigation section. 

You have the possibility to switch the Use Store Config option to No and to enable Top / Left / Right / Mobile layers. 

Leave the Use Store Config and Enable options to No if you don't want to apply any layered navigation to a category page. 

You can now add the layers you want for that category. 

Make any search on your website much more relevant, quicker, and user-friendly than the default Magento 2 search tools with the Elasticsearch Suite which includes the Advanced Layered Navigation and also the Multifaceted Autocomplete extensions.

Configure the Elasticsearch Core

You can configure the Elasticsearch Core according to your needs in the Magento configuration from:
StoreSWyomindElasticsearch Core 

Enable the logs / debug

The extension comes with logs in order to help you to check the frontend requests, the indexation, and the Elasticsearch server status. 

Note that the debug mode depends on the IPs authorized in your Magento configuration.

Enable request log

A log file is created for the frontend requests:

Enable indexation log

A log file is created for the reindexation process:

Enable client log

A log file is created for the Elasticsearch client calls:

Enable Elasticsearch Server status log

A log file is created for the Elasticsearch Server status:

Receive a backend notification when the server fails

When the Elasticsearch Server status log is enabled, you can enable and define your own configuration for the backend notification subject and content.

Note that you have the possibility to use variables in the notification content:

  • {{store_id}}
    Store ID
  • {{code}}
    Store code
  • {{name}}
    Store name
  • {{server_version}}
    Elasticsearch Server version
  • {{servers}}

Receive a mail notification when the server fails

When the Elasticsearch Server status log is enabled, you can enable and define your own configuration for the email notification.

Note that you have the possibility to use variables in the email content: 

  • {{store_id}}
    Store ID
  • {{message}}
    Returned message
  • {{server_status}}
    Elasticsearch Server status
  • {{server_version}}
    Elasticsearch Server version

Configure the server settings

You can configure the general Elasticsearch settings.

Elasticsearch Server version

Here will be displayed the version of the Elasticsearch server that you have installed.

Note that the version will be updated with the right value after having saved the config a first time or using a command line.


The servers must be written as host:port and separated with a comma.
Follow this pattern for full available parameters.
Check that your servers are correctly configured by clicking on TEST servers.

Verify Host

This is only used for https connection. You can set that option to No if you don't have a valid SSL certificate.

Connect Timeout

Number of seconds after a timeout occurs for every request.
5 seconds

Configure the indexing settings

Index Prefix

This is used to prefix index names in order to avoid potential collisions. 

Index Settings

Having more shards enhances the indexing performance and allows to distribute a big index across machines and having more replicas enhances the search performance and improves the cluster availability.

When clicking on Use system value, the default configuration is reinitiated.

Be careful when modifying this parameter. Write consistency (one, quorum, or all) must be considered in order to avoid timeout write action.
More info here: Index settings properties reference

Analysis Settings

This is where you can define the analysis settings.

When clicking on Use system value, the default configuration is reinitiated.

See more about the Analysis settings.

Safe Reindex

Reindex in a temporary index and switch to it once finished. Especially useful for large product catalogs.

Automatically run indexers if invalidated

In some cases, you might need to reindex indexes automatically as it can take a lot of time. Then you can choose to automatically run indexers via a cron task when they are invalidated.

A notification is displayed in the header of Magento when indexes are invalidated.

If you disable this option, see how to run your indexes manually.

Check the status of the indexes from:SystemWyomind Elasticsearch CoreManage Indexes

Configure the search settings

Query Operator

By default, it is set to AND. You may have fewer results with the AND operator but they’ll be more relevant.
"digital camera" is translated to "digital AND camera" or "digital OR camera"

Enable Product Weight

This enables product weight modifier. It is only available for search results.

When product weight is enabled, you can assign a weight to any product from the backend product page in the Elasticsearch tab. 

Use parent images

By enabling this option, when a product (configurable or bundle) is found from the data of a child product, then the parent product images will be used instead of the child product images.

Return available products first?

Enable this option to return the products available for purchase before the products not available.

Configure the entities settings

You can configure the indexing of the attributes more finely. 

  1. Open each group of attributes using the arrow
  2. Find all the attributes grouped by type. 
  3. When fields are grayed out, it means that the attribute is indexed by default by the module.
    To be able to modify the searchable option, the attribute must be indexable.
  4. For an attribute to be searchable it must be indexed.
    To be able to modify all of the following options, the attribute must be searchable.
  5. You can boost each attribute you are indexing by assigning them a weight from 1 to 10.
    Note that 10 is the highest weight. 
  6. You can start matching results from the first 1 to 5 characters. 
  7. You can start matching results from the last 1 to 5 characters. 
  8. The analyzer defines the way in which the content of the attributes will be analyzed. You have the choice between several analyzers. 
    Note that the automatic mode is suitable in most cases. 
  9. You have the possibility to enable the approximative search for each attribute and choose the fuzzyness level:

    0: the number of possible errors is 0 whatever the size of the search word
    1: the number of possible errors is 1 whatever the size of the search word
    2: the number of possible errors is 2 whatever the size of the search word
    AUTO: generates an edit distance based on the length of the term. Should generally be the preferred value. 

    For the AUTO mode, the length of the words has an impact on the edit distance:
    0..2: must match exactly
    3..5: one edit allowed
    >5: two edits allowed

    Check the Elasticsearch documentation for more info on the fuzzy query mode
The attributes used in the search with Advanced Layered Navigation are automatically added to the Elasticsearch Core index.


You can enable Category Search so that they can be indexed in Elasticsearch.

If you do, you need to select and configure the category attributes that are searchable.
Page Title

Category indexing is only used with Enhanced Autocomplete and Multifaceted Autocomplete.


You can enable the search among your CMS pages to be indexed in Elasticsearch.

You just need to select and configure the searchable attributes. 
Content, Content Heading, Identifier, Title

You also have the possibility to exclude some pages that may not be relevant from the search results. 
404 Not Found, Enable Cookies, Privacy Policy

CMS page indexing is only used with Enhanced Autocomplete and Multifaceted Autocomplete.


When the Product Search is enabled, the products are indexed in Elasticsearch.

You can define the image size in pixels. 

The images will be used in the autocomplete with Enhanced Autocomplete and Multifaceted Autocomplete.

Then, select and configure the attributes that are searchable.
Product Name

Attention, after having selected the attributes, indexes are invalidated. According to your configuration, they will be automatically reindexed by cron task, or you'll have to manually reindex them.

Configure the frontend design

You have the possibility to define your preferences for the colors and the display.

Loader Image

Choose the image you want to display when categories and search pages are loading. It can be:

  • jpg
  • jpeg
  • gif
  • png

Primary color

Used for the main elements.

Secondary color

Generally used for highlighting search terms in the search results.

Background primary color

Generally used as the products listing background.

Background secondary color

Generally used as the secondary entities listing and layers background.

Enable overlay

Dark overlay behind the autocomplete popup.

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Enable blur effect

Blurred background behind the autocomplete popup.

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Enable transition

Smoothly show/hide the autocomplete popup.

If enabled, you can define the duration of the transition in seconds. 

Available if you have the Multifaceted Autocomplete or the Enhanced Autocomplete extension. 

Developer tools

Test Search

The Test Search is equivalent to the frontend search with debug info. This allows you to control how the search will work with the Elasticsearch Core configuration.

You can access the Test Search page from: 
SystemWyomind Elasticsearch coreTest Search

You can configure:

  • Search term
    Add the term you want to search.
  • Results limit
    Define a limit for the number of results displayed.
  • Storeview
    Choose the store view from where you want to run the search.
  • Customer Group
    Choose the customer group to search from.
    Useful to control the product prices for a specific customer group.

After that, you can click on Search

A grid will display the results for your search. 

When clicking on Show details, you should get more details about the results.

This is particularly useful to know everything that is returned in the search.

The explanation field explains how the score is calculated and why the product appears first in the search results.

Test Analyzers

As our module offers the possibility to create your own analyzers, it is important to be able to test them.

You can access the Test Analyzers page from: 
SystemWyomind Elasticsearch coreTest Analyzers

Add your code in the Custom Analyzers field, select the Built-in Analyzers you want to test, and add a Test phrase

Click on Run Tests

The result of the analyzer will be displayed in the table below. 

Below are some examples:

whitespace: will analyze by separating words with spaces

standard: will separate words with spaces, apostrophes, chevrons ... and remove HTML tags to keep only useful content

Manage the indexes

You have the possibility to get more information and to manage your indexes directly from the table in:
SystemWyomind ELasticsearch CoreManage Indexes

The indexes are automatically updated after the below actions:

  • Add / Edit / Delete a product
    The product is updated at the product index level.
  • Add / Edit / Delete a CMS page
    The CMS page is updated at the CMS index level.
  • Add / Edit / Delete a category
    The category is updated at the category index level.
  • Category products list update
    The category is updated at the category index level and the products previously and currently linked to the category are updated.
  • Review added to a product
    The product rating is updated at the product index level. 


There are 3 types of index:

  • category
  • cms
  • products
The category and cms indexes are also used in the modules of the Elasticsearch Suite.


In the Description column, when clicking on More information, you can see:

  • demo_m2_default_category
    It is the name of the index at the Elasticsearch server level under the below format:
    the prefix + the storeview code + the index type
  • 36 documents
    It means that 36 categories are indexed.
  • 14,77 kB
    It is the size of the index on the disk.
  • View Mapping
    When clicking on View Mapping, a popup should open and display the mapping data. 

Last Update

The last time the index has been run will be recorded in the Last Update column. 

Last action state

The last action state will be recorded in this column. You can also see the number of entities that were indexed by hovering the mouse over the status.

When running an index, a progress bar will display its status and some information about the indexing process.


From the Status column, you can see if the indexes are valid of invalidated. 

According to your configuration, indexes will be automatically reindexed by cron task, or you'll have to manually reindex them.


From the Action column, you can choose to:

  • Flush the index: this will empty, reset the index.
  • Run the index: this will fully reindex the entities.
  • Run via cron: this will trigger the cron task to run the selected index.

Note that you can reindex any of your attributes. See how to make your attribute searchable.

Browse Data

You can easily see what is indexed at the category, CMS pages, and product level in that section:
SystemWyomind ELasticsearch CoreBrowse Data

From the Action column, you have the possibility to:

  • Edit each line
    Redirects you to the category/CMS/product page
  • See the raw data
    Opens a popup that displays the raw data; what is really indexed in Elasticsearch.

Use the Command Line Interface

The extension comes with several command lines you can easily use.

Update Elasticsearch server version

To update the Elasticsearch server version with the right, you can use the below command line:

bin/magento wyomind:elasticsearchcore:update:server:version​

Update the configuration file

To update the configuration file which is used on the frontend to avoid loading the full Magento Core, you can use the below command line:

bin/magento wyomind:elasticsearchcore:update:config

Reindex your data

To reindex your data, you can use the below command line:

bin/magento wyomind:elasticsearchcore:indexer:reindex [options]


  • -s storecode or --store storecode
    The code of the store view for which to re-index data.
    Note that this parameter is unique, you can’t add many store codes.

    To reindex all types for the store view which code is “storefr”:

    bin/magento wyomind:elasticsearchcore:indexer:reindex -s storefr


    bin/magento wyomind:elasticsearchcore:indexer:reindex --store storefr
  • -i type or --index type
    A space-separated list of index types: cms, category, and product

    To reindex products only:

    bin/magento wyomind:elasticsearchcore:indexer:reindex -i product


    bin/magento wyomind:elasticsearchcore:indexer:reindex --index product
    You can also reindex your brands when using the Shop by Brand extension. 
  • -p ID or --product ID
    The ID of the product to reindex. 
    Note that this parameter is unique, you can’t add many products.
    To reindex product with ID 2:
    bin/magento wyomind:elasticsearchcore:indexer:reindex -i product -p 2


    bin/magento wyomind:elasticsearchcore:indexer:reindex --index product --product 2


More examples:

To reindex all index types for all store views and products:

bin/magento wyomind:elasticsearchcore:indexer:reindex

To reindex categories for the store view which code is “storefr”:

bin/magento wyomind:elasticsearchcore:indexer:reindex -s storefr -i category

To reindex categories and CMS pages:

bin/magento wyomind:elasticsearchcore:indexer:reindex -i category cms



When running an index, a progress bar will display its status and some information about the indexing process.

Note that this will be logged in Wyomind_ElasticsearchCore_Indexation.log.

Manage your search results

Like the product attributes, you can assign weight to your products directly. 

Give weight to your products

Assign weight to products

To boost your products in the search results, you can give them a weight. For this, go in:

There, edit a product you want to showcase.

In the Wyomind Elasticsearch Core tab, you can define the weight from 1 to 10. 

Note that 10 is the highest weight. The higher the weight, the more the product will appear first in the search results.

This is only possible when the Product weight option is enabled in the Elasticsearch Core configuration. 

Ignore products in the indexation

You have the possibility to ignore products in the indexation process. For this, go in:

There, edit a product you want to ignore.

In the Wyomind Elasticsearch Core tab, you can switch the Ignore the product for indexation option to Yes

When changing this value, a full reindex must be run (manually or using the CLI).

Manage the synonyms in your search results

The extension takes into account the synonyms in the search.

Create groups of synonyms

You can create new groups of synonyms from:
MarketingSeo & SearchSearch Synonyms

For example, if you create the list of synonyms:

This means that when searching for "orange shoes", the extension will search:
orange shoes
orange footwear

If other synonyms are defined such as:

In that case, the extension will search:
red shoes
red footwear
orange shoes
orange footwear
yellow shoes
yellow footwear

All the corresponding products will then be displayed in the same list.


Bring your Magento® 2 layered navigation to the ultimate level!

Make your categories and search results pages so fast to navigate for customers thanks to powerful and easy-to-use/intuitive tools.

  • Lifetime license
  • 12 months support & upgrade
  • 60 days money-back guarantee
  • Extensible source code
    Unlimited test domains
  • Free composer access
  • Marketplace approved
Want to know more?

SEO Optimization

Generate SEO-optimized URLs that are readable by search engines.
Control which filtered pages will be crawled by search engines and avoid indexing pages that are not relevant with the No Index, No Follow option.

Cross-device tool

Fully responsive
Offer an optimized mobile website experience to users with Advanced Layered Navigation. The extension is designed to be responsive on all devices.

Multi-theme skin
The module only requires a few efforts to easily adapt to any Magento® theme.

Successful UX on Search results and Category pages

Convert more visitors into customers thanks to optimized search results and product listing pages. 

Enriched layered navigation

Instant refresh
Filters are updated in real-time according to the selected filters.

Results quantity
Show the number of results by attribute and the number of items per page.

Show more/less
Give the user the freedom to expand or not the filters.

Layers option filters
Offer unique search speed to users thanks to the text field filter.

Sticky Layers
Enable sticky layers for category/search results pages.

Filter sorting
Choose how filters are sorted: default position, alphabetically, or number of results.

Practical price filter

Effective slider
Allow your customers to drag and drop the cursor on the slider in order to filter price ranges as they need.

Accurate input boxes
Add input boxes below the slider to allow customers to filter products by typing any specific price value.

Horizontal/Vertical navigation

Organize the navigation as you want and add top/left/right layers in the Category and Search results pages. 

Accurate filters

Adaptable content
Adapt displayed filters to the situation, not only to the available data.

Relevant information
Offer smoother and more relevant navigation by avoiding displaying too much information.

Enhanced product listing

Extended sorting
Allow sorting products by relevance, price, ratings, or any sortable attribute.

Keywords highlight
Emphasize keywords in the search results.

Seamless user-interface

Fully customizable Look & Feel
Customize the look and feel from your Magento® back-office.

Fast AJAX cart
Enable the AJAX cart.

Additional Buttons
Add "Add to cart/wish-list/compare", "Email to a friend" buttons.

Configurable image
Display the product images that best match the search.

Infinite Scroll
Give the best infinite scrolling experience to your customers.

Intuitive breadcrumbs
Create a better UX and improve crawlability using breadcrumbs.

Relevant search results

Search terms synonyms
Take into account synonyms in the search and help customers while shopping on your store.

Enhanced Search Terms
Make your search box more intelligent and enrich your Magento® search terms.

Elasticsearch possibilities fully exploited

The module uses the power of Elasticsearch to centralize the storage of your data and ensure very high relevance and analyzes as powerful as scalable.

Freqently Asked Questions
Pre-sales informations

This extension works with Magento Community Edition and also Magento Enterprise Edition. To know if Advanced Layered Navigation is compatible with your Magento version, please check the Compatibility tab.

Magento offers three variations of its product.

As their names have changed over the past few years, here is a recap:

  • Magento Open Sourcepreviously Magento Community Edition (CE), is a free and non-hosted e-commerce platform.
  • Magento Commerce: previously Magento Enterprise (EE), is the paid version of Magento and offers support services.
  • Magento Commerce Cloud: is the paid version of Magento and offers support and hosting services.

Refer to the below table to know which server is compatible with your version of Elasticsearch:



Elasticsearch server

Elasticsearch/elasticsearch library

Elasticsearch v5.0

v2.0 /

v2.1 /


v2.x v2.x
Elasticsearch v5.1.0
Elasticsearch v5.1.4 v2.x / v5.x v5.x
Elasticsearch v5.3
Elasticsearch v5.3.4
Elasticsearch v6.0 v2.x / v5.x / v6.x


Elasticsearch Core v2.0

v2.1 /

v2.2 /

v2.3 /


Elasticsearch Core v3.1

Included in the extension

Elasticsearch Core v4
v2.x / v5.x / v6.x / v7.x
License and domains

A license is valid for an unlimited period of time on one single installation

  • If you're using more than one installation, you will have to buy a separate license for each instance.
  • if you're running several domains on a same installation, you will need only one license for all of them.
Although your license doesn’t have a limited period of validity, your Support & Upgrade period does. By purchasing a module, you’ll be granted a 12-month support period for free. Passed this period, you will have to pay for a new one (see FAQ: Extend your Support period)

You can pre-register your live domain to your license in advance.

Thanks to this option, you'll be able to get the module ready to use on your domain before it goes live.

To pre-register your production domain: 

  1. Go to:
    mY accountLicenses & DOwnloads
  2. Click on the Settings icon next to the module you want your domain to pre-register on.
  3. Click on the link at the bottom of the page saying:
    Do you want to pre-register your domain in order to be ready to go live?
  4. Finally, enter your domain name and click on pre-register now .

Attention, this doesn't mean your license is activated. You'll still have to activate it on your new domain when the module is installed. 

One license is valid for an unlimited period of time on one installation only. However, it is possible to extend or transfer your license in 2 cases: 

  • If you would like to add your testing environments to your license. 
    In that case, it is possible to extend your license to an unlimited number of domains for free.
    For or
  • If you want to transfer your license to another live domain.
    In that case, the Support & Upgrade period for your license must still be active.

To be able to use Advanced Layered Navigation on both your production and testing environments, follow the instructions below:

  1. Download Advanced Layered Navigation.
    (see FAQ: Extensions download)
  2. Install Advanced Layered Navigation on your environment.
    (see FAQ: Modules installation in Magento or in WooCommerce)
  3. Activate the license.
    (see FAQ: Licenses activation in Magento or in WooCommerce)

Also, if you are managing a large amount of domains, please contact us so that we can automatically whitelist these domains.
Modules versioning and download

In order to download Advanced Layered Navigation, log into your Wyomind account:

    1. Go to:
      my accountLicenses & downloads 
    2. Click on the settings icon next to Advanced Layered Navigation.

      A new window opens.

    3. Click on the download icon.


Only the latest extension version released within your Support & Upgrade period is available. In order to get the very latest extension version make sure your Support & Upgrade plan is up to date.

When purchasing a module from, you benefit from 12 months of upgrade. Within this period you can at any time download the latest version of the module directly from your account.

To upgrade Advanced Layered Navigation, follow the steps below:

  1. Go to:
    my accountLicenses & Downloads
  2. Click on the settings icon next to Advanced Layered Navigation.
  3. Click on the download icon.
  4. Install the new version of Advanced Layered Navigation in your Magento admin or your WooCommerce back-office.

Prerequisites, Installation, Activation

To use Advanced Layered Navigation, you first need to have a recent version of Java installed and the Elasticsearch server running.

  1. Download the latest version of Elasticsearch from:
  2. Install it following:

To install Advanced Layered Navigation, copy the content of the unzipped folder and paste all files and directories in your Magento 2 root directory.

To install guzzlehttp libraries, run the following commands:

$ composer require guzzlehttp/guzzle
$ composer require guzzlehttp/ring
If the server is Nginx, replace the first line by the second in the Nginx configuration file:
location ~ (index|get|static|report|404|503)\.php${
location ~ (index|get|static|report|404|503|elastic)\.php${

Add the repository to your composer configuration with the below command:

composer config repositories.wyomind composer

Run the composer installer:

composer require wyomind/elasticsearchlayerednavigation

If the server is Nginx, replace the first line by the second in the Nginx configuration file:
location ~ (index|get|static|report|404|503)\.php${  
location ~ (index|get|static|report|404|503|elastic)\.php${

In your Command Line Interface, execute:

bin/magento setup:upgrade --keep-generated

If you are using a production mode, also execute:

bin/magento setup:static-content:deploy
bin/magento setup:di:compile

In your Command Line Interface, execute:

bin/magento wyomind:license:activate \
Wyomind_ElasticsearchLayeredNavigation,Wyomind_ElasticsearchCore \


bin/magento wyomind:license:activate \
ElasticsearchLayeredNavigation,ElasticsearchCore \

As the Wyomind extensions regularly check if the Elasticsearch server is available, in your Magento 2 installation, you must have a scheduled task up and running from the server side targeting the cron.php file.

For more information on the configuration of cron tasks in Magento 2, you can check their documentation.


With Magento Cloud, the elastic.php cannot be copied to your website root and pub directories because the user does not have the necessary permissions to create these files.

To allow the file to be deployed, you must perform a setup: upgrade locally and manually add the elastic.php and pub/elastic.php files to the repository.

If the elastic.php call throws a 404 error, check that the file exists in the website root directory as well as in the pub directory.

If it is not the case, copy and paste the file from app/code/Wyomind/ElasticsearchCore/ and app/code/Wyomind/ElasticsearchCore/pub.

If you're getting the below error:
script_score: the script could not be loaded

You need to edit the Elasticsearch server configuration elasticsearch.yml file such as below: on
script.allowed_types: inline
script.allowed_contexts: search, update​

When using Advanced Layered Navigation with the UltimateSEO module from Mageplaza, this could cause an error 500.

For that, uncomment the below line from the elastic.php file available in Magento root directory: 

Magento 2 Compatibility

Magento 2® Open Source

  • 2.1.1
  • 2.1.1
  • 2.1.2
  • 2.1.2
  • 2.1.3
  • 2.1.3
  • 2.1.4
  • 2.1.4
  • 2.1.5
  • 2.1.5
  • 2.1.6
  • 2.1.6
  • 2.1.7
  • 2.1.7
  • 2.1.8
  • 2.1.8
  • 2.1.9
  • 2.1.9
  • 2.1.10
  • 2.1.10
  • 2.1.11
  • 2.1.11
  • 2.1.12
  • 2.1.12
  • 2.1.13
  • 2.1.13
  • 2.1.14
  • 2.1.14
  • 2.1.15
  • 2.1.15
  • 2.1.16
  • 2.1.16
  • 2.1.17
  • 2.1.17
  • 2.1.18
  • 2.1.18
  • 2.2.1
  • 2.2.1
  • 2.2.2
  • 2.2.2
  • 2.2.3
  • 2.2.3
  • 2.2.4
  • 2.2.4
  • 2.2.5
  • 2.2.5
  • 2.2.6
  • 2.2.6
  • 2.2.7
  • 2.2.7
  • 2.2.8
  • 2.2.8
  • 2.2.9
  • 2.2.9
  • 2.2.10
  • 2.2.10
  • 2.2.11
  • 2.2.11
  • 2.3.1
  • 2.3.1
  • 2.3.2
  • 2.3.2
  • 2.3.3
  • 2.3.3
  • 2.3.4
  • 2.3.4
  • 2.3.5
  • 2.3.5
  • 2.3.6
  • 2.3.6
  • 2.3.7
  • 2.3.7
  • 2.4.1
  • 2.4.1
  • 2.4.2
  • 2.4.2
  • 2.4.3
  • 2.4.3
  • 2.4.4
  • 2.4.4
  • 2.4.5
  • 2.4.6
  • 2.4.7

Magento 2® Adobe Commerce

  • 2.1.1
  • 2.1.1
  • 2.1.2
  • 2.1.2
  • 2.1.3
  • 2.1.3
  • 2.1.4
  • 2.1.4
  • 2.1.5
  • 2.1.5
  • 2.1.6
  • 2.1.6
  • 2.1.7
  • 2.1.7
  • 2.1.8
  • 2.1.8
  • 2.1.9
  • 2.1.9
  • 2.1.10
  • 2.1.10
  • 2.1.11
  • 2.1.11
  • 2.1.12
  • 2.1.12
  • 2.1.13
  • 2.1.13
  • 2.1.14
  • 2.1.14
  • 2.1.15
  • 2.1.15
  • 2.1.16
  • 2.1.16
  • 2.1.17
  • 2.1.17
  • 2.1.18
  • 2.1.18
  • 2.2.1
  • 2.2.1
  • 2.2.2
  • 2.2.2
  • 2.2.3
  • 2.2.3
  • 2.2.4
  • 2.2.4
  • 2.2.5
  • 2.2.5
  • 2.2.6
  • 2.2.6
  • 2.2.7
  • 2.2.7
  • 2.2.8
  • 2.2.8
  • 2.2.9
  • 2.2.9
  • 2.2.10
  • 2.2.10
  • 2.2.11
  • 2.2.11
  • 2.3.1
  • 2.3.1
  • 2.3.2
  • 2.3.2
  • 2.3.3
  • 2.3.3
  • 2.3.4
  • 2.3.4
  • 2.3.5
  • 2.3.5
  • 2.3.6
  • 2.3.6
  • 2.3.7
  • 2.3.7
  • 2.4.1
  • 2.4.1
  • 2.4.2
  • 2.4.2
  • 2.4.3
  • 2.4.3
  • 2.4.4
  • 2.4.4
  • 2.4.5
  • 2.4.6
  • 2.4.7
User's reviews
Log into your account to leave your review and get up to 3 months of free Support & Upgrade.

22nd January 2024

Very good extension if you're looking for an ajax solution

Very good extension with many functions and one of the few layered navigations that work via ajax. This ensures a very good user experience and short loading times. Small disadvantages:
Occasional problems with compatibility to other SEO extensions.
Umlauts and special characters are not supported.

T - SEO Specialist - User for more than 3 years |Magento 2

25th November 2020

Best extension and Best support 4ever

The extension is very powerful and functional, it adds everything you need A powerful, customisable and fast search engine. An ILN that works perfectly. etc. The support is very friendly and is very involved in solving known problems. As a point of improvement, I think it should be less inclusive in the Themes than the default for magento. It is clear that the extension has been designed on the Lume theme, but almost nobody uses that theme and when installing everything you have to touch CSS to adapt it to your theme. ( it's easy )

19th April 2020

I am very happy with ELN

In my opinion, ELN is the best extension of this type on the market. It is very fast, easy to adapt to my needs (I edited style sheets myself). The quality of the code is at the highest level and allows a lot of personalization options. Very fast customer service. I highly recommend.


Bug fix

  • Correct a filter display problem which could happen on certain configurations.

Bug fix

  • Better filtered url management:  complete 8.0.7 fix

Bug fix

  • Better filtered url management: attribute labels are now used instead of attribute codes when the corresponding configuration is set


  • On page load, do not display filter options with no matches when the corresponding configuration is selected.

Bug fix

  • Correct a regression from version 8.0.2, which could lead to a SQL error when visiting some urls

Bug fix

  • Allow translations for the "remove" placeholder in the selected filters breadcrumb

Bug fix

  • The category links the breadcrumbs had no action. Clicking on the category refreshes the result now.


  • Category url suffix equal to slashe is now supported

Bug fix

  • With Php v8.1, If the category url suffix configuration field was empty then the layered navigation crashed. An empty default value applies now.

Initial release for the master version

Initial release for the legacy version


  • Filters including slashes are now supported

Bug fix

  • Fix js error for products with no indexed price


  • Compatibility with PHP v8.1


  • Compatibility with PHP v8.2


  • fix attribute values with a + symbol as a value


  • Compatibility with Magento v2.4.6 + PHP v8.2


  • Better support of the entities other than product/category/cms


  • Create multiple versions of web/js/eln.js for Magento v2.2, v2.3, v2.4

Bug fix

  • Fix for a unknown variable

Bug fix

  • Fix the display of the filter with the default mode


  • Apply the custom design to the category as defined in the settings of the category
  • Fix for enlighting feature in the search page: no HTML code is enlightened anymore
  • Fix for the JS with Magento 2.4.4
  • Fix for a JS file
  • Minor fix on code
  • Fix for attribute values with special characters in the filters
  • Fix for including jquery/slider in the JS
  • Fix on category pages for Magento EE/Cloud
  • Fix for a regular expression issue when applying filters from the URL on search and category pages
  • Fix for the compatibility between Amasty_LandingPages and Wyomind_ShopByBrand when Magento native template engine is enabled
  • Fix for applying a filter in the URL when its name contains the category's name
  • Fix for managing the / suffix for category URLs
  • Fix for a filter display issue when the Hide filters with only one value option and the Show More/Less options are activated
  • Fix for generating page/filter URLs when the suffix is "/"
  • Fix for the add to compare link in the product listing
  • Fix for the management of attribute filters with labels in the URL when the name contains utf8 characters
  • Fix for a bug that could occur when searching without search terms
  • Fix for a JS error when applying filters
  • Better compatibility with Search By Attribute
  • Fix for the image display when using the Magento native template engine and Windows
  • Compatibility with Search By Attribute (coming soon module)
  • Fix for category URLs parsing when the name of an attribute has the same name as the category
  • Optimization of the category identification request in relation to the URL


  • Improvement of the schedule update system: the entities to be indexed are put on hold if the stock and price indexers do not have an update date more recent than the entity update date
  • Update on schedule for indexes
  • Management of entities to be reindexed using database triggers and cron job


  • Possibility to use attribute labels instead of attribute codes in the URLs generated for the filters

Bug Fix

  • Fix when saving the filters' configuration for websites and storeviews
  • The default configuration is taken into account for the grid/list product display mode
  • Fix for products without prices for configurable options
  • Fix for an error message when a category has no product in the frontend: No mapping found for [categories_position.9] in order to sort
  • Fix for the category creation page in the backend
  • Fix for the product display when clicking on clear-all after loading the products when using the infinite scroll

New Features

  • Possibility to choose the URL format for category pages: Native or Mageworx
  • Copies of category layer configurations in child categories or from another category
  • Options to generate URLs without attribute codes as keys


  • Better genericity of certain parts of the code to allow the addition of new indexed entities more easily in the front-end
  • Use of the Magento configuration for the default sorting of products for category pages
  • Backup for recovering attributes used in Advanced Layered Navigation and Multifaceted Autocomplete for indexing
  • Notification showing which modules are using the attributes in the indexable/searchable attribute grid
  • Support for product URLs containing categories in category pages
  • Support of Amasty_Xlanding
  • Compatibility fix for Amasty Landing Page

  • Fix for the support of the Amasty_Xlanding module

  • Compatibility fix for Amasty Landing page
  • Compatibility fix with Amasty Landing Page
  • Fix for the advanced search
  • Fix on a typo in a table name
  • Redirection of category URLs to a 404 page when filters don't match any product attribute
  • Redirection of category URLs including filters to a 404 page for categories displaying static blocks only
  • Compatibility management for phtml
  • Minor fix when HTTP_REFERER cannot be retrieved when adding a product to the comparison table
  • Fix for reloading the page when clicking on the filters
  • # and " are replaced by _ in the generated URLs
  • Fix for a table index
  • Fix for the module configuration display
  • Fix for URLs without attribute code
  • Better management for attribute values with special characters in the generated URLs and filters


  • New option when generating URLs with or without attribute codes as keys

Bug Fix

  • Fix for a missing JS function
  • JS fix when selecting several values for a same attribute in the filters
  • Fix for attribute values with commas
  • The license is not reactivated during setup:upgrade if the module is not yet installed
  • Fix when selecting images of children products for the configurable products display

Bug Fix

  • Fix for the use of special characters in the filters' values
  • Fix for the display of product prices


  • Improved mobile display for the breadcrumbs

Bug Fix

  • Fix for the filters' options containing slashes
  • Fix when updating URLs in the browser when an attribute value contains a space as the last character


  • New option to control the display of breadcrumbs


  • Support for attribute options with slashes


  • Child product attributes added in the configurable product when indexing
  • Search on children's product SKUs

Bug Fix

  • Fix for the list/grid display with Magento FPC enabled
  • Use of REGEXP in the request to retrieve the category from a called URL
  • Minor fix when there is no index for the products


  • Better interoperability between Elasticsearch Autocomplete, Elasticsearch Multifaceted Autocomplete, and Elasticsearch Layered Navigation for the instant search
  • Fix for the SQL request to know which category we are in according to the URL


  • Better compatibility with Jquery and Magento >= 2.3.3
  • Use of the Magento configuration to know from how many characters to start the search in the autocomplete and below how many characters the search terms are ignored
  • New option to display available products first
  • Fix for double quotes around the values when selecting filters' values
  • Fix for loading category and search pages when the category and/or cms indexes are disabled
  • XSS fix on search pages
  • Template fix for boolean.phtml
  • Optimization for the categories identification during the URLs interpretation


  • Dynamic price modification according to the selected configurable options
  • Automatic selection of the configurable products options based on the selected filters
  • Indexing of the children price in the configurable product
  • Indexing of the children availability in the configurable product
  • Interpretation of the selected filters to display the best image for configurable products
  • Improved indexing time for configurable products


  • Avoid the "no more product" layer to display for infinite scroll when all products are already displayed on the page

Bug Fix

  • Minor fix for a class
  • Fix for missing storeview


  • Addition of the "Explain" option in debug mode
  • New option for loading the products list via the Magento default template or the one of the module


  • Compatibility with Magento 2.4

Bug Fix

  • Fix for the URLs update in the layered navigation when Magento is in a subdirectory
  • Minor fix on missing files
  • Fix on the "Add to Compare" feature


  • Use of a progress bar for displaying the indexers status: the progress bar is regularly updated and is available on CLI
  • Products with visibility set on "search" are not displayed on the categories pages


  • If the simple product image is a placehoder, then the configurable product image is retrieved instead
  • Fix for obsolete JS/CSS calls


  • No more needs to select MySql as the search engine in the Magento configuration


  • Compatibility with Swissup Argento themes
  • Fix for the use of double quotes in the attributes options in the filters management


  • Better recovery for the currency during the first loading of Category and Search Listing pages

Bug fix

  • Fix on layouts when the Elasticsearch server is not available
  • Minor fix on JS/CSS
  • Fix for products without image or placeholder


  • Improved management of URLs when selected filters contain spaces
  • Management of boolean attributes
  • New tags available for the category and search pages: <link rel="prev" ... /> and <link rel="next" ... /> 


  • Improvement when selecting filters pre-selected in the URL and including spaces
  • License system improved
  • Minor fix when calling templates


  • Compatibility with Codazon theme


  • Compatibility with Elasticsearch Core: better management when filters to apply for the prices don't have min or max markers
  • Fix for an error 500 on the products' lists


  • Better display of out of stock products
  • Minor fix for the design
  • Sample data added for the demo


  • Capital letters supported in the filters' input

Bug Fix

  • Fix on the mobile view display


  • Enhancement of the mobile view


  • Management of JQuery libraries calls according to the version of Magento
  • Fix for calls to JQuery lib
  • Better JavaScript compatibility with Magento 2.3
  • Fix for calculating prices (including tax) when loading the products listing page
  • Sample data added
  • Better compatibility with iOS
  • Fix for the Ultimo template
  • Better compatibility with iOS


  • Filter automatically opened if a value is selected (even if the filter is configured to be closed by default)
  • Cache of filter blocks if they do not contain any filters
  • Sample data updated

Bug Fix

  • Fix for show more/less
  • Fix for products without tax_class_id

New Features

  • Possibility to filter the options of filters
  • Possibility to choose how the filters options are sorted (Magento order, alphabetically, number of results)
  • Show more/less options and configuration of the number of options to display
  • Possibility to display or not filters when there is only one option
  • Possibility to define if filters are closed by default or not
  • Automatic or manual infinite scroll
  • Sticky layers for category pages
  • Sticky layers on the mobile view 
  • Results automatically refreshed in the search page when users add a new search term
  • Possibility to add the terms added in the search field to the Magento search terms
  • Display of a loader in the categories and search pages


  • Notification at the product level when a product is added to cart
  • Better fallback when the Elasticsearch server is not available
  • Improved display in the categories and search pages if there is no result
  • Smart truncate for products' descriptions in list mode
  • Better management of cookies for the products listing sorting
  • Nofollow option for the filters' options


  • Compatibility with Estimated Delivery Date
  • Compatibility with Quick View

Bug Fix

  • CSS fix for Magento 2.3.3

  • Fix for XSS vulnerability
  • CSS fix for Magento 2.3.3


  • Generation of specific URLs when selecting filters in the layered navigation
Patch v2.2.1.1

  • Sample data available for the demo


  • Synonyms management
  • Special prices display
Patch v2.2.0.2

  • Fix for the special prices display on iOS

Patch v2.2.0.1

  • form_key is retrieved dynamically for add to compare/cart/wishlist forms


  • Update of composer.json for Magento 2.3
Patch v2.1.5.4

  • The label "no more product" is taken into account

Patch v2.1.5.3

  • The "Clear all" label is taken into account

Patch v2.1.5.2

  • Minor fix on image layer display

Patch v2.1.5.1

  • Fix on a variable


  • Compatibility with Magento 2.3

Bug Fix

  • CSS fix


  • Better compatibility with Magento 2.1
  • Use of start/end dates to display or not the special prices


  • Better management for products that have no indexed price (out of stock products)


  • Removal of the super variable $_GET


  • Support of prices per customer group
Patch v2.1.0.1

  • Fix for the management of prices per customer group


  • Users permissions management

First public release

Patch v2.0.0.2

  • License management via CLI

Patch v2.0.0.1

  • Minor fix 

Demo store

Recommended Magento 2 extensions

from €690
5/5 rated
10 Reviews

Make any search on your website much more relevant, quicker and user-friendly than the default Magento search tools with this complete suite of Elasticsearch extensions.

more details
from €245
4.9/5 rated
208 Reviews

Improve the default Magento search results with Enhanced Autocomplete. Let your visitors enjoy a user-friendly autocomplete and display relevant results on products, CMS pages, categories as well as search suggestions.

more details
from €195
5/5 rated
107 Reviews

Display on the Magento product pages and in the customer cart the estimated delivery date for the available products and for the backorders with a completely customizable message.

more details
from €395
5/5 rated
7 Reviews

Improve your search results with a multi-faceted autocomplete including filterable attributes, products sorting, and many display options available for Magento 2.

more details

Stay tuned and get a coupon code of 10% off any purchase while creating your account!

Subscribe now for updates, promotions and products launch twice a month at most.

Please indicate a valid email