Does your server speak HTTP/2 so crawlers can fetch resources in parallel?

HTTP/2 lets crawlers load HTML, CSS, JavaScript, and images over one connection instead of opening many.

Scan your site

What this signal tests

We check whether your server supports HTTP/2, the protocol upgrade introduced in 2015 that replaces HTTP/1.1 for most modern traffic. HTTP/2 uses a single connection to multiplex many requests simultaneously (multiplexing), avoiding the head-of-line blocking that slows down HTTP/1.1. We detect support by reading the ALPN identifier negotiated during the TLS handshake - pass if it returns h2.

Why it matters for your visibility in AI

AI crawlers like GPTBot, ClaudeBot, and PerplexityBot fetch many resources per page: the HTML itself, then linked CSS, JavaScript, JSON-LD scripts, and sometimes images for multimodal models. Over HTTP/1.1, those requests queue serially or open many parallel connections; over HTTP/2, they share one fast connection. If your site is on HTTP/1.1, a crawler that wants ten resources from your page may take three times longer to finish, increasing the chance of timeout and reducing the number of pages it can fetch in a session. HTTP/2 has been the web standard for nearly a decade. Every mainstream server (nginx, Apache, Caddy, IIS) and every major CDN supports it. Sites still on HTTP/1.1 today are usually behind aging configuration that has not been touched since launch.

Pass criteria at a glance

Criterion Passes when
Negotiated protocol == 'h2'.

How we test it

We open a TLS connection to your domain on port 443 and offer two protocols via the ALPN extension: h2 (HTTP/2) and http/1.1. Your server picks one. If it picks h2, the check passes. ALPN is part of the standard TLS handshake, so this happens transparently for every modern browser and crawler - we simply read the result.

Show technical detection method
TLS connection to host:443 with ALPN offering [h2, http/1.1]; read negotiated protocol.

If your site fails: how to fix it

  1. If you use a CDN such as Cloudflare, Vercel, Fastly, or AWS CloudFront, HTTP/2 is on by default - no action needed. Move your origin behind one of these and the upgrade is automatic.
  2. On nginx, add http2 to the listen directive: listen 443 ssl http2;. Reload nginx and verify with curl -I --http2 https://yourdomain.com/ that the response shows HTTP/2.
  3. On Apache, load mod_http2 and add Protocols h2 http/1.1 to your virtual host. Restart Apache and confirm using the same curl command.
  4. On Caddy, HTTP/2 is enabled by default with TLS. No config change is required - confirm via curl.
  5. If your origin uses a managed platform (Heroku, Render, Fly, Railway), HTTP/2 is typically already on for public traffic. Verify, then move on.

Quick facts

MaturityESTABLISHED
Weightmedium
CategoryPerformance

Primary sources

Related signals

Frequently asked questions

Do I need a CDN?

Not strictly, but it is the easiest way to enable HTTP/2 (and HTTP/3) without touching your server config. Cloudflare's free tier enables both protocols for any domain you point at it, in addition to caching and DDoS protection.

Is HTTP/2 widely supported?

Yes. Every browser since 2015, every major crawler, and every AI bot vendor supports HTTP/2. There is no compatibility risk to enabling it - clients that do not support it negotiate HTTP/1.1 via ALPN automatically.

Should I jump straight to HTTP/3?

Enable HTTP/2 first, since support is universal. Then add HTTP/3 (which is covered by a separate signal) as a further upgrade. HTTP/3 still benefits from HTTP/2 as a fallback for clients that cannot negotiate QUIC.

Will fixing this also improve my Google ranking?

Indirectly, yes. HTTP/2 reduces page load time, which improves Largest Contentful Paint and overall Core Web Vitals. The same change helps AI crawler completion rates and ranking signals at the same time.

Run your own scan

Run a free scan and see how your site grades across all 155 AI-readiness signals.

Scan your site