SeoLinkMasking (optional)

GitHub - magesuite/seo-link-masking

This module allows masking/demasking filter URLs in facet navigation. Link-Masking allows control of which filter values should be followed and crawled by search engines. This allows using the search engine crawling budget more efficiently, which in turn improves the SEO performance

 

Installation

This module is optional

composer require "creativestyle/magesuite-seo-link-masking" ^1.0.0

 

User Manual

3.7.7. Facet navigation link-masking

Admin settings

Admin settings can be found in Stores -> Configuration -> MageSuite -> SEO in Link Masking tab.

Name

Value

Comment

Name

Value

Comment

Is Enabled

 Yes/No 

Default value: No

 

By enabling this option, filter links will be "masked" - filter link will not be visible on the storefront and data will be send via POST instead of GET request.

Default Masking State

 Is Masked/Is Demasked 

Default value: Is demasked

If "Is Masked" is selected, all filters links will be masked by default. It can be overwritten for each filter link in category edit page.

Only one filter demasked

 Yes/No

Default value: no 

 

By enabling this option, only one filter will be demasked. If customer choose any filter, the rest will be masked.

Enable masking for category url on search

Yes/No

Default value: no 

By enabling this option, category URLs on search result page will be masked.

Enable hiding of filter names in URL

 Yes/No 

Default value: no 

When enabled, filters in URL will contain only the value, without the key. Example: "domain.com/category?color=blue&size=XS" before, "domain.com/category/blue/XS" after. Warning: Do not use this option when attributes contain the same values, like "color=blue" and "print_color=blue".

Space replacement character

Default value: +

This character will be used instead of space in the option label in the URL.

Option Separator

Default value --

This separator will be used to separate options in multiselect filter.

Is Utf Friendly Mode Enabled

 Yes/No 

Default value: no 

By enabling this option, filter parameters will be converted to utf friendly format - umlauts characters would converted.

Excluded characters

 

These characters will be removed from option label in URL. Example: %!&

Backend

TODO Add backend documentation

Frontend

A masked link template (magesuite-seo-link-masking/view/frontend/web/template/attribute-filter.html)

href="#" data-bind="attr: {'data-post': url}

<a href="#" data-bind="attr: {'data-post': url}, visible: count >= 1"> <input type="checkbox" data-bind="checked: is_selected, attr: {id: id}" onclick="this.parentNode.click();" /> <label data-bind="attr: {for: id}"> <span data-bind="html: label"></span> <span class="count" data-bind="text: count, visible: $parent.displayProductCount"></span> </label> </a>

Â