Text Compression
Checks that text assets (HTML, CSS, JS) are served with gzip or brotli.
What this check measures
We request each text asset and verify Content-Encoding. Uncompressed text is 3-10x larger than compressed.
Why it matters
Compression is the single cheapest performance win. Brotli cuts text sizes ~70%; gzip ~65%. Every modern host does it by default — when it's off, something is misconfigured.
How our audit detects it
GET each resource with Accept-Encoding: gzip, br. Check Content-Encoding header in response.
Typical findings
- error_outlineCSS files served uncompressed from self-hosted CDN.
- error_outlineHTML has Content-Encoding but /api responses do not.
How to fix
Enable compression at server/CDN/edge. On Vercel/Netlify this is default. Self-hosted: Nginx `gzip on;` or `brotli on;`.
Copy-paste fix prompt for your stack
Lovable · Cursor · Bolt · v0 · Replit · Windsurf · Claude Code · Base44
Frequently asked questions
Brotli vs gzip for dynamic content?expand_more
Want this checked on your site?
Pantra runs the full audit (SEO, Security, GEO, Performance, Schema, Technical, Images) in 10 seconds and generates stack-specific fix prompts.
Scan my siteRelated checks
LCP (Largest Contentful Paint)
Checks Largest Contentful Paint — how fast the main content appears. Target under 2.5s.
PerformanceCLS (Cumulative Layout Shift)
Checks Cumulative Layout Shift — how much the page jumps during load. Target under 0.1.
PerformanceINP (Interaction to Next Paint)
Checks Interaction to Next Paint — responsiveness to clicks/taps. Target under 200ms.
PerformanceFCP (First Contentful Paint)
Checks First Contentful Paint — when the first text or image appears. Target under 1.8s.