Shopify 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 (83 ms faster on HTTP/3) and how much comes from edge CDNs.
On Shopify, 0.8% of sites serve their main HTML document over HTTP/2, 95.4% use HTTP/3 over QUIC, and 3.8% still use HTTP/1.1. On HTTP/3, 95% of Shopify sites have a good LCP, against 70% on HTTP/2 and 94% on HTTP/1.1. In Chrome's field data, HTTP/3 cuts median Time to First Byte by 83 ms compared with HTTP/2 (400 ms against 483 ms).
LCP pass rate
Sites serving their HTML over HTTP/3 (h3) have a good LCP most often at 95%, followed by HTTP/1.1 at 94%. 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.
HTML document protocol usage
Across 8,246 audited Shopify sites, HTTP/2 (h2) is the default protocol on 0.8% of sites. HTTP/3 (h3) serves 95.4% (7,870 sites), and HTTP/1.1 still serves 3.8% (310 sites).
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 483 ms on HTTP/2 and 411 ms on HTTP/1.1 to 400 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).
HTML protocol paired with edge CDN
More than half of all HTTP/3 sites (82%) serve their main HTML through an edge CDN, compared with only 55% 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 716 ms to 411 ms and reaches 93% on LCP (against 56% on HTTP/2). On Cloudflare, HTTP/3 cuts median TTFB to 398 ms and reaches 96%, against 441 ms and 82% on Cloudflare HTTP/2. Fastly HTTP/3 reaches 395 ms TTFB and 94%.
| HTML protocol | Origin (no edge CDN) | Cloudflare | Fastly | CloudFront | Akamai |
|---|---|---|---|---|---|
| HTTP/3 (h3) | 93% 1,407 sites | 96% 5,827 sites | 94% 117 sites | 93% 352 sites | 96% 158 sites |
| HTTP/2 (h2) | 56% 30 sites | 82% 28 sites | few sites | few sites | few sites |
| HTTP/1.1 | 89% 54 sites | 95% 216 sites | few sites | 97% 35 sites | few sites |
HTML document protocol per framework
jQuery serves the main HTML over HTTP/3 on 96% of its sites, and 93% of jQuery sites have a good LCP. Vue serves HTTP/2 on 1% of its sites, HTTP/3 on 95%, and HTTP/1.1 on 5%, and 94% of Vue sites have a good LCP.
HTML protocol or the framework
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 716 ms on HTTP/2 to 411 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.
Understanding HTML document protocol
Shopify's Cloudflare-backed storefront edge serves HTML over HTTP/3 and HTTP/2 automatically (95.4% HTTP/3 and 0.8% HTTP/2 across Shopify stores in this dataset, with 95% and 70% good LCP). If your custom domain does not negotiate HTTP/3 on the first visit, check that your DNS points directly to Shopify's edge rather than chaining through a legacy proxy that strips the HTTPS (type 65) DNS record.
By Arjen Karel · 8,246 crawled Shopify sites (5,825 with phone Chrome field data, October 2026). How we measured.