A module for improving web vital metrics.
If NOT packagist, add repository first:
composer config repositories.overdose/module-magento-optimizer vcs git@github.com:Overdose-Digital/magento2-optimizer.git
For all cases
composer require overdose/module-magento-optimizer --no-update
composer update overdose/module-magento-optimizer
move_script_to_bottom is disabled
- Moves all js script in the bottom of page. Add html attribute
nodeferto JS to skip moving. - Loading JS scripts with a delay. Add html attribute
nolazyto JS to skip moving. - Remove Base Url from pages. Saves 55 bites on default Magento installation. Execution time about 0.000188 sec. So check profit if you decide enable it.
- Adds default html attribute
loading="lazy"to all images. Add html attributenolazyto image to skip loadind lazy. - Features can be turned on separately, or work both at the same time.
- All features can be disabled for specific page by controller/action name or by URL path.
Lazy load JS
Page load without JS (except exluded). After 5 sec (default value for od_optimizer/js_load_delay/timeout_delay option)
all <script> tags will be added at the end. Scripts will be added immediately if user start scrolling page.
-
od_optimizer/move_js_bottom_page/*. JS options. Enabled by default. -
od_optimizer/remove_base_url/*. URL options. Disabled by default. -
od_optimizer/lazy_load_image/*. Lazy image options. Enabled by default exceptgallery-placeholder__image. -
od_optimizer/js_load_delay/*. Load JS with delay options. Disabled by default. -
For excluding controller: add in the field
{module}_{action}_{name}, for example:cms_index_index -
For excluding paths: add in the field for example "/gear/bags.html"
-
For excluding specific script: use "Exclude JS Paths" option. Add part of script content. Excluding use simple
strpos()function. -
For excluding image from lazy loading use one of available methods:
- add "nolazy" attribute to img tag (this image will be skiped)
- add appropriate HTML class of image via system config
Configuration -> Magento Optimizer -> Use Lazy Loading Images -> Exclude Images by HTML Class(images with this class will be skiped)
| Magento 2.2 | Magento 2.3 | Magento 2.4 |
|---|---|---|
| ? | ok | ok |
