Magento 2 Google Page Speed Optimizer
Installation and User Guide for Magento 2 Google Page Speed Optimizer
Table of Contents
Installation via app/code
Installation via Composer
Configuration Settings for Optimiser Base
General Settings
Configuration Settings for Speed Optimiser
General Settings
Minify HTML
Javascript Settings
CSS Settings
Configuration Settings for Lazy Loading
General Settings
Lazy Loading on the Homepage
Home Page Excluded from Lazy Loading
Lazy Loading on the Category Page
Lazy Loading on the Search Page
Lazy Loading on the Cart Page
Configuration Settings for Image Optimizer
General Settings
Compress/Optimize Product Image
Compress/Optimize Category Image.
Compress/Optimize CMS Image
Configuration Settings for Cache Warmer
General Settings
Cron Settings
Regenerate
Category Page
Product Page
CMS Page
Cache Hit for the category page after the execution of category page command
Cache Miss for the Category Page
Home Page Mobile
Home Page Desktop
Category Page Mobile
Category Page Desktop
Product Page Mobile
Product Page Desktop
Installation
Installation via app/code: Upload the content of the module to your root folder. This will not overwrite the existing Magento folder or files, only the new contents will be added. After the successful upload of the package, run below commands on Magento 2 root directory.
Installation via Composer: Please follow the guide provided in the below link to complete the installation via composer.
Configuration Settings for Optimiser Base
Go to Admin > Stores > Configuration > Scommerce Configuration > Optimiser Base
General Settings
Enabled – Select “Yes” or “No” to enable or disable the module.
License Key – Please add the license for the extension which is provided in the order confirmation email. Please note license keys are site URL specific. If you require license keys for dev/staging sites then please email us at support@scommerce-mage.com.
Configuration Settings for Speed Optimiser
Go to Admin > Stores > Configuration > Scommerce Configuration > Speed Optimiser
General Settings
Enabled - Select “Yes” or “No” to enable or disable the module.
Minify HTML
Enabled - Select “Yes” or “No” to enable or disable the module. If set to “Yes” then the module will remove all the unnecessary comments, line breaks, tabs and spaces from your HTML to reduce its size.
Defer Iframes – Select “Yes” or “No”. If set to “Yes” then attribute defer will be added to the iframe.
Javascript Settings
Select “Yes” to enable the Defer Iframes
Merge Javascript Files – Select “Yes” or “No”. If set to “Yes” then it will merge all JS files into one to reduce the number of queries.
Enable Javascript Bundling – Select “Yes” or “No”. If set to “Yes” then it will combine all JS files into few bundles and download them for each page. This will save time by reducing the number of server requests.
Javascript Files Minification – Please select “Yes” or “No”. If set to “Yes” then the module will remove all the unnecessary comments, line breaks, tabs and spaces from your Java Script to reduce its size.
CSS Settings
Merge CSS Files – Select “Yes/No”. If set to “Yes” then it will merge all CSS files into one to reduce the number of queries.
Defer Fonts Loading – Select “Yes/No”. If set to “Yes” then browser will load the page with system fonts and replace them with your fonts when they are loaded. It makes store pages load faster.
Fonts Display Swap – Select “Yes/No”. If set to “Yes” then font-display will be replaced with swap. Helps avoid Luma-Icons issue.
CSS Files Minification – Select “Yes” or “No”. If set to “Yes” then the module will remove all the unnecessary comments, line breaks, tabs and spaces from your CSS to reduce its size.
Configuration Settings for Lazy Loading
Go to Admin > Stores > Configuration > Scommerce Configuration > Lazy Loading
General Settings
Enabled - Select “Yes” or “No” to enable or disable the module.
Preload Images – Select “Yes” to preload the images.
Loading Icon – Show a preview image before the real image loads.
Skip Images Count by page category – Enter a valid image count to skip the images from lazy load. Based on the count this option will decide how many images to load without lazy loading.
Ignore Images that Contain – Provide a part of an image tag content into the field to exclude the image from the lazy load.
Exclude Pages – Select the page(s) from multi-select options to exclude from the lazy load.
Lazy Loading on the Homepage – Enable the module to implement lazy loading on the homepage, here is the configuration path Admin > Stores > Configuration > Lazy Loading- Enable "Yes". In the below screen grab you can see the product "Radiant Tee" with lazy loading.
Home Page Excluded from Lazy Loading – There is an option " Exclude Pages" available in the backend, from where you can select the page to exclude from the lazy loading.
Lazy Loading on the Category Page – Enable the module to implement the lazy loading on the category page Admin > Stores > Configuration > Lazy Loading - Enable "Yes".
Lazy Loading on the Search Page – There is an option available in the configuration settings at Admin > Stores > Configuration > Lazy Loading- Enable and by selecting "Yes" or "No" you can enable or disable the lazy loading on the search page.
Lazy Loading on the Cart Page – You can implement lazy loading on the cart page by by enabling the module from the back-end configuration Admin > Stores > Configuration > Lazy Loading- Enable "Yes".
Configuration Settings for Image Optimizer
Go to Admin > Stores > Configuration > Scommerce Configuration > Image Optimizer
General Settings
Enabled - Select “Yes” or “No” to enable or disable the module.
Compress Images while uploading - Select available options to enable compression for new images uploaded via Magento admin. We recommend this to be enabled because all the new things will be compressed straight away.
Number of images to processed – Define how many number of images you want to process when the cron job runs. Please note this number should be reasonable especially when you have multiple stores and many additional product images.
Minimum image size required after optimisation -
Include folders – Please select list of folders you want to include for compressing the image.
Compress Cached Product Images (Yes/No) – Select “Yes” to compress cached product images generated by Magento. We could recommend to leave this setting turned off especially when you clear your cached images frequently and you have more than 5 additional images on the product page.
Image Compression Provider – Please select image compression provider. Provider API URL: Provider API URL. smush it – http://api.resmush.it/ws.php?img= imageoptim – https://im2.io/{ {username} }/full/ kraken.io – https://api.kraken.io./v1/url
API Key – Please enter API Key (if provider is kraken.io).
API Secret Key – This will be required for certain providers like kraken.io
Exclude folders – Please enter the list of folders you want to exclude from media directory (comma separated) for example foldername1, foldername2, /foldername /subfolder1, foldername/subfolder2
Backup Images (Yes/No) – Select “Yes” to enable this feature to backup original images before compressing original file.
Debugging (Yes/No) – Select “Yes” to enable debugging. This will write logs in var – log – imageoptimize.log
Image Optimiser Schedule – Please define the Cron frequency to optimize images.
Compress/Optimize Product Image - You can compress product images by enabling module from Admin > Stores > Configuration > Scommerce Configuration > Image Optimiser > Enabled - "Yes" > Compress Images while uploading - Select "Product ".
Compress/Optimize Category Image - You can compress category images by enabling module from Admin > Stores > Configuration > Scommerce Configuration > Image Optimiser > Enabled - "Yes" > Compress Images while uploading - Select "Category ".
Compress/Optimize CMS Image - You can compress CMS images by enabling module from Admin > Stores > Configuration > Scommerce Configuration > Image Optimiser > Enabled - "Yes" > Compress Images while uploading - Select "CMS ".
Configuration Settings for Cache Warmer
Go to Admin > Stores > Configuration > Scommerce Configuration > Cache Warmer
General Settings
Enabled - Select “Yes” or “No” to enable or disable the module
Regenerate cache after page update - Please select "Yes" or "No" to regenerate cache for updated page.
Select Page - Please select the page(s) from the multi-select option. This will regenerate the cache selected page(s) on page update.
Can Regenerate Cache Manually - Please select " Yes" or "No". If set to "Yes" then you can regenerate cache manually from cache warmer grid.
Generate Log - Select "Yes" to generate the log.
Cron Settings
Cache Cron Schedule - Schedule cron job to regenerate the cache for all non cached page(s).
Number of Concurrent Regeneration request - Please define the number of concurrent request.
Cache Warmer Grid
When you enable the module and set General Settings > Can Regenerate Cache Manually > to "Yes" then it adds an additional option "Regenerate" under the "Actions ->Select" drop-down at Admin > System > Cache Warmer > Actions. This grid will have Id, Page URL, Page Type - (Home, Product, Category, CMS), Status - (Cached/Un-cached), Last Cached - (Date, Time), and Action- (Regenerate, Delete).
Regenerate - It regenerates cache manually for Category/Product/CMS pages. By clicking on the "Regenerate" action you can regenerate cache manually for a specific URL.
Console Commands
You can regenerate cache for Product/Category/CMS page(s) by running the following console commands: -
Category Page - If you want to regenerate cache for the category page then run this command
scommerce:cachewarmer:category
Product Page - To regenerate cache for the product page(s), use this command
scommerce:cachewarmer:product
CMS Page - To regenerate cache for CMS page please use this command
scommerce:cachewarmer:cmspage
Front-end Screenshots
Cache Hit for the category page after the execution of category page command - When you run the command for category then it regenerates the cache. On the front-end you can debug the cache and check the status "Hit" or "Miss" using browser tool (Inspect element) under Network > Select Page URL > Header > Cache Debug: HIT
Cache Miss for the Category Page - Flush the cache by executing the command (c:f) and then check cache using browser tool .
Set Primary Categories
You can use a script provided with the extension to automatically add primary categories for products. Admin can exclude certain categories from primary category and also prioritise one category over the other to be picked as the primary category.
Go to Admin>Catalog>Categories select a category then scroll down to find the option "Primary Category Settings". Here click on "Exclude From Primary Category" to exclude this category from primary category or enter the priority 0 being the highes. The highest priority category will be picked first for the primary category.
To automatically assingn primary category for all products run the command given below by going into the root directory of your store.
N.B - If you are using older version then run the script provided in the extension folder at the path Data/SetPrimaryCategoryM2.php from ssh
Google Page Speed Tests
Home Page Mobile
Home Page Desktop
Category Page Mobile
Category Page Desktop
Product Page Mobile
Product Page Desktop
If you have a question related to this extension please check out our FAQ section first. If you can't find the answer you are looking for then please contact support@scommerce-mage.com.
Last updated