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 (70 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, 97% of Shopify sites have a good LCP, against 82% on HTTP/2 and 99% on HTTP/1.1. In Chrome's field data, HTTP/3 cuts median Time to First Byte by 70 ms compared with HTTP/2 (304 ms against 374 ms).
LCP pass rate
Sites serving their HTML over HTTP/1.1 have a good LCP most often at 99%, followed by HTTP/3 (h3) at 97%. 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 374 ms on HTTP/2 and 303 ms on HTTP/1.1 to 304 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 759 ms to 312 ms and reaches 96% on LCP (against 63% on HTTP/2). On Cloudflare, HTTP/3 cuts median TTFB to 302 ms and reaches 97%, against 324 ms and 94% on Cloudflare HTTP/2. Fastly HTTP/3 reaches 244 ms TTFB and 92%.
| HTML protocol | Origin (no edge CDN) | Cloudflare | Fastly | CloudFront | Akamai |
|---|---|---|---|---|---|
| HTTP/3 (h3) | 96% 1,407 sites | 97% 5,827 sites | 92% 117 sites | 95% 352 sites | 99% 158 sites |
| HTTP/2 (h2) | 63% 30 sites | 94% 28 sites | few sites | few sites | few sites |
| HTTP/1.1 | 100% 54 sites | 99% 216 sites | few sites | 96% 35 sites | few sites |
HTML document protocol per framework
jQuery serves the main HTML over HTTP/3 on 96% of its sites, and 95% 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 97% 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 759 ms on HTTP/2 to 312 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 97% and 82% 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 (3,818 with desktop Chrome field data, October 2026). How we measured.