v1.3.57

1.3.57

(2026-03-03)

Fixed

  • Grouped option rewrites are now cleaned up by the --actualize command when the referenced grouped option no longer exists

1.3.56

(2026-01-21)

Fixed

  • Fixed a type error in swatch filter parameter processing when numeric request keys were passed to pattern matching
  • Fixed duplicate alias suffixes being appended when saving grouped options — the save plugin now detects unchanged aliases and skips redundant processing

1.3.55

(2025-12-29)

Features

  • Product swatches on category listing pages now pre-select the active filter option when browsing via SEO-friendly filter URLs

1.3.54

(2025-12-17)

Improvements

  • Optimized memory usage for large catalogs — added in-memory caching for attribute lookups, display mode checks, and category URL rewrites; switched several services to singletons to avoid duplicate instances

Fixed

  • Fixed numeric filter aliases (e.g., 10-20) being misinterpreted as price ranges when using dash separator

1.3.53

(2025-12-15)

Fixed

  • Added safety check for malformed URLs that could cause errors when parsing landing page and brand URL paths

1.3.52

(2025-11-26)

Fixed

  • Fixed breadcrumbs showing raw parameter-style URLs instead of SEO-friendly URLs on filtered category pages

1.3.51

(2025-11-11)

Fixed

  • Fixed search term being lost when filters are applied on a Landing Page that has a configured search query

1.3.50

(2025-10-15)

Fixed

  • Fixed 404 errors when using short slash URL format together with a filter prefix — the prefix was being incorrectly counted as a filter segment

1.3.49

(2025-09-19)

Improvements

  • Optimized filter alias lookups by caching "not found" results, reducing repeated database queries on pages with many filter options

Fixed

  • SEO aliases are no longer generated for non-filterable attributes — the attribute edit page now hides alias fields for these attributes
  • Fixed incorrect URL matching when multi-word filter aliases contain the separator character (e.g., t-shirt with dash separator) — the splitting algorithm now uses longest-match-first logic
  • The --actualize command now also removes rewrites for attributes that are no longer filterable

1.3.48

(2025-09-02)

Fixed

  • Fixed 404 errors with short slash URL format caused by incorrect URL path trimming during matching
  • Fixed type error when numeric attribute codes were used as filter parameters

1.3.47

(2025-08-29)

Fixed

  • Fixed canonical URLs and hreflang tags containing raw query parameters instead of SEO-friendly filter URLs when used with Advanced SEO Suite

1.3.46

(2025-08-26)

Fixed

  • Fixed a security issue where unsanitized filter option values could be passed to database queries — special characters are now stripped from filter values

1.3.45

(2025-08-15)

Fixed

  • Fixed the "Enable SEO URL" toggle on the attribute edit page having no effect due to a cached configuration value

1.3.44

(2025-08-12)

Improvements

  • OnSale filter now uses shorter, more SEO-friendly aliases (onsale/nosale) instead of the previous verbose format
  • Reserved built-in aliases are now protected — if a product attribute option generates a conflicting alias, a unique suffix is automatically added

1.3.43

(2025-07-17)

Improvements

  • SEO-friendly filter URLs now work correctly on Mirasvit Landing Pages with custom URL suffixes

1.3.42

(2025-05-06)

Features

  • Added --actualize option to the mirasvit:seo-filter:rewrites command to remove rewrites for attribute options that no longer exist in the catalog

1.3.41

(2025-04-17)

Features

  • Added new "Short Underscore" URL format — produces URLs like category/option1_option2_option3 with underscore-separated filter values

1.3.40

(2025-04-14)

Fixed

  • Fixed PHP 8.4 compatibility — updated deprecated implicit nullable parameter type hints

1.3.39

(2025-04-09)

Fixed

  • Fixed fatal error when Mirasvit Layered Navigation is not installed but the grouped option alias editor is loaded

1.3.38

(2025-04-08)

Features

  • Added ability to set custom SEO aliases for grouped filter options per store view from the admin panel

1.3.37

(2025-04-03)

Fixed

  • Fixed 404 errors on Brand Pages when a custom URL suffix is configured — the suffix was not being stripped before parsing filters

1.3.36

(2025-03-31)

Features

  • Added five new URL format presets: Short Dash, Short Slash, Long Dash, Long Slash, and Long Colon — each with independently configurable attribute and option separators

Fixed

  • Fixed error when Mirasvit Layered Navigation module is disabled but its display mode is referenced

