For more details see the Google Page Speed Optimizer extension page.
Improve your store performance with the Google Page Speed Optimizer for Magento 2. Minify code and optimize images without quality loss.
To configure the extension, go to Stores → Configuration → Google Page Speed Optimizer.
Enable Module - set to Yes to activate the module.
Expand this tab to reduce HTML, CSS and JS code size. The extension removes all unnecessary line breaks, tabs, comments and spaces.
Minify HTML - set the option to Yes to enable HTML minification.
In this tab you can create an advanced bundle of JS using Advanced JS Bundling feature and JS Minification that will significantly reduce the page size in kilobytes and increase the page load speed. Google rank for both mobile and desktop will be improved.
The process of optimization is complicated. That is why it can't be performed just in one click. You have to pass 3 steps that will require specific actions from you until JS is optimized. You will need to use CLI commands to run through the optimization. Please make sure that you have access to the console and know how to do it.
To run the optimization, set the Amasty JS Optimization option to Enabled and click Start. Easily Clear Bundle if needed.
If Amasty JS Optimization is Disabled, you can customize the way of code optimization. Besides Moving JS To Page Bottom, there are 3 additional options to reduce your JS code.
in the console after any changes in this block of settings have been made.
Merging CSS Files works the same way as merging JS files.
Minifying CSS Files works the same way as minifying JS and HTML.
If you set Defer Fonts Loading to Yes, the browser will load the page with system fonts and replace them with your fonts when they are loaded. It makes store pages load faster.
As in the JS tab, you can also Move Print CSS Files to Page Bottom to make your page render faster.
Flat Tables allow storing all the information about a category or a product. Such tables help to shorten the query in the database. The shorter the query is, the better your store performs. Pays off for large stores with massive databases.
In this tab you can enable some additional settings to make your webstore perform better.
Sign Static Files - activate the option to make the browser automatically update cached values once they are changed.
Asynchronous indexing - enable to distinguish traffic patterns on the database level to avoid conflicts between read and write operations. Order data is placed in a temporary storage and moved to the Order Management grid with no accidents.
Expand this tab to configure the automatic image optimization using various flexible settings. The extension allows you to optimize JPEG, PNG and GIF images.
Enable Optimize images option to compress images without quality loss and reduce web pages loading time.
Automatically Optimize Images in catalog or Wysiwyg folder - set to Yes to optimize all images uploaded to the catalog or Wysiwyg folder automatically.
Folders For Optimization - select the folders to optimize images from.
JPEG optimization tool - set the way to optimize JPEG images:
PNG optimization tool - select optipng to optimize PNG images.
GIF optimization tool - choose gifscale to compress GIF files.
Use Webp image format - set to Yes to create a copy for every image in the WebP format.
sudo apt-get install webp
For a specific setup with versioning, use this guide.
Create Images in Smaller Resolutions - choose the type of copies to be created:
Resize Algorithm - select the algorithm according to which the images will be compressed:
Dump Original Images - set this option to Yes to store original images in the pub/media/amasty/amoptimizer_dump folder. It allows to collect all the original files in one place and easily update them in case the settings are changed.
Images Queue - click the Generate Queue button to form a queue based on your configuration.
php bin/magento amasty:optimizer:generate-queue
Each time you click ReGenerate Queue button, a new queue is generated.
Process Images Per Request - specify the value that will indicate the number of images to optimize in a single request to the database files.
Run Optimization now - click this button to optimize selected folders images.
php bin/magento amasty:optimizer:optimize
Clear Images Folder - the Clear WebP Images Folder / Clear Mobile Images Folder / Clear Tablet Images Folder buttons delete the optimized files from the pub / media / amasty / folder_name folders, depending on which button is pressed. It is used if the previously selected optimization settings were inconvenient to use and there is a need to re-generate the queue and re-optimize the images.
This tab allows to choose the necessary load configuration: Simple (to configure the particular settings) or Advanced (to adjust the extended settings).
Use Lazy Loading Images - set to Yes to make off-screen images load only when a customer scrolls to them. It prevents pages full of images from lagging.
Lazy Load Script - you can choose between 2 lazy load scripts: jQuerry Lazy Script or Native JS Lazy Script. We recommend trying both of them to choose one that fits your system best.
You can decide whether to Preload Images or load them from scratch when they happen on screen. Decide how many images to load by setting Preload Images Number.
Preload Images Strategy - select the necessary algorithm:
Ignore Images That Contain - specify the images that should not be optimized.
All tabs of this block have the same structure as in the Simple mode, but the Advanced type is aimed at flexible customization of a specific type of site pages. Thus, you can select the most suitable type of optimization for each store page.
If the Use Lazy Loading Images option is disabled, decide whether to enable Replace With WebP and Image Resolutions setting or not:
In this case make sure that WebP and Resized images were generated priorly in the ‘Optimization’ tab.
Save the configuration.
Find out how to install the Google Page Speed Optimizer via Composer