To enable Brotli, turn it on in your CDN (Cloudflare: enabled by default for proxied sites) or web server (Nginx: ngx_brotli module; Apache: mod_brotli). Ensure text types (HTML, CSS, JS, JSON, SVG) are compressed. Verify with curl: curl -H "Accept-Encoding: br" -I https://yoursite.com and look for Content-Encoding: br.
Brotli compresses text assets smaller than Gzip with no visible change to users. Most CDNs enable it automatically; origin servers may need a one-time configuration. It is a quick win when missing.
Check your website
See how your site handles how to enable brotli compression — free, no account needed.
Business impact
Smaller transfers mean faster loads on mobile networks and lower bandwidth costs. Enabling Brotli is often a single toggle — high return for minimal effort.
Why this happens
Brotli missing when: origin does not support it and CDN is bypassed; module not installed on Nginx/Apache; compression disabled in hosting panel; or only Gzip enabled. Browsers send Accept-Encoding: br. Do not compress already-compressed formats (JPEG, PNG, WebP, video).
How to confirm the issue
Manually: curl -H "Accept-Encoding: br" -I https://yoursite.com — expect Content-Encoding: br.
With Plexa Trust: PageSpeed flags missing compression; re-scan after enabling.
Step-by-step fix
Check if Brotli is already enabled via CDN (most common case).
Enable Brotli on origin if traffic bypasses CDN.
Keep Gzip as fallback for older clients.
Compress text MIME types only — not images or video.
Verify with curl and PageSpeed Insights.
Re-scan.
Platform-specific fixes
Cloudflare
Brotli is enabled automatically for proxied domains.
Speed → Optimization → verify Brotli is on.
Nginx
Install ngx_brotli module (or use OpenResty).
Add: brotli on; brotli_types text/css application/javascript application/json image/svg+xml;
Reload nginx.
Apache
Enable mod_brotli: a2enmod brotli
AddBrotliType text/html text/css application/javascript
Reload apache2.
WordPress / shared hosting
Often handled by host or Cloudflare — check hosting control panel for compression settings.
If using a CDN, enable proxy so edge compression applies.
How to verify the fix
Enable both Brotli and Gzip — server negotiates best supported.
Pre-compress static assets at build time for maximum efficiency.
Do not compress binary image formats.
Common mistakes
Compressing JPEG/PNG (wastes CPU, no benefit).
Enabling only on homepage, not all text responses.
Assuming Gzip alone is enough when Brotli saves more.
Frequently asked questions
Brotli vs Gzip — which is better?
Brotli typically achieves 15–25% better compression than Gzip on text. Use both with content negotiation.
Is Brotli supported everywhere?
All modern browsers support Brotli. Older clients fall back to Gzip.
Does Brotli slow the server?
Compression uses CPU, but CDNs handle it at the edge. The transfer savings outweigh the cost.
Why does PageSpeed say enable compression?
Your server is sending uncompressed text. Enable Brotli or Gzip.
Can I use Brotli on static files only?
Yes — pre-compress .br files at build time and serve with Content-Encoding: br.
Does HTTPS affect compression?
No — Brotli works over HTTPS. TLS compresses the encrypted stream separately.
Shared hosting without Brotli?
Put Cloudflare (free tier) in front — it compresses at the edge.
How do I confirm it worked?
curl shows Content-Encoding: br; PageSpeed compression audit passes.
Think you've fixed it?
Run a free scan to verify the issue is resolved. Upgrade to Pro on Plexa Trust for the full audit, monitoring alerts, and score history.
Verify with a free scan