This rule triggers when PageSpeed Insights detects that compressible resources were served without
gzip compression.
Overview
All modern browsers support and automatically negotiate
gzip compression for all HTTP
requests. Enabling
gzip compression can reduce the size of the transferred response by
up to 90%, which can significantly reduce the amount of time to download the resource, reduce data
usage for the client, and improve the time to first render of your pages.
See
text compression with GZIP to learn more.
Recommendations
Enable and test gzip compression support on your web server. The HTML5 Boilerplate project contains
sample configuration files for all the most
popular servers with detailed comments for each configuration flag and setting: find your favorite
server in the list, look for the
gzip section, and confirm that your server is
configured with recommended settings.
Alternatively, consult the documentation for your web server on how to enable compression:
FAQ
- PageSpeed Insights reports that many of my static content files need to be gzipped,
but I have configured my web server to serve these files using gzip compression.
Why is PageSpeed Insights not recognizing the compression?
-
Proxy servers and anti-virus software can disable compression when files are downloaded to a
client machine. PageSpeed Insights' results are based on headers that were actually returned
to your client, so if you are running the analysis on a client machine that is using such
anti-virus software, or that sits behind an intermediate proxy server (many proxies are
transparent, and you may not even be aware of a proxy intervening between your client and
web server), they may be the cause of this issue.
To determine if a proxy is the cause,
you can use the PageSpeed Insights Chrome extension to examine the headers:
- Run PageSpeed on the page in question.
- Click the Show Resources
tab.
- Expand the URL of the resource that is being flagged as
uncompressed. The headers that accompanied that resource are displayed.
If you see a header called
Via, Forwarded,
or Proxy-Connection, this indicates that a
proxy has served the resource.