Upgrade to HTTP/2
Enable HTTP/2 multiplexing so dozens of resources load in parallel over one connection.
Metrics
This technique can move up to 67% of LCP's share of the Lighthouse score.
This technique can move up to 33% of TBT's share of the Lighthouse score.
This technique does not move CLS.
This technique can move up to 67% of FCP's share of the Lighthouse score.
This technique can move up to 67% of SI's share of the Lighthouse score.
This technique can move up to 33% of TTFB's share of the Lighthouse score.
Overview
HTTP/1.1 limits browsers to 6 simultaneous connections per origin. When a page loads 30–60 resources — scripts, stylesheets, images, fonts — they queue behind those 6 slots. HTTP/2 eliminates the queue entirely: all resources share a single multiplexed connection and load in parallel. Combined with header compression and connection reuse, upgrading to HTTP/2 is a zero-code-change server configuration with measurable impact on every page load.
Impact grade, A+ to D: how much of the Lighthouse score this technique can move. Unaffected: CLS.
The Problem
A typical WordPress page requests 40–80 resources. Under HTTP/1.1 the browser opens 6 TCP connections to the origin, loads the first 6 resources in parallel, then starts the next 6. The resulting staircase waterfall adds 100–400 ms of artificial queuing time before half the page’s resources even begin downloading — entirely removed by HTTP/2 multiplexing.
Performance Impact
LCP
100–300ms
hero images start downloading without waiting for earlier resources to finish
TBT
50–200ms
scripts arrive in better order and begin execution sooner
FCP
100–400ms
render-blocking CSS and fonts no longer queue behind other requests
SI
100–300ms
all above-fold resources arrive sooner due to parallel delivery
TTFB
multiplexing amortises connection overhead across concurrent requests; marginal improvement from reduced per-request setup cost
Risk: Negligible
fully backwards compatible — HTTP/1.1 clients are served normally
How it works
01
Multiplexing eliminates request queuing
HTTP/2 opens a single TCP connection to the origin and sends all resource requests simultaneously as binary frames over that one connection. The server interleaves responses — a large image does not block a small CSS file from arriving.
02
Header compression reduces per-request overhead
HTTP/2 uses HPACK compression for request and response headers. On a page with 60 requests, headers that would total 40–80 KB under HTTP/1.1 compress to under 5 KB — a measurable transfer saving on connection-limited mobile networks.
03
Connection reuse eliminates TLS re-handshakes
Resources from the same origin share the single HTTP/2 connection, including its TLS session. A CDN serving 20 assets pays one TLS handshake instead of 6+ sequential ones — saving 100–300 ms on first connection.
04
Enable in the web server and CDN
Nginx: add
http2to thelistendirective. Apache: enablemod_http2and setProtocols h2 http/1.1. Most managed WordPress hosts and CDNs enable HTTP/2 by default — verify withcurl -I --http2 https://example.comand check the response line.
Limitations
- HTTP/2 requires TLS — sites still on HTTP must migrate to HTTPS before enabling it.
- HTTP/2 reduces the benefit of bundling CSS and JavaScript into single files. With HTTP/1.1, concatenation was critical; with HTTP/2, many smaller files can be just as fast.
- Server push (HTTP/2’s resource hint feature) is deprecated in HTTP/3 and had limited browser support — prefer instead.
Common Mistakes
Assuming the CDN uses HTTP/2 but the origin does not
For cached resources the CDN serves HTTP/2, but for cache misses the CDN fetches from origin over HTTP/1.1. Check both the CDN-to-browser and origin-to-CDN connections — both benefit from HTTP/2.
Continuing to aggressively bundle JS and CSS after migrating to HTTP/2
HTTP/1.1 bundling optimisation trades granular caching for fewer requests. Under HTTP/2, splitting bundles by route or feature improves cache hit rates without the request-count penalty.
Need help applying this to your site?
Targeted fixes, not guesswork. We identify which techniques move the needle for your specific WordPress stack.
Start an Engagement