Magento 2 Google Page Speed Optimizer

Installation and User Guide for Magento 2 Google Page Speed Optimizer

Table of Contents

  1. Installation

    • Installation via app/code

    • Installation via Composer

  2. Configuration Settings for Speed Optimiser

    • General Settings

    • Minify HTML

    • Javascript Settings

    • CSS Settings

  3. 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

  4. Configuration Settings for Image Optimizer

    • General Settings

    • Compress/Optimize Product Image

    • Compress/Optimize Category Image.

    • Compress/Optimize CMS Image

  5. Configuration Settings for Cache Warmer

    • General Settings

    • Cron Settings

  6. Console Commands

    • Category Page

    • Product Page

    • CMS Page

  7. Front-end Screenshots

    • Cache Hit for the category page after the execution of category page command

    • Cache Miss for the Category Page

  8. Google Page Speed Tests

    • 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.

php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
  • 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 Noto enable or disable the module.

Minify HTML

  • Enabled - Select “Yes” or Noto 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 Noto enable or disable the module.

  • Preload Images – Select “Yesto 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 Noto 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.

scommerce:seo-base:set-primary-category

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