You have to maintain an active subscription in order to be able to use the repository!
The PageSpeed module (ngx_pagespeed, for NGINX) is there to optimize your website client-side performance automatically.
However, it does make a burden on your CPU and RAM with every request. By its nature, it always does
stat calls to cache extended and optimized resources. So if in case of PHP OPCache you can do
revalidate_timestamps set to
Off, there is no such magical switch for PageSpeed’s cache.
Why PageSpeed module is good
The primary benefits of PageSpeed module are those things that can not be easily configured in NGINX:
- Optimize images and serve WebP images for supporting browsers
- Concatenating assets (no longer needed, really in an HTTP/2 world)
In this (now stub) post, I will give an overview of methods to achieve what PageSpeed module does, all without using it and even better 🙂
As long as your website development follows a proper development workflow, you can quite easily optimize everything without the PageSpeed module.
Ideally, you implement a git workflow for your website, and optimizing client-side performance is done:
- once at the very beginning
- upon every deployment
Simply put, the optimizations are done only when they’re actually needed – during deployment; as opposed to PageSpeed module’s approach, which is on every request.
Our optimizations during deployment would include:
- CSS files modification: generating
.minsuffixed CSS files
- Compressing images
- Generation of
.webpversions of images
yum install https://extras.getpagespeed.com/release-latest.rpm yum install closure-compiler