GooglebotがHTTP/2を2020年11月からサポート開始、より効率的なクロールを可能に

[レベル: 上級]

HTTP/2 でのクロールを Googlebot がサポートするようになります。
一部のサイトを対象に 2020 年 11 月から開始する予定です。

ウェブマスター向け公式ブログでアナウンスがありました。

効率的で高速な読み込みを実現する HTTP/2

HTTP (Hyper Text Transfer Protocol) は、ウェブサーバーとクライアント(例: ブラウザ)が通信するための規格(プロトコル)です。

現在幅広く使われているのは HTTP/1.1 です。
次バージョンの HTTP/2 は、HTTP/1.1 よりも効率的に通信できます。
結果として、リソースの読み込みも高速になります。
そのほかにも、さまざまな機能改良がなされています。

HTTP/2 に関する詳しいことは、[HTTP/2とは] などのクエリで調べてください(もっとも、HTTP/2 を知らない人にとってはこのニュースはあまり関係ないようにも思いますが)。

一部のサイトを対象に 2020 年 11 月から試験的に HTTP/2 をサポート

Googlebot が HTTP/2 をサポートすることでクロールを効率的に行なえます。

といっても、あらゆるサイトが HTTP/2 クロールで恩恵を受けるわけではありません。
HTTP/2 による利点があるのは、一般的に言えば、大規模サイトです。
このブログも含めて、数百ページや数千ページ程度のサイトでは HTTP/1.1 クロールと比較して、何かが変化するということはないでしょう。

こうした理由から、利点があると Google が判断したサイトを対象に HTTP/2 で Googlebot がクロールします。

HTTP/2 クロールは、2020 年 11 月から試験的に運用が始まります(テストはすでに実行済み)。

効率的なクロール

HTTP/2 クロールの対象になったサイトを Googlebot は効率的にクロールできます。

クロール頻度が増すということではありません。
たとえば、1 つのコネクションで複数のリクエストを処理できる HTTP/2 の特徴によりサーバーにかける負荷を抑えられます。
同時に、Googlebot も 1 つのコネクションで複数のリソースを取得できるのでクロール効率が上がります。
Googlebot 自身の負荷も当然下がります。

HTTP/2 にアップグレードすべきか?

サーバーを HTTP/2 に対応すべきかどうかですが、多くのブラウザがサポートしているので、可能であれば対応したほうがいいでしょう。
ページの読み込み速度が向上するからです(Core Web Vitals の LCP 改善にも役立つ)。

ただし、Googlebot が HTTP/2 で通信するかどうかは、すでに述べたように Google が判断します。
サイトが HTTP/2 で配信していても HTTP/1.1 のままでクロールすることは十分ありえます。

どうやって HTTP/2 にアップグレードするかどうかはサーバー管理者に相談してください。
レンタルサーバーを利用している場合は、そのレンタルサーバーが HTTP/2 をサポートしているかどうかを問い合わせてください。
すでに、HTTP/2 をサポートしているレンタルサーバーも多いはずです。

HTTP/2 で通信しているかどうかは、たとえば Chrome のデベロッパー ツールの [Network] で調べられます。

Chrome  デベロッパー ツールの [Network] で HTTP/2 を確認

[Protocol] が h2 になっていれば、HTTP/2 で通信しています([Protocol] のカラムがないときは、右クリックで選択して表示できる)。

Googlebot が HTTP/2 でクロールしているか調べるには

上で紹介したように Chrome が HTTP/2 で通信しているかどうかはデベロッパー ツールで調べられました。

Googlebot が HTTP/2 で通信している場合は、Search Console にメッセージが届くそうです。
サーバーログで確認することもできます。

Googlebot が HTTP/2 で通信するようにサイト側からリクエストすることはできません。
何度も述べているように、HTTP/2 を使うかどうかは Google が判断します。

サーバープッシュはサポートせず

1 つのコネクションでの複数リクエスト処理やヘッダーを圧縮する HTTP/2 が持つ機能を Googlebot はサポートしますが、 Server Push(サーバー プッシュ)はサポートしないとのことです。

サーバー プッシュはクライアント(ブラウザ)からのリクエストなしに サーバー側から重要なリソースを能動的に配信する、HTTP/2 のもう 1 つの特筆すべき機能です。

Googlebot にサーバー プッシュするとコネクション エラーが発生するそうで、クロール効率が向上するどころかむしろクロール バジェットを浪費してしまうようです。
Googlebot にはサーバー プッシュを使わないように構成したほうがよさそうです。

HTTP/1.1 でも問題なし

従来の HTTP/1.1 でのクロールを Googlebot は継続します。
というより、大多数のサイトは HTTP/1.1 クロールのままです。

HTTP/2 クロールになったからといって、ランキングが上がるわけではありません。
クロール頻度も上がりません。

クロール時におけるサーバーと Googlebot の負荷を抑え、クロール効率が向上します。
結果的に、新規ページのインデックス スピードが上がるといったような効果も期待できるかもしれません。
しかし少なくとも HTTP/2 だからといってそれが理由で検索で有利になることはありません。

最後の最後でこんなことを言うのもなんですが、ほとんどのサイトでは HTTP/2 クロールを気にかける必要はありません。
それでも、もしあなたが大規模サイトの管理者であれば気にかけたい変更です。

Googlebot の HTTP/2 サポートの完全な内容は公式ブログのアナウンスを参照してください。