HomeMethod

Knowledge

Web VitalsTechniquesSnippetsAnswersImpactsBottlenecks

Upgrade to HTTP/2

Enable HTTP/2 multiplexing so dozens of resources load in parallel over one connection.

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

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

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

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

  4. 04

    Enable in the web server and CDN

    Nginx: add http2 to the listen directive. Apache: enable mod_http2 and set Protocols h2 http/1.1. Most managed WordPress hosts and CDNs enable HTTP/2 by default — verify with curl -I --http2 https://example.com and 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.

Test this techniqueNetwork AuditRun the tool

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
Support our family now