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 (194 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 · Shopify sites only
Shopify Scoped to 8,248 sites out of 203,892 analyzed (cms) Compare with all sites →

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, 96% of Shopify sites have a good LCP, against 75% on HTTP/2 and 95% on HTTP/1.1. In Chrome's field data, HTTP/3 cuts median Time to First Byte by 194 ms compared with HTTP/2 (388 ms against 582 ms).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 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 96%, followed by HTTP/1.1 at 95% and HTTP/2 (h2) at 75%. 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 Shopify sites8,06296%1.3s
HTTP/3 (h3) 95.4%7,69496%1.3s
HTTP/1.1 3.8%30495%1.4s
HTTP/2 (h2) 0.8%6475%1.9s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
2

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).

HTTP/3 (h3) 95.4%
HTTP/3 (h3) 95.4% HTTP/1.1 3.8% HTTP/2 (h2) 0.8%
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 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 582 ms on HTTP/2 and 401 ms on HTTP/1.1 to 388 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 Shopify sites 6,992389 ms589 ms208 ms298 ms389 ms1.3s
HTTP/3 (h3) 6,668388 ms590 ms209 ms295 ms388 ms1.3s
HTTP/1.1 271401 ms550 ms194 ms343 ms401 ms1.3s
HTTP/2 (h2) 53582 ms601 ms306 ms582 ms1.9s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 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 (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 956 ms to 402 ms and reaches 94% on LCP (against 64% on HTTP/2). On Cloudflare, HTTP/3 cuts median TTFB to 384 ms and reaches 97%, against 464 ms and 86% on Cloudflare HTTP/2. Fastly HTTP/3 reaches 385 ms TTFB and 95%.

HTML protocol Origin (no edge CDN) Cloudflare Fastly CloudFront Akamai
HTTP/3 (h3)
94% 402 ms TTFB 1,407 sites
97% 384 ms TTFB 5,827 sites
95% 385 ms TTFB 117 sites
95% 401 ms TTFB 352 sites
96% 379 ms TTFB 158 sites
HTTP/2 (h2)
64% 956 ms TTFB 30 sites
86% 464 ms TTFB 28 sites
few sites few sites few sites
HTTP/1.1
91% 411 ms TTFB 54 sites
96% 395 ms TTFB 216 sites
few sites
97% 442 ms TTFB 35 sites
few sites
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
5

HTML document protocol per framework

jQuery serves the main HTML over HTTP/3 on 96% of its sites, and 94% 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 95% of Vue sites have a good LCP.

FrameworkHTML document protocol on its sitesGood LCP
All Shopify sites 8,246 sitesHTTP/3 (h3) 95%96%
Vue 933 sitesHTTP/3 (h3) 95%95%
jQuery 3,153 sitesHTTP/3 (h3) 96%94%
HTTP/3 (h3) HTTP/1.1 HTTP/2 (h2)
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
6

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 956 ms on HTTP/2 to 402 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 · Shopify: 8,246 crawled sites · 8,062 with all devices field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
7

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 96% and 75% 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.

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 8,062 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 · 8,246 crawled Shopify sites (8,062 with all devices Chrome field data, October 2026) · How we measured