WordPress subresource compression algorithms and the Core Web Vitals

Text-response compression across requests: brotli, gzip, zstd, or none.

Field data PhoneDesktopAll Scope All sites October 2026 edition · Phone field outcomes · WordPress sites only
WordPress Scoped to 63,295 sites out of 203,892 analyzed (cms) Compare with all sites →

72.3% of WordPress sites use Brotli compression subresource HTTP compression, and 70% of those sites have a good LCP, against 70% of all WordPress sites.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with Brotli compression subresource HTTP compression have a good LCP most often: 70%, against 70% of all WordPress sites. Sites with Zstandard (zstd) compression subresource compression have it least often, at 67%.

SitesGood, needs improvement, poor LCPMedian
All WordPress sites36,52470%2.0s
Brotli (Content-Encoding: br) 72.3%26,48070%2.0s
Unencoded binary assets (images / WOFF2) 99.9%36,51070%2.0s
Gzip (Content-Encoding: gzip) 91.4%33,24769%2.0s
Zstandard (Content-Encoding: zstd) 55.9%20,09667%2.0s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
2

Subresource HTTP compression usage

Unencoded binary assets is the most used: 99.9% of WordPress sites. Brotli compression is 72.3% of WordPress sites.

Sites using each option (sites can use more than one) 63,295 sites
Unencoded binary assets (images / WOFF2) 99.9% Gzip (Content-Encoding: gzip) 91.4% Brotli (Content-Encoding: br) 72.3% Zstandard (Content-Encoding: zstd) 55.9%
Unencoded binary assets (images / WOFF2) 99.9% Gzip (Content-Encoding: gzip) 91.4% Brotli (Content-Encoding: br) 72.3% Zstandard (Content-Encoding: zstd) 55.9%
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
3

LCP phase breakdown by subresource compression algorithm

Across the four LCP sub-parts in Chrome's field data, the largest gap between Brotli compression and Zstandard (zstd) compression sits in time to first byte (TTFB): 1096 ms median for Brotli compression against 1154 ms for Zstandard (zstd) compression. Overall median field LCP is 2.0s for Brotli compression (TTFB 1096 ms, load delay 357 ms, load duration 186 ms, render delay 248 ms) versus 2.1s for Zstandard (zstd) compression.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
All WordPress sites 26,0501116 ms355 ms355 mslab 346 ms2.0s
Unencoded binary assets (images / WOFF2) 26,0401116 ms355 ms355 mslab 346 ms2.0s
Brotli (Content-Encoding: br) 19,1631096 ms357 ms357 mslab 348 ms2.0s
Gzip (Content-Encoding: gzip) 23,7531127 ms359 ms359 mslab 350 ms2.0s
Zstandard (Content-Encoding: zstd) 14,5991154 ms370 ms370 mslab 361 ms2.1s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
4

Subresource HTTP compression per framework

Alpine sets the subresource HTTP compression to Brotli compression on 86% of its sites, and 78% of Alpine sites have a good LCP, against 70% of all sites. jQuery sets the subresource HTTP compression to unencoded binary assets on 100% of its sites, and 69% of jQuery sites have a good LCP.

FrameworkSubresource HTTP compression on its sitesGood LCP
All WordPress sites 63,295 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 91%Brotli (Content-Encoding: br) 72%Zstandard (Content-Encoding: zstd) 56%70%
Alpine 380 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 95%Brotli (Content-Encoding: br) 86%Zstandard (Content-Encoding: zstd) 79%78%
jQuery 60,314 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 92%Brotli (Content-Encoding: br) 72%Zstandard (Content-Encoding: zstd) 57%69%
Vue 4,844 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 84%Brotli (Content-Encoding: br) 65%Zstandard (Content-Encoding: zstd) 34%67%
React 2,233 sitesUnencoded binary assets (images / WOFF2) 100%Gzip (Content-Encoding: gzip) 93%Brotli (Content-Encoding: br) 80%Zstandard (Content-Encoding: zstd) 61%63%
Unencoded binary assets (images / WOFF2) Gzip (Content-Encoding: gzip) Brotli (Content-Encoding: br) Zstandard (Content-Encoding: zstd)
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
5

Subresource compression or the framework

Does the framework explain the subresource HTTP compression difference?

On jQuery, 69% of sites with Brotli compression subresource HTTP compression have a good LCP, against 69% of jQuery sites with unencoded binary assets. Within jQuery, sites with Brotli compression and unencoded binary assets have a good LCP about equally often. On Vue, 68% of sites with Brotli compression subresource HTTP compression have a good LCP, against 67% of Vue sites with unencoded binary assets. Within Vue, sites with Brotli compression and unencoded binary assets have a good LCP about equally often.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
6

Understanding subresource compression algorithms

Enable Brotli (br) compression on your origin or CDN edge for all CSS, JavaScript, JSON, and SVG subresources instead of relying solely on Gzip. On WordPress, 91.4% of sites serve Gzip subresources (69% good LCP) and 72.3% serve Brotli (70% good LCP).

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 36,524 with phone field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Scripts per page → Stylesheet origin (1P/3P) → DOM depth → Responsive image markup → By Arjen Karel · 63,295 crawled WordPress sites (36,524 with phone Chrome field data, October 2026) · How we measured