For an online store, one of the most important aspects is the loading speed. And here, it is important not only how fast a server returns a page to a client (TTFB), but also, how quickly the client can download this page and all related resources (files js, CSS, images, fonts).

The loading speed is one of the most significant factors which affects the SERP ranking in search engines (Google, Bing, etc.).

The faster a server generates the page and a client downloads it, the higher your site is in the search results at all the other factors being equal.

The Magento 2 pagespeed insights report is a useful tool to find the issues with your Magento store and fix them.

We have been studying and implementing various approaches to improve the speed of the store server-side and frontend side during several years.

In this article, we will share our ideas about PageSpeed insights for Magento 2 and how to use a Magento 2 pagespeed module to improve your store’s speed greatly.

Today we use a few different approaches to achieve acceptable Magento 2 page speed performance:

mirasvit.com Desktop Page Score

Google PageSpeed Module

Google PageSpeed module is not healing, rather a big step.

And for Magento 2, it is more relevant than ever. i.e., for the frontend part operation, it is necessary to upload a huge amount of js, CSS, files, images, and other resources.

There is no special version of google pagespeed module for magento 2. The same recommendations can be used to optimize any website on any platform.

What does the Page Speed module do?

The main task of the google magento pagespeed module is to optimize resources loaded by a client’s browser.

Right after installation and basic setting up it starts operating, and step by step uses different techniques that are recommended by Google PageSpeed Insights:

Image Optimization

Magento google pagespeed module allows you to convert regular GIF, PNG, and JPEG images to WebP format. This way, you can achieve a superior compression of an image without losing quality. WebP is the most modern and efficient way to serve images on the web.

Defer JS

Using the Google PageSpeed module, you can postpone the loading of noncritical JS-files. When a customer opens your store’s page, only necessary files are loaded. All other JS files will be postponed and loaded later in the background without blocking the page. So the loading time of the page will be much faster.

Minify/merge JS/CSS

The module can automatically minify and merge JS/CSS files. In this way, the size of those files is reduced, and they are loaded much faster.

Inline Javascript

In some cases, it’s much more efficient to insert JS code inside an HTML page than to load it as a separate file. The Google PageSpeed module can do this for your store.

Extend resources cache

Also, the module provides an additional level of caching for external resources (images, CSS/JS files). This cache additionally improves the loading time of the page.

How does it work

PageSpeed Workflow

PageSpeed and Magento 2 - proven configuration

After pagespeed module installation on a server, it is necessary to configure it Nginx or Apache.

There is an example of a working configuration based on Nginx below:

server {
    .....

    location /ngx_pagespeed_statistics { allow 100.100.100.100; deny all; }
    location /ngx_pagespeed_global_statistics { allow 100.100.100.100; deny all; }
    location /ngx_pagespeed_message { allow 100.100.100.100; deny all; }
    location /pagespeed_console { allow 100.100.100.100; deny all; }
    location ~ ^/pagespeed_admin { allow 100.100.100.100; deny all; }
    location ~ ^/pagespeed_global_admin { allow 100.100.100.100; deny all; }

    pagespeed on;

    pagespeed RewriteLevel CoreFilters;

    # core filters
    pagespeed EnableFilters add_head;
    pagespeed EnableFilters remove_quotes;
    pagespeed EnableFilters combine_css;
    pagespeed EnableFilters combine_javascript;
    pagespeed EnableFilters rewrite_images;

    # extra
    pagespeed EnableFilters sprite_images;
    pagespeed EnableFilters collapse_whitespace;
    pagespeed EnableFilters dedup_inlined_images;
    pagespeed EnableFilters inline_preview_images,resize_mobile_images;
    pagespeed EnableFilters lazyload_images;
    pagespeed EnableFilters rewrite_javascript;
    pagespeed EnableFilters responsive_images,resize_images;
    pagespeed FetchHttps enable;

    location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
        add_header "" "";
    }
    location ~ "^/pagespeed_static/" { }
    location ~ "^/ngx_pagespeed_beacon$" { }

    .......
}

If the installation and set up went fine, restart Nginx and then, all pages will include header X-Page-Speed:

PageSpeed Response Header

PageSpeed Module Result for Magento 2 Store

It is allowed to use the embedded web interface for extension operation monitoring accessible with the following link https://yourstore.com/pagespeed_admin

In the next few hours, you can see the optimization results.

PageSpeed Optimized Image

In our case, the volume of the optimized (compacted) files (images, CSS, js) is measured with gigabytes.

Final thoughts

PageSpeed module can not solve all the issues related to the store speed, but it significantly speeds up its operation. It allows you to improve page speed rating for your store quickly and safely and to decrease the time customers spend on page loading.

Also, you can significantly improve average response time for all store visitors with Magento 2 Full Page Cache Warmer extension.

Related Posts
7 Ways to Improve Magento 2 Site Speed Common issues and few hacks with Magento 2 Full Page Cache 5 reasons to speed up your Magento 2 store

Enjoyed the Read?

Don’t miss our next article!