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.
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.
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.
Content
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:
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 www.java.com.
Then you can install and run the Elasticsearch engine following the below steps.
To run Elasticsearch, open a console, and run the following command:
cd elasticsearch-<version>
./bin/elasticsearch
If you’re running Elasticsearch on Windows, simply run:
bin\elasticsearch.bat
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: StoreS › Wyomind › Elasticsearch › 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.
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: StoreS › Wyomind › Advanced Layered Navigation › Settings › Display Settings › Category/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: Marketing › SEO & 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.
600
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:
Add as many attributes as you want by clicking on the + icon.
Use drag and drop to define the order of each filter.
Choose the filterable attribute.
Define if filters are Closed by default or not.
Show results count for each attribute or not.
Show More/Less option for each attribute.
When the Show More/Less option is enabled, you can configure the number of values to display.
Filter the options (Input filter: not available for categories, price, reviews, swatch)
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:
These URLs can allow users to access the page with the filters already selected.
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.
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: Stores › Wyomind › Advanced Layered Navigation › Settings › Display Settings › Category 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: Catalog › Categories
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: StoreS › Wyomind › Elasticsearch 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: var/log/Wyomind_ElasticsearchCore_Frontend_Requests.log
Enable indexation log
A log file is created for the reindexation process: var/log/Wyomind_ElasticsearchCore_Indexation.log
Enable client log
A log file is created for the Elasticsearch client calls: var/log/Wyomind_ElasticsearchCore_Client.log
Enable Elasticsearch Server status log
A log file is created for the Elasticsearch Server status: var/log/Wyomind_ElasticsearchCore_Server_Status.log
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}} 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.
6.3.2
Note that the version will be updated with the right value after having saved the config a first time or using a command line.
Servers
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.
demo_m2_
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.
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.
Check the status of the indexes from: System › Wyomind Elasticsearch Core › Manage 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.
Open each group of attributes using the arrow.
Find all the attributes grouped by type.
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.
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.
You can boost each attribute you are indexing by assigning them a weight from 1 to 10.
Note that 10 is the highest weight.
You can start matching results from the first 1 to 5 characters.
You can start matching results from the last 1 to 5 characters.
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.
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
Then, select and configure the attributes that are searchable.
Product Name SKU Color Description Gender Manufacturer
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.
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: System › Wyomind Elasticsearch core › Test 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: System › Wyomind Elasticsearch core › Test 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: System › Wyomind ELasticsearch Core › Manage 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.
Indexer
There are 3 types of index:
category
cms
products
The category and cms indexes are also used in the modules of the Elasticsearch Suite.
Description
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.
Status
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.
Action
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.
-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”:
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: Catalog › Products
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: Catalog › Products
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: Marketing › Seo & Search › Search Synonyms
For example, if you create the list of synonyms:
shoes,footwear
This means that when searching for "orange shoes", the extension will search:
orange shoes orange footwear
If other synonyms are defined such as:
red,orange,yellow
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.
FAQ
Pre-sales informations
Magento versions supported by Advanced Layered Navigation
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 Open Source vs Magento Commerce vs Magento Commerce Cloud
Magento offers three variations of its product.
As their names have changed over the past few years, here is a recap:
Magento Open Source: previously 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.
Elasticsearch servers compatible with this extension
Refer to the below table to know which server is compatible with your version of Elasticsearch:
Module wyomind/elasticsearchcore
Magento
Elasticsearch server
v2
v5
v6
v7
v8
v2.x / v3.x
v2.1.x / v2.2.x
x
x
x
v4.x / v5.x / v6.x / v7.x
v2.3.x
x
x
x
x
v8.x
v2.4.x
x
x
x
x
x
License and domains
License validity
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)
Domains pre-registration
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:
Go to: mY account › Licenses & DOwnloads
Click on the Settings icon next to the module you want your domain to pre-register on.
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?
Finally, enter your domain name and click on pre-register now .
Testing environments
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 mywebsite-staging.com or mywebsite-dev.com
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:
Install Advanced Layered Navigation on your environment. (see FAQ: Modules installation in Magento or in WooCommerce)
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
Extensions download
In order to download Advanced Layered Navigation, log into your Wyomind account:
Go to: my account › Licenses & downloads
Click on the settings icon next to Advanced Layered Navigation.
A new window opens.
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.
Modules upgrade
When purchasing a module from wyomind.com, 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:
Go to: my account › Licenses & Downloads
Click on the settings icon next to Advanced Layered Navigation.
Click on the download icon.
Install the new version of Advanced Layered Navigation in your Magento admin or your WooCommerce back-office.
Prerequisites, Installation, Activation
Elastisearch installation
To use Advanced Layered Navigation, you first need to have a recent version of Java installed and the Elasticsearch server running.
As the {{wyomind "Wyomind"}}{{elastic-ecommerce "Elastic-Ecommerce"}} 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.
Troubleshooting
The elastic.php file is not accessible on Magento Cloud
With Magento Cloud, the elastic.php cannot be copied to your website root and pubdirectories 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.
The autocomplete throws a 404 error
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.
"script_score: the script could not be loaded" error
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:
script.engine.groovy.inline.search: on
script.allowed_types: inline
script.allowed_contexts: search, update
Use of Advanced Layered Navigation with Mageplaza UltimateSEO
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:
User's reviews
KS
KGC Shop
Ecommerce Agency · Slovenia · User for 6 years
★★★★★
Advanced Layered Navigation is a "must-have" extension.
Magento native layered navigation is very limited in customization, and you often should write custom code to customize it. on the contrary, Advanced Layered Navigation by Wyomind allows you to easily customize each block and filter it's content and options, even if you are not familiar with code.
T
T
SEO specialist · Germany · User for 5 years
★★★★★
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.
V
Vandark
Merchant · Spain · User for 6 years
★★★★★
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 )
M
Marek
Merchant · Poland · User for 6 years
★★★★★
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.
Magento 2 Compatibility
Supported by our master extension versions
2.4.8
2.4.7
2.4.6
2.4.5
2.4.4
2.4.3
2.4.2
2.4.1
2.4
2.3.7
2.3.6
2.3.5
2.3.4
2.3.3
2.3.2
2.3.1
2.3
Supported by our legacy extension versions
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2
2.1.18
2.1.17
2.1.16
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
Use cases
How merchants put Advanced Layered Navigation to work, step by step.
Better filtered url management: attribute labels are now used instead of attribute codes when the corresponding configuration is set
8.0.6
Improvement
On page load, do not display filter options with no matches when the corresponding configuration is selected.
8.0.5
Bug fix
Correct a regression from version 8.0.2, which could lead to a SQL error when visiting some urls
8.0.4
Bug fix
Allow translations for the "remove" placeholder in the selected filters breadcrumb
8.0.3
Bug fix
The category links the breadcrumbs had no action. Clicking on the category refreshes the result now.
8.0.2
Improvement
Category url suffix equal to slashe is now supported
8.0.1
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.
8.0.0
Initial release for the master version
7.0.0 legacy
Initial release for the legacy version
6.0.5
Improvement
Filters including slashes are now supported
6.0.4
Bug fix
Fix js error for products with no indexed price
6.0.3
Compatibility
Compatibility with PHP v8.1
6.0.2
Compatibility
Compatibility with PHP v8.2
6.0.1
Bug fix
fix attribute values with a + symbol as a value
6.0.0
Compatibility
Compatibility with Magento v2.4.6 + PHP v8.2
Improvement
Better support of the entities other than product/category/cms
5.2.0
Compatibility
Create multiple versions of web/js/eln.js for Magento v2.2, v2.3, v2.4
5.1.27
Bug fix
Fix for a unknown variable
5.1.26
Bug fix
Fix the display of the filter with the default mode
5.1.25
Improvement
Apply the custom design to the category as defined in the settings of the category
5.1.24
Fix for enlighting feature in the search page: no HTML code is enlightened anymore
5.1.23
Fix for the JS with Magento 2.4.4
5.1.22
Fix for a JS file
5.1.21
Minor fix on code
5.1.20
Fix for attribute values with special characters in the filters
5.1.19
Fix for including jquery/slider in the JS
5.1.18
Fix on category pages for Magento EE/Cloud
5.1.17
Fix for a regular expression issue when applying filters from the URL on search and category pages
5.1.16
Fix for the compatibility between Amasty_LandingPages and Wyomind_ShopByBrand when Magento native template engine is enabled
5.1.15
Fix for applying a filter in the URL when its name contains the category's name
5.1.14
Fix for managing the / suffix for category URLs
5.1.13
Fix for a filter display issue when the Hide filters with only one value option and the Show More/Less options are activated
5.1.12
Fix for generating page/filter URLs when the suffix is "/"
5.1.10
Fix for the add to compare link in the product listing
5.1.9
Fix for the management of attribute filters with labels in the URL when the name contains utf8 characters
5.1.8
Fix for a bug that could occur when searching without search terms
5.1.7
Fix for a JS error when applying filters
5.1.6
Better compatibility with Search By Attribute
5.1.5
Fix for the image display when using the Magento native template engine and Windows
Compatibility with Search By Attribute (coming soon module)
5.1.4
Fix for category URLs parsing when the name of an attribute has the same name as the category
5.1.3
Optimization of the category identification request in relation to the URL
5.1.2
Improvement
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
5.0.4
The default configuration is taken into account for the grid/list product display mode
5.0.3
Fix for products without prices for configurable options
5.0.2
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
5.0.1
Fix for the product display when clicking on clear-all after loading the products when using the infinite scroll
5.0.0
New feature
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
Improvement
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
4.3.4
Compatibility fix for Amasty Landing Page
4.3.3
Fix for the support of the Amasty_Xlanding module
4.3.2
Compatibility fix for Amasty Landing page
4.3.1
Compatibility fix with Amasty Landing Page
4.2.12
Fix for the advanced search
4.2.11
Fix on a typo in a table name
4.2.10
Redirection of category URLs to a 404 page when filters don't match any product attribute
4.2.9
Redirection of category URLs including filters to a 404 page for categories displaying static blocks only
4.2.8
Compatibility management for phtml
4.2.7
Minor fix when HTTP_REFERER cannot be retrieved when adding a product to the comparison table
4.2.6
Fix for reloading the page when clicking on the filters
4.2.5
# and " are replaced by _ in the generated URLs
4.2.4
Fix for a table index
4.2.3
Fix for the module configuration display
4.2.2
Fix for URLs without attribute code
4.2.1
Better management for attribute values with special characters in the generated URLs and filters
4.2.0
Improvement
New option when generating URLs with or without attribute codes as keys
Bug fix
Fix for a missing JS function
4.1.21
JS fix when selecting several values for a same attribute in the filters
4.1.20
Fix for attribute values with commas
4.1.19
The license is not reactivated during setup:upgrade if the module is not yet installed
4.1.18
Fix when selecting images of children products for the configurable products display
4.1.17
Bug fix
Fix for the use of special characters in the filters' values
Fix for the display of product prices
4.1.16
Improvement
Improved mobile display for the breadcrumbs
Bug fix
Fix for the filters' options containing slashes
4.1.15
Fix when updating URLs in the browser when an attribute value contains a space as the last character
4.1.14
Improvement
New option to control the display of breadcrumbs
4.1.13
Improvement
Support for attribute options with slashes
4.1.12
Improvement
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
4.1.11
Use of REGEXP in the request to retrieve the category from a called URL
4.1.10
Minor fix when there is no index for the products
4.1.9
Improvement
Better interoperability between Elasticsearch Autocomplete, Elasticsearch Multifaceted Autocomplete, and Elasticsearch Layered Navigation for the instant search
4.1.8
Fix for the SQL request to know which category we are in according to the URL
4.1.6
Improvement
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
4.1.5
Fix for double quotes around the values when selecting filters' values
4.1.4
Fix for loading category and search pages when the category and/or cms indexes are disabled
4.1.3
XSS fix on search pages
4.1.2
Template fix for boolean.phtml
4.1.1
Optimization for the categories identification during the URLs interpretation
4.1.0
Improvement
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
4.0.2
Improvement
Avoid the "no more product" layer to display for infinite scroll when all products are already displayed on the page
4.0.1
Bug fix
Minor fix for a class
Fix for missing storeview
4.0.0
Improvement
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
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
3.3.9
Improvement
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
3.3.8
Improvement
If the simple product image is a placehoder, then the configurable product image is retrieved instead
3.3.7
Fix for obsolete JS/CSS calls
3.3.6
Improvement
No more needs to select MySql as the search engine in the Magento configuration
3.3.5
Compatibility
Compatibility with Swissup Argento themes
3.3.4
Fix for the use of double quotes in the attributes options in the filters management
3.3.3
Improvement
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
3.3.2
Minor fix on JS/CSS
3.3.1
Fix for products without image or placeholder
3.3.0
Improvement
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" ... />
3.2.2
Improvement
Improvement when selecting filters pre-selected in the URL and including spaces
License system improved
3.2.1
Minor fix when calling templates
3.2.0
Compatibility
Compatibility with Codazon theme
3.1.7
Compatibility
Compatibility with Elasticsearch Core: better management when filters to apply for the prices don't have min or max markers
3.1.6
Fix for an error 500 on the products' lists
3.1.5
Improvement
Better display of out of stock products
3.1.4
Minor fix for the design
3.1.3
Sample data added for the demo
3.1.2
Improvement
Capital letters supported in the filters' input
3.1.1
Bug fix
Fix on the mobile view display
3.1.0
Improvement
Enhancement of the mobile view
3.0.9
Improvement
Management of JQuery libraries calls according to the version of Magento
3.0.8
Fix for calls to JQuery lib
3.0.7
Better JavaScript compatibility with Magento 2.3
3.0.6
Fix for calculating prices (including tax) when loading the products listing page
3.0.5
Sample data added
Better compatibility with iOS
3.0.4
Fix for the Ultimo template
3.0.3
Better compatibility with iOS
3.0.1
Improvement
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
3.0.0
New feature
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
Improvement
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
Compatibility with Estimated Delivery Date
Compatibility with Quick View
Bug fix
CSS fix for Magento 2.3.3
2.2.3
Fix for XSS vulnerability
2.2.2
CSS fix for Magento 2.3.3
2.2.1
Improvement
Generation of specific URLs when selecting filters in the layered navigation
Patch v2.2.1.1
Sample data available for the demo
2.2.0
Improvement
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
2.1.5
Improvement
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
2.1.4
Compatibility
Compatibility with Magento 2.3
Bug fix
CSS fix
2.1.3
Improvement
Better compatibility with Magento 2.1
Use of start/end dates to display or not the special prices
2.1.2
Improvement
Better management for products that have no indexed price (out of stock products)
2.1.1
Improvement
Removal of the super variable $_GET
2.1.0
Improvement
Support of prices per customer group
Patch v2.1.0.1
Fix for the management of prices per customer group
2.0.1
Improvement
Users permissions management
2.0.0
First public release
Patch v2.0.0.2
License management via CLI
Patch v2.0.0.1
Minor fix
Feature request
Specific needs or any ideas of enhancements and new features to add to the extension? Tell us more, we'll get back to you shortly!