Improve Website Performance with PageSpeed Module
- Posted in:
- PageSpeed
- Performance
We decided to look into performance issues of our discoverize portals. We used online tools like WebPageTest, PageSpeed Insights, Website Grader, Pingdom Website Speed Test and GTmetrix to analyze the responses to web requests to our portals. Enabling browser caching and bundling JavaScript files were among the most important tasks. We took a look at PageSpeed Module which takes care of many these performance problems, and decided to give it a try.
After installing and configuring PageSpeed Module on a NGINX server we started to route discoverize portals through the NGINX proxy server.
I started with the core filters in PageSpeed Module and added a few which I deemed necessary. Here is our filter configuration:
pagespeed on;
# CoreFilters is default and enables multiple filters
pagespeed RewriteLevel CoreFilters;
# add additional filters
pagespeed EnableFilters defer_javascript,insert_image_dimensions;
And yes, we improved the performance of our portals. Especially for users which visit us frequently and request many pages of the portal. For instance for Caravanmarkt.Info our PageSpeed Insight score went from 76 to 86 (start page), 72 to 81 (search page), 71 to 86 (detail page). The other tools reported similar results. I also tested Glamping.Info, with similar results – this portals’ PageSpeed Insight score was lower to begin with, but improved by the same amount. The page load time also decreased, but we do not have reliable measurements for that, and it is just one time measurement out of many which have an impact on the user experience.
Looking at some of the analyses, there is is – of course – further room for improvement. For now we will leave it that way. Next year we will look into the remaining performance issues, for instance first byte time. Now we have a good setup with PageSpeed Module to address many performance issues.
Of course I also ran into some problems. Many filters were not easy for me to understand, since this was the first time we looked into the performance of our websites, and I was new to many concepts. One problem particularly kept haunting me: every five minutes PageSpeed did not bundle the JavaScript files and requested all resources anew. Seems that was due to changing ETags in the headers (bouncing between two ETags). Luckily that only concerns one portal, so for now we can live with that.