A Magento module that stops URL rewrites with category paths being generated for products when 'Use Categories Path for Product URLs' setting is disabled in config.
Type
magento2-module
License
MIT
Requires
magento/module-catalog-url-rewrite
^100.1
php
^7.4 || ^8.0
Requires (dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
Fisheye_UrlRewriteOptimiser
Overview
A Magento module that stops URL rewrites with category paths being generated for products when 'Use Categories Path for Product URLs' setting is disabled in config.
Features
Stop needless URL rewrites for products that include category paths being created
Only applies when 'Use Categories Path for Product URLs' setting is set to 'No'
Note: this extension will only prevent category path based URL rewrites from being created. Removing existing URL rewrites will need to be managed separately (though may be added in a future version).
Issue
To highlight the issue (and purpose of this module) see the 2 scenarios below
Without module enabled
'Joust Duffle Bag' product is in 2 categories ('Gear' and 'Bags')
4 product URL rewrite records are created for this product
1 for the direct product URL
3 for category path URLS (2 for the categories the product is associated to and also the root category...)
Overall 580 product URL rewrite records are created (using Magento's default sample data of 189 visible products and 39 categories)
With module enabled
'Joust Duffle Bag' product now just has 1 URL rewrite record for the direct path
Overall reduced to 189 product URL rewrite records (i.e. 1 per visible product)
Scale that up to thousands of products, categories, websites and store views and the space saved in the url_rewrite table could be huge!
Compatibility
PHP 7.x
Magento Open Source / Commerce Edition 2.1.x / 2.2.x (may work on older versions, but untested)