1.3.35

(2025-03-11)

Fixed

  • Fixed inconsistent filter ordering in canonical URLs — filters are now always sorted in the same order
  • Improved alias conflict detection when saving attributes — in short URL format, the check now also catches conflicts between attribute-level and option-level aliases

1.3.34

(2025-02-17)

Fixed

  • Fixed incorrect URLs for text attributes configured with slider display mode — they are now correctly treated as decimal-type filters
  • Fixed SEO filter routing interfering with Amasty Quick Order and other excluded paths
  • Fixed Cyrillic soft sign character appearing in generated URL aliases

1.3.33

(2025-01-23)

Fixed

  • Improved Landing Page URL matching by delegating to the Landing Page module's own URL parser, fixing edge cases in multi-store setups

1.3.32

(2025-01-21)

Fixed

  • Fixed apostrophe characters not being removed when generating aliases (e.g., "Women's" no longer produces women-s)
  • Fixed Landing Page filter matching on stores with multi-store assignments

1.3.31

(2025-01-14)

Features

  • Added ability to enable or disable SEO-friendly filter URLs per individual attribute, independent of the global setting
  • ⚠️ New database table mst_seo_filter_attribute_config stores per-attribute SEO status

1.3.30

(2024-12-27)

Improvements

  • Reorganized admin settings panel with clearer labels and descriptions
  • Alias duplication warning now shows the conflicting attribute code for easier troubleshooting

Fixed

  • Fixed brand page filtering failing when a custom URL suffix is configured

1.3.29

(2024-12-19)

Fixed

  • Fixed brand page filtering failing when a custom URL suffix is configured
  • Alias duplication warning now shows the conflicting attribute code

1.3.28

(2024-11-26)

Fixed

  • Fixed custom price filter alias being ignored — the price filter URL now uses the configured alias instead of the raw attribute code

1.3.27

(2024-11-22)

Fixed

  • Fixed alias uniqueness check being too narrow in short URL format — it now validates across all attributes, preventing collisions between attributes

1.3.26

(2024-11-05)

Improvements

  • Added compatibility with Mirasvit SEO module for generating correct alternative/hreflang URLs with SEO-friendly filters in multi-store setups

1.3.25

(2024-10-07)

Fixed

  • Fixed 404 errors when dash separator is used and one filter alias is a prefix of another (e.g., blue vs blue-green) — aliases are now sorted by length to prevent ambiguous matching

1.3.24

(2024-09-26)

Features

  • Added "Rewrite Alias Source" setting to control whether aliases are generated individually per store view or inherited from the default store

Fixed

  • Fixed brand URL matching being too greedy — partial brand name matches no longer cause incorrect routing
  • Fixed dash-separated aliases with multiple options being miscounted during URL parsing

1.3.23

(2024-09-12)

Fixed

  • Fixed 404 errors when a category URL with applied filters partially matches a Landing Page URL
  • Fixed Landing Page matching when the module is not installed — a module-enabled check is now performed first

1.3.22

(2024-06-12)

Features

  • Added hyphen as a new separator option for multi-word filter names (e.g., all-weather instead of all_weather)

Fixed

  • Fixed price filter aliases colliding with category URL rewrites, causing 404 errors

1.3.21

(2024-05-29)

Fixed

  • Fixed inactive Landing Pages still being matched and displayed when filters are applied
  • Fixed filter rewrites not working when only a single filter is active

1.3.20

(2024-04-26)

Fixed

  • Fixed SEO filter routing incorrectly matching URLs that don't contain the configured filter prefix

1.3.19

(2024-04-15)

Fixed

  • Fixed Landing Page URLs missing the store code in multi-store setups
  • Fixed filter rewrites appearing inside Landing Page URLs instead of being appended after them

1.3.18

(2024-03-20)

Fixed

  • Fixed error when building filter URLs for options that have no rewrite configured
  • Fixed 404 errors on Brand Pages when filter aliases contain dashes — the dash-counting logic now correctly accounts for dashes within aliases

1.3.17

(2024-02-26)

Improvements

  • Reduced unnecessary database queries during filter URL resolution by skipping redundant alias lookups

1.3.16

(2024-02-21)

Improvements

  • Optimized routing process with stricter URL validation — filter URLs are now verified against expected segment counts before processing, reducing false-positive matches

1.3.15

(2024-02-20)

Improvements

  • Optimized attribute alias lookups with instance-level caching, reducing database queries when building URLs for multiple filter options of the same attribute

Fixed

  • Fixed potential XSS vulnerabilities in admin alias management templates

1.3.14

(2024-01-29)

Features

  • Added SEO-friendly filter URL support for Mirasvit Landing Pages

1.3.13

(2024-01-26)

Improvements

  • Reduced unnecessary database queries when loading filter rewrites

Fixed

  • Fixed 404 errors on category pages when the URL rewrite ends with a trailing slash

1.3.12

(2024-01-16)

Improvements

  • Reduced rewrite table size by excluding slider and from-to display mode attributes from rewrite generation
  • Fixed search queries being incorrectly treated as filter parameters in URLs

1.3.11

(2024-01-12)

Fixed

  • Fixed slider display mode attributes generating unnecessary rewrites that bloated the rewrite table

1.3.10

(2024-01-12)

Fixed

  • Fixed cache key collisions between filter aliases that differ only by hyphens vs underscores (e.g., blue-sky vs blue_sky)

1.3.9

(2023-11-22)

Fixed

  • Fixed trademark and copyright symbols not being properly stripped from generated URL aliases

1.3.8

(2023-11-20)

Fixed

  • Fixed URL suffix being removed from paths that don't actually end with it, corrupting non-filter URLs
  • Fixed rewrites being regenerated unnecessarily when one already exists for the same option

1.3.7

(2023-11-02)

Fixed

  • Fixed duplicate rewrite errors crashing the admin attribute save — conflicts now show a warning and auto-generate a unique alias instead
  • Fixed categories with the same URL key on different stores sharing cache entries, causing incorrect filter matching

1.3.6

(2023-10-12)

Fixed

  • Fixed double-slash appearing at the end of filter URLs when the URL suffix is a trailing slash

1.3.5

(2023-07-27)

Improvements

  • Added ability to programmatically build SEO-friendly filter URLs via getUrlWithFilters() method
  • Excluded available_shipping_methods attribute from SEO filter configuration

1.3.4

(2023-06-19)

Fixed

  • Added available_shipping_methods to the attribute exception list to prevent errors on unsupported attribute types

1.3.3

(2023-05-22)

Fixed

  • Fixed product view pages returning unexpected responses when a product URL key resembles a category URL with filters

1.3.2

(2023-04-04)

Fixed

  • Fixed incorrect filter matching when an attribute and one of its options share the same alias

1.3.1

(2023-03-31)

Fixed

  • Fixed additional filters from Mirasvit Layered Navigation (stock, rating, sale) not being recognized in Long URL format

1.3.0

(2023-03-22)

Features

  • Added CLI command mirasvit:seo-filter:rewrites with --generate and --remove options for bulk managing filter URL rewrites
  • Category filter now uses the category's URL key as its SEO alias instead of raw IDs
  • Country of manufacture filter now shows country names instead of country codes in URLs

Improvements

  • Special characters (trademark, service mark, registered, copyright) are automatically stripped from generated aliases

1.2.10

(2022-12-20)

Fixed

  • Fixed unnecessary numeric suffixes being appended to attribute aliases due to overly broad conflict detection

1.2.9

(2022-11-01)

Fixed

  • Fixed filter matching returning incorrect results in multistore environments due to missing store ID filter

1.2.8

(2022-10-21)

Improvements

  • Added "Clear all" link for filter options per attribute in Mirasvit Layered Navigation

1.2.7

(2022-10-20)

Features

  • Added SEO-friendly URL support for the "Product Attribute Linking" feature in Mirasvit Layered Navigation

1.2.6

(2022-09-29)

Fixed

  • Fixed SEO Filters not working on categories that don't have URL rewrites in the url_rewrite table

1.2.5

(2022-06-20)

Improvements

  • Removed deprecated db_schema_whitelist.json to prevent conflicts during upgrades

1.2.4

(2022-06-13)

Fixed

  • Fixed inability to save custom attribute aliases in multistore environments
  • Fixed incorrect routing on brand pages when a filter option alias matches a brand page URL key

1.2.3

(2022-06-01)

Fixed

  • Fixed missing SEO aliases for Sale and New additional filters — these now generate distinct yes/no aliases

1.2.2

(2022-05-27)

Fixed

  • Fixed inability to save custom aliases in multistore environments

1.2.1

(2022-05-24)

Improvements

  • Optimized router performance by reducing unnecessary database queries during route matching

1.2.0

(2022-05-12)

Improvements

  • ⚠️ Switched to Magento declarative database schema — the mst_seo_filter_rewrite table is now defined in db_schema.xml instead of legacy Setup scripts

1.1.24

(2022-04-11)

Fixed

  • Fixed filter URLs not working correctly on Brand View pages (Mirasvit Brand module)

1.1.23

(2022-04-06)

Improvements

  • Added caching layer for SEO filter rewrites, significantly improving page load performance on filtered pages

Fixed

  • Fixed attribute alias being regenerated every time the attribute is saved

1.1.22

(2022-02-23)

Fixed

  • Fixed 404 errors when filters are applied on stores that share the same category URL paths but have different category IDs

1.1.21

(2022-02-18)

Fixed

  • Fixed slider filter producing incorrect URLs with float/decimal values

1.1.20

(2022-02-11)

Fixed

  • Fixed "Call to a member function getRequestPath() on null" error when a category has no URL rewrite
  • Fixed "strpos(): Empty needle" error when an empty filter alias is encountered

1.1.19

(2022-02-02)

Fixed

  • Fixed 404 errors when a filter alias includes part of the category URL path
  • Fixed empty SEO filter rewrites being generated for options with Arabic text

1.1.18

(2022-01-18)

Fixed

  • Fixed 404 errors when filters are applied on subcategory pages in certain URL configurations

1.1.17

(2022-01-04)

Fixed

  • Fixed incorrect category base URL being used in filter URLs
  • Fixed 404 errors when an attribute code matches a category URL key in long URL format
  • Fixed price slider not working with long URL format
  • Fixed empty aliases being generated for attribute options with blank labels
  • Fixed wrong category being matched during filter URL resolution, causing 404 errors

1.1.16

(2021-11-22)

Fixed

  • Fixed multiselect filters not working correctly with long URL format
  • Fixed inability to remove selected filters from the "clear filter" block when using grouped option display format

1.1.15

(2021-11-11)

Improvements

  • Duplicate custom option aliases are now blocked — saving an alias that already exists shows a warning instead of silently creating a conflict

1.1.14

(2021-10-28)

Fixed

  • Fixed custom aliases with more than one dash character not being matched correctly
  • Fixed slider filter URLs causing 404 errors

1.1.13

(2021-10-15)

Fixed

  • Fixed custom aliases containing dashes creating partially duplicated aliases during URL parsing

1.1.12

(2021-08-31)

Fixed

  • Fixed price slider filter redirecting to 404 page

1.1.11

(2021-08-19)

Improvements

  • Multiselect filter behavior is now configurable per individual attribute instead of being a global setting

1.1.10

(2021-07-20)

Fixed

  • Fixed SEO filter prefix causing 404 errors on category filter pages
  • Fixed decimal filters (slider, from-to) with long SEO rewrite producing incorrect URLs

1.1.9

(2021-07-06)

Fixed

  • Fixed price filter not working correctly with SEO-friendly URLs

1.1.8

(2021-06-23)

Fixed

  • Fixed 404 errors on URLs with typos in category path or filter values — invalid URLs now fall through gracefully
  • Fixed additional Layered Navigation filters (stock, sale, new) not being recognized in filter URLs

1.1.7

(2021-05-31)

Features

  • Added SEO-friendly URL support for Layered Navigation "Grouped Options" feature

Fixed

  • Fixed custom aliases containing dashes not being matched correctly

1.1.6

(2021-05-13)

Fixed

  • Fixed filter matching failing when option aliases contain dash characters

1.1.5

(2021-04-23)

Fixed

  • Fixed filter URLs not working correctly on brand pages
  • Fixed "filter by category" not working when SEO filters are active

1.1.4

(2021-04-21)

Features

  • Added "Remove existing aliases" button in admin configuration for resetting all SEO filter rewrites

Improvements

  • Improved URL handling for multistore setups

1.1.3

(2021-04-13)

Fixed

  • Fixed "Array to string conversion" notice when filtering by price
  • Fixed "clear URL" link not working correctly on brand pages

1.1.2

(2021-04-06)

Fixed

  • Fixed error when loading URL rewrites on the attribute edit page

1.1.1

(2021-03-23)

Fixed

  • Fixed issues with disabled categories appearing in filter URL matching
  • Fixed pagination parameters appearing in SEO-friendly filter URLs

1.1.0

(2021-03-22)

Features

  • Added admin UI for managing SEO filter aliases — new "URL Rewrite" tab on the attribute edit page for viewing and customizing attribute and option aliases
  • Added new "Long" URL format option that includes the attribute code in the URL (e.g., /category/color/red-blue)
  • Added configurable URL prefix for filter segments
  • Added configurable name separator for multi-word option labels (none, underscore, capital letter)
  • ⚠️ Dropped compatibility with Magento 2.1 and 2.2

1.0.29

(2020-12-01)

Fixed

  • Fixed brand page URL generation issues when filters are applied

1.0.28

(2020-11-19)

Fixed

  • Fixed inability to apply filters on brand pages

1.0.27

(2020-09-08)

Improvements

  • Added translation support for admin configuration labels

1.0.26

(2020-09-04)

Features

  • Added "applying mode" — GET parameters from the current request are now preserved when constructing filter URLs

1.0.25

(2020-08-20)

Improvements

  • Reorganized internal plugin structure for better maintainability

1.0.24

(2020-08-12)

Features

  • SEO-friendly filter URLs now work on brand pages (Mirasvit Brand) and "All Products" pages, not just category pages

Fixed

  • Fixed isMultiselectEnabled() returning incorrect value
  • Fixed second click on an active filter not clearing it

1.0.23

(2020-07-29)

Improvements

  • Added compatibility with Magento 2.4

1.0.22

(2020-03-23)

Fixed

  • Fixed category filter URL losing other applied filters after selection

1.0.21

(2020-03-12)

Fixed

  • Fixed category filter using SEO-friendly URL format when multiselect is enabled — now correctly uses GET parameters to prevent routing issues

1.0.20

(2020-03-10)

Fixed

  • Fixed unwanted rewrites being generated for weight and other decimal attributes with dash separator

1.0.19

(2020-03-05)

Improvements

  • Special symbols (TM, SM, (R), (C)) are now automatically removed from generated filter URL aliases

1.0.18

(2020-02-20)

Features

  • Added configurable custom separator for SEO filter URLs

Fixed

  • Fixed multiple filters not being applied simultaneously
  • Fixed nested price filter not being displayed or applied correctly

1.0.14

(2019-10-28)

Improvements

  • ⚠️ Major internal restructuring — renamed and reorganized all plugin classes into Plugin/Frontend/* and Plugin/Backend/* namespaces. Removed separate price rewrite table and consolidated into main rewrite system
  • Disabled SEO-friendly URLs for decimal/slider filter values that were causing errors

1.0.13

(2019-08-09)

Improvements

  • Code quality improvements for Magento Marketplace compliance

1.0.12

(2019-06-04)

Fixed

  • Fixed empty URLs being generated for Yes/No attribute filter values
  • Fixed pagination issues when FishPig WordPress module is installed
  • Fixed router incorrectly matching URL rewrite entries with request_path = .html

1.0.11

(2018-11-29)

Improvements

  • Added compatibility with Magento 2.3

1.0.10

(2018-11-15)

Fixed

  • Fixed "The attribute model is not defined" error when filtering by certain attribute types

1.0.8

(2018-10-24)

Fixed

  • Fixed filter string not being parsed correctly from the URL
  • Fixed attribute URLs being rewritten even when the SEO Filter module is disabled

1.0.7

(2018-08-17)

Fixed

  • Fixed incorrect filter URLs when a category with the same URL key exists elsewhere in the catalog

1.0.6

(2018-07-17)

Fixed

  • Fixed incorrect database index on the price rewrite table causing errors

1.0.5

(2018-07-16)

Fixed

  • Fixed "Integrity constraint violation" database error when saving price filter rewrites
  • ⚠️ Added separate mst_seo_filter_price_rewrite table for price filter storage

1.0.4

(2018-05-29)

Fixed

  • Fixed "Undefined property: objectManager" error in swatch multiselect filter plugin

1.0.3

(2018-05-23)

Fixed

  • Fixed compilation error with swatch filter plugin dependency injection

1.0.2

(2018-05-23)

Fixed

  • Fixed incorrect URLs for additional filters in Layered Navigation when using swatch-based multiselect

1.0.1

(2018-05-17)

Fixed

  • Fixed error when filtering by stock status attribute

1.0.0

(2018-04-03)

  • Initial release