WordPress HTML protocol and the Core Web Vitals

HTTP/2, HTTP/3, or HTTP/1.1 on the main HTML document: how the protocol changes Time to First Byte (171 ms faster on HTTP/3) and how much comes from edge CDNs.

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

On WordPress, 71.8% of sites serve their main HTML document over HTTP/2, 20.9% use HTTP/3 over QUIC, and 7.3% still use HTTP/1.1. On HTTP/3, 75% of WordPress sites have a good LCP, against 69% on HTTP/2 and 69% on HTTP/1.1. In Chrome's field data, HTTP/3 cuts median Time to First Byte by 171 ms compared with HTTP/2 (1002 ms against 1173 ms).

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

LCP pass rate

Sites serving their HTML over HTTP/3 (h3) have a good LCP most often at 75%, followed by HTTP/1.1 at 69% and HTTP/2 (h2) at 69%. HTTP/1.1 sits slightly ahead of HTTP/2 here because many HTTP/1.1 sites are small static pages. Six in seven HTTP/2 sites serve dynamic CMS pages straight from the origin server, while more than half of HTTP/3 sites sit behind an edge CDN.

SitesGood, needs improvement, poor LCPMedian
All WordPress sites60,85570%1.9s
HTTP/3 (h3) 20.9%12,69475%1.8s
HTTP/1.1 7.3%4,47069%2.0s
HTTP/2 (h2) 71.8%43,69169%2.0s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
2

HTML document protocol usage

Across 63,295 audited WordPress sites, HTTP/2 (h2) is the default protocol on 71.8% of sites. HTTP/3 (h3) serves 20.9% (13,203 sites), and HTTP/1.1 still serves 7.3% (4,626 sites).

HTTP/2 (h2) 71.8% HTTP/3 (h3) 20.9%
HTTP/2 (h2) 71.8% HTTP/3 (h3) 20.9% HTTP/1.1 7.3%
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
3

TTFB and the four LCP phases by HTML protocol

HTTP/3 wins its LCP lead in Time to First Byte. Median field TTFB drops from 1173 ms on HTTP/2 and 1091 ms on HTTP/1.1 to 1002 ms on HTTP/3. Over TCP, HTTP/2 needs a TCP handshake before TLS can finish. Over UDP, QUIC combines TCP and TLS setup into one round trip (or zero on a repeat visit).

Median LCP phase breakdown (Chrome field p75) Median TTFB Median LCP
All WordPress sites 43,6221127 ms340 ms235 ms1127 ms1.9s
HTTP/3 (h3) 9,1981002 ms333 ms239 ms1002 ms1.8s
HTTP/1.1 3,2341091 ms449 ms228 ms1091 ms2.0s
HTTP/2 (h2) 31,1901173 ms332 ms235 ms1173 ms2.0s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
4

HTML protocol paired with edge CDN

More than half of all HTTP/3 sites (33%) serve their main HTML through an edge CDN, compared with only 9% of HTTP/2 sites. Comparing protocol versions on the same delivery path separates QUIC from edge caching. On sites served straight from the origin server, HTTP/3 still cuts median TTFB from 1170 ms to 996 ms and reaches 74% on LCP (against 69% on HTTP/2). On Cloudflare, HTTP/3 cuts median TTFB to 1006 ms and reaches 76%, against 1221 ms and 66% on Cloudflare HTTP/2. Fastly HTTP/3 reaches 1300 ms TTFB and 65%.

HTML protocol Origin (no edge CDN) Cloudflare Fastly CloudFront Akamai
HTTP/3 (h3)
74% 996 ms TTFB 8,893 sites
76% 1006 ms TTFB 3,419 sites
65% 1300 ms TTFB 156 sites
69% 1064 ms TTFB 364 sites
80% 836 ms TTFB 359 sites
HTTP/2 (h2)
69% 1170 ms TTFB 41,429 sites
66% 1221 ms TTFB 1,687 sites
67% 1251 ms TTFB 641 sites
64% 1224 ms TTFB 758 sites
70% 1160 ms TTFB 918 sites
HTTP/1.1
69% 1086 ms TTFB 4,149 sites
71% 1136 ms TTFB 215 sites
69% 1050 ms TTFB 77 sites
70% 1226 ms TTFB 108 sites
58% 1199 ms TTFB 73 sites
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
5

HTML document protocol per framework

Alpine serves the main HTML over HTTP/3 on 30% of its sites, and 80% of Alpine sites have a good LCP. jQuery serves HTTP/2 on 72% of its sites, HTTP/3 on 21%, and HTTP/1.1 on 7%, and 69% of jQuery sites have a good LCP.

FrameworkHTML document protocol on its sitesGood LCP
All WordPress sites 63,295 sitesHTTP/2 (h2) 72%HTTP/3 (h3) 21%70%
Alpine 380 sitesHTTP/2 (h2) 63%HTTP/3 (h3) 30%80%
jQuery 60,314 sitesHTTP/2 (h2) 72%HTTP/3 (h3) 21%69%
Vue 4,844 sitesHTTP/2 (h2) 82%HTTP/3 (h3) 10%68%
React 2,233 sitesHTTP/2 (h2) 70%HTTP/3 (h3) 24%61%
HTTP/2 (h2) HTTP/3 (h3) HTTP/1.1
The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
6

HTML protocol or the framework

Does the framework explain the HTTP/3 pass rate?

On jQuery, 74% of sites served over HTTP/3 have a good LCP, against 68% of jQuery sites on HTTP/2. Within jQuery, HTTP/3 beats HTTP/2 by 6 percentage points. On Vue, 71% of sites served over HTTP/3 have a good LCP, against 68% of Vue sites on HTTP/2. Within Vue, HTTP/3 and HTTP/2 sites have a good LCP about equally often.

Why HTTP/3 needs an HTTPS DNS record to help the first visit

A cold HTTP/2 connection takes two round trips before the browser can request the HTML: one for TCP and one for TLS. HTTP/3 runs over QUIC and finishes connection and TLS setup in one round trip. Even without an edge CDN, that cuts median origin TTFB from 1170 ms on HTTP/2 to 996 ms on HTTP/3. On a first visit, though, most servers only advertise HTTP/3 through the Alt-Svc response header. The browser only sees that header after the first HTML response has already arrived over HTTP/2. Publishing an HTTPS (type 65) DNS record with alpn="h3" tells the browser to use HTTP/3 on the very first request.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
7

Understanding HTML document protocol

Put Cloudflare, Fastly, or a QUIC-enabled web server (LiteSpeed, Caddy, or nginx 1.25+) in front of WordPress and publish an HTTPS DNS record with alpn="h3". On WordPress, 20.9% of sites serve their HTML over HTTP/3 and reach 75% good LCP (1002 ms median TTFB), compared with 69% on HTTP/2 (1173 ms TTFB). Even on direct origin servers without an edge CDN, HTTP/3 trims 174 ms off median TTFB by removing a handshake round trip. Pair HTTP/3 with full-page HTML caching (WP Rocket, FlyingPress, or Cloudflare APO) so the server does not rebuild PHP on every cold visit.

The State of Web Vitals · October 2026 · WordPress: 63,295 crawled sites · 60,855 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals Uncompressed text responses → HTML size (kB) → Connection hints → ETag present → By Arjen Karel · 63,295 crawled WordPress sites (60,855 with all devices Chrome field data, October 2026) · How we measured