An introduction to
HTTP/2 for SEOs
@TomAnthonySEO
EMAILS RUNNING OUT OF POWER
500 MILE EMAIL
Connection timeout = 6 milliseconds
Speed of light = 299 792 458 m/s
Distance = 558 miles
HTTP1 HTTP2 TAKEAWAYS
WHY HTTP/2 MATTERS
HTTP/1.1
HTTP
@TomAnthonySEO #TheSearchElite
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
@TomAnthonySEO #TheSearchElite
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
Host: www.ronburgundy.com
@TomAnthonySEO #TheSearchElite
ANATOMY OF AN HTTP/1.1 REQUEST
GET /anchorman/ HTTP/1.1
Host: www.ronburgundy.com
User-Agent: my-browser
@TomAnthonySEO #TheSearchElite
ANATOMY OF A RESPONSE
HTTP/1.1 200 OK
Content-Type: text/html HEADERS
@TomAnthonySEO #TheSearchElite
ANATOMY OF A RESPONSE
HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>
<title>Ron’s Page</title>
</head>
<body>
You stay classy, San Diego!
</body>
</html>
HEADERS
BODY
@TomAnthonySEO #TheSearchElite
1 REQUEST IS FOR 1 FILE
@TomAnthonySEO #TheSearchElite
HTTP TRUCKS!
Imagine an HTTP request is a truck, sent from your
browser to a server to collect a web page.
@TomAnthonySEO #TheSearchElite
TCP/IP & HTTP
TCP is the road; the transport layer for HTTP.
@TomAnthonySEO #TheSearchElite
HTTP REQUESTS
Outbound trucks carry an HTTP request.
Request
@TomAnthonySEO #TheSearchElite
HTTP RESPONSES
Returning trucks carry an HTTP response.
Response
@TomAnthonySEO #TheSearchElite
PROBLEM! ANYONE CAN LOOK INTO PASSING TRUCKS
With HTTP, people could look into the trucks,
and find out all your secrets!!
@TomAnthonySEO #TheSearchElite
HTTPS
With HTTPS the road is the same, but we drive through a tunnel.
@TomAnthonySEO #TheSearchElite
HTTPS REQUESTS ARE IDENTICAL TO HTTP
The trucks in the tunnel are still exactly the same.
@TomAnthonySEO #TheSearchElite
HTTP sounds great &
HTTPS is secure.
Why change?
?
PROBLEM #1: SMALL REQUESTS/RESPONSES STILL TAKE TIME
Even the fastest trucks can only
go at the speed of light!
@TomAnthonySEO #TheSearchElite
LATENCY & ROUND TRIP TIMES
Longer roads mean it takes longer
for a response to come back.
@TomAnthonySEO #TheSearchElite
PROBLEM #2: PAGES MADE OF MANY FILES (MANY REQUESTS)
@TomAnthonySEO #TheSearchElite
NUMBER OF ASSETS ON PAGES HAS INCREASED
@TomAnthonySEO #TheSearchElite
OFTEN 50-100 SEPARATE HTTP REQUESTS
@TomAnthonySEO #TheSearchElite
PROBLEM #3) MOBILE CONNECTIONS INCREASE LATENCY
@TomAnthonySEO #TheSearchElite
What does all of
this add up to?
!
BROWSER COLLECTING A PAGE
Imagine the browser wants to render a page.
@TomAnthonySEO #TheSearchElite
EVERY ROUND TRIP TAKES TIME
50ms to get to the server.
@TomAnthonySEO #TheSearchElite
EVERY ROUND TRIP TAKES TIME
Server takes 50ms
to make page.
@TomAnthonySEO #TheSearchElite
EVERY ROUND TRIP TAKES TIME
50ms to get back to the browser.
@TomAnthonySEO #TheSearchElite
HTML RESPONSE PROMPTS MORE ROUND TRIPS
Once it has the HTML the browser
discovers it needs more files.
@TomAnthonySEO #TheSearchElite
1 CONNECTION CAN HANDLE 1 REQUEST
Every truck needs its own road.
@TomAnthonySEO #TheSearchElite
LUCKILY BROWSERS CAN HANDLE MULTIPLE CONNECTIONS
We can have more roads and more trucks.
@TomAnthonySEO #TheSearchElite
BUT CONNECTIONS TAKE TIME TO OPEN
Think of it as a steamroller laying down the road.
@TomAnthonySEO #TheSearchElite
BUT CONNECTIONS TAKE TIME TO OPEN
Opening a new connection requires a full round trip,
before we can send a truck down it.
@TomAnthonySEO #TheSearchElite
BROWSERS TYPICALLY OPEN ABOUT 6 CONNECTIONS MAX
Opening more has diminishing returns,
and other issues. @TomAnthonySEO #TheSearchElite
THIS MEANS SOME REQUESTS HAVE TO WAIT
Trucks have to queue up for a road.
@TomAnthonySEO #TheSearchElite
BLOCKED REQUESTS
Only 6 requests being run at a time.
@TomAnthonySEO #TheSearchElite
DECREASING LATENCY IMPROVES THINGS A LOT
Short roads reduce truck waiting times,
and dramatically improve load times.
source: https://hpbn.co/primer-on-web-performance/ @TomAnthonySEO #TheSearchElite
THIS IS WHY PEOPLE MADE SPRITE SETS
@TomAnthonySEO #TheSearchElite
CDNS MOVE THINGS CLOSER & REDUCE LATENCY
HTTP/2 to
the rescue!
MULTIPLEXING ALLOWS MANY REQUESTS PER CONNECTION
Now multiple trucks can be on the road at once!
@TomAnthonySEO #TheSearchElite
HTTP/1.1 WATERFALL - BLOCKED REQUESTS
@TomAnthonySEO #TheSearchElite
HTTP/2 WATERFALL - NO BLOCKING
@TomAnthonySEO #TheSearchElite
HTTP2 REQUESTS ARE STILL THE SAME
The content of the trucks are still the same.
Just a new road / traffic management system!
@TomAnthonySEO #TheSearchElite
HTTP/2 FORMAT IS THE SAME AS HTTP/1.1
GET /anchorman/ HTTP/2
host: www.ronburgundy.com
user-agent: my-browser
@TomAnthonySEO #TheSearchElite
HEADER & BODY
HTTP/2 200
content-type: text/html
<html>
<head>
<title>Ron’s Page</title>
</head>
<body>
You stay classy, San Diego!
</body>
</html>
HEADERS
BODY
@TomAnthonySEO #TheSearchElite
HTTP/2 RESPONSE CODES UNCHANGED
200 404301
@TomAnthonySEO #TheSearchElite
HTTP2 ALLOWS ‘SERVER PUSH’
With Server Push, a single request is sent,
but the server sends multiple responses.
@TomAnthonySEO #TheSearchElite
HTTP2 ALLOWS ‘SERVER PUSH’
If the server knows the HTML requires other assets,
it can send them back with the HTML.
@TomAnthonySEO #TheSearchElite
HTTP2 REQUIRES HTTPS
In order to get the better traffic management, you need a tunnel!
@TomAnthonySEO #TheSearchElite
How can I
get HTTP/2?
?
Your devs don’t need to do anything!
The server does all the work.
CDNS CAN DO IT FOR YOU!
HTTP/2 between
visitors and CDN
HTTP/1.1 between
CDN and Server
Does Google notice
if I have HTTP/2?
?
GOOGLEBOT DOES NOT CRAWL
https://moz.com/blog/challenging-googlebot-experiment
@TomAnthonySEO #TheSearchElite
THUS IT WON’T IMPROVE SCORES IN GSC
Google’s WRS doesn’t use it at all, currently.
@TomAnthonySEO #TheSearchElite
BUT THAT ISN’T HOW GOOGLE EVALUATE SPEED
@TomAnthonySEO #TheSearchElite
CHROME USER EXPERIENCE REPORTS
HTTP/2
TAKEAWAYS
It can be a quick performance win.
CDNs can make deployment ‘easy’.
HTTP/2 requires HTTPS*.
Likely to see last holds outs migrating to HTTPS.
(* in all major browsers)
Enable the ‘Protocol’ column.
SPDY was HTTP/2’s predecessor.
It is being retired.
Chrome Extension:
https://dis.tl/showhttp2
HTTP/1.1 and HTTP/2 exist together.
Browsers will fall back to HTTP/1.1.
Moving to HTTP/2 is
not a migration.
Googlebot won’t benefit,
but Google will notice.
Thank you!
@TomAnthonySEO

An introduction to HTTP/2 for SEOs