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.

Field data PhoneDesktopAll Scope All sites October 2026 edition · Desktop 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, 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).

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop field dataBy Arjen Karel · corewebvitals.io/state-of-cwv
1

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.

SitesGood, needs improvement, poor LCPMedian
All Shopify sites3,81897%1.3s
HTTP/1.1 3.8%13799%1.3s
HTTP/3 (h3) 95.4%3,64297%1.3s
HTTP/2 (h2) 0.8%3982%1.7s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop 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 · 3,818 with desktop 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 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).

Median LCP phase breakdown (Chrome field p75) Median TTFB Median LCP
All Shopify sites 3,127305 ms630 ms304 ms305 ms1.3s
HTTP/1.1 119303 ms622 ms331 ms303 ms1.3s
HTTP/3 (h3) 2,975304 ms630 ms303 ms304 ms1.3s
HTTP/2 (h2) 33374 ms655 ms265 ms374 ms1.7s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop 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 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% 312 ms TTFB 1,407 sites
97% 302 ms TTFB 5,827 sites
92% 244 ms TTFB 117 sites
95% 333 ms TTFB 352 sites
99% 289 ms TTFB 158 sites
HTTP/2 (h2)
63% 759 ms TTFB 30 sites
94% 324 ms TTFB 28 sites
few sites few sites few sites
HTTP/1.1
100% 260 ms TTFB 54 sites
99% 303 ms TTFB 216 sites
few sites
96% 324 ms TTFB 35 sites
few sites
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop 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 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.

FrameworkHTML document protocol on its sitesGood LCP
All Shopify sites 8,246 sitesHTTP/3 (h3) 95%97%
Vue 933 sitesHTTP/3 (h3) 95%97%
jQuery 3,153 sitesHTTP/3 (h3) 96%95%
HTTP/3 (h3) HTTP/1.1 HTTP/2 (h2)
The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop 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 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.

The State of Web Vitals · October 2026 · Shopify: 8,246 crawled sites · 3,818 with desktop 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 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.

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