performance.compressionThe HTML is sent uncompressed
Why it matters
HTML compresses extremely well — commonly to a fifth or less of its size, because markup repeats itself. Sending it uncompressed means every visitor downloads several times what they need to, which costs them time on a phone and costs you bandwidth.
It is also close to free to fix. Every browser has supported gzip for twenty-five years and sends Accept-Encoding on every request; the server only has to answer with Content-Encoding. When it doesn't, it is almost always a default that was never changed, or a proxy in front of the site stripping the header.
Source: MDN: Content-Encoding; Google's advice on enabling compression.
How to fix it
Switch it on for text. On Apache, in .htaccess:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml
</IfModule>On nginx it is gzip on; with gzip_types. On Cloudflare and most CDNs it is on by default, so if the page is behind one and still uncompressed, something in between is stripping Accept-Encoding. Don't compress images: JPEG, PNG and WebP are compressed already.