Googleが2020年11月から一部のサイトでHTTP/2もクロールするようになります。私は2016年にHTTP/2を実装してみましたが、明らかにユーザー体験上の効果が出ました。そしてこの度、GooglebotもHTTP/2プロトコルを検知するようになるとGoogleが発表していますので、そのご紹介です。
Googleの発表内容
結論から申しますと、HTTP/2を実装した全てのサイトページをGooglebotが検知するのではなく、飽くまでも任意のサイトページをクロールするようです。ですので、HTTP/2自体による直接的なSEO寄与効果は見込めません。むしろ表示速度を高める施策のひとつとして、AMPと同様に、一般的な手段として考えておく方が良いでしょう。HTTP/2にすること自体がGoogleに対して特別な何かがあるわけではありません。
要約:2020年11月から、GooglebotはHTTP/2で一部のサイトをクロールするようになります。
主要ブラウザがHTTPの次世代の改訂となるHTTP/2、略してh2のサポートを開始して以来、そのアップグレードされた最新バージョンのプロトコルでGooglebotがクロールできるかどうかWebの専門家から質問が寄せられていました。
この度2020年11月中旬より、一部のサイトでGooglebotがHTTP/2を利用したクロールをサポートする旨、発表します。
HTTP/2とは?
前述したように、HTTP/2とはインターネット上で主にデータ転送するために使用するプロトコルの次世代HTTP改訂版です。HTTP/2は、そのアーキテクチャとクライアント(ブラウザなど)、サーバーのために実装される機能により、従来のバージョンよりもはるかに堅牢で、効率的で、高速です。詳細は、developers.google.comにHTTP/2に関する長い記事があります。
今回の変更背景
大きな要因として、今回の変更によって、サーバーリソース使用量の面でクロールがもっと効率的になると予想されます。HTTP/2では、Googlebotは複数の接続を必要とする代わりに、1つのTCP接続で複数のファイルを並行して効率的に転送することが出来ます。接続数が少なければ少ないほど、サーバーとGooglebotがクロールに費やすリソースは抑えられます。
仕組み
最初の段階では、少数のサイトをHTTP/2でクロールし、リクエストの多重化などのサポート機能がある効果的なサイトから順に、少しずつ対象範囲を増やしていきます。
GooglebotがHTTP/2でクロールするか判断する上で、WebサイトがHTTP/2をサポートしているかどうか、HTTP/2でクロールすることでWebサイトとGooglebotどちらにもメリットが見いだせるかどうかを軸とします。ご利用のサーバーがHTTP/2をサポートしていて、Googlebotが自身のサイトに多くクロールしている場合は、既に接続の対象となっている可能性がありますので、何もする必要はありません。
もし、サーバーがまだHTTP/1.1しか対応していなくとも、問題ありません。このプロトコルを介してクロールすることによる大きなデメリットはありません。
HTTP/2クロールを拒否する方法
Googleが事前に行ったテストでは、HTTP/2通信によってインデックスに問題や悪影響はありませんでしたが、様々な理由からHTTP/2でのクロールを拒否したい場合があることも分かっています。これは、GooglebotがWebサイトをHTTP/2でクロールしようとした際に、サーバーに421のHTTPステータスコードで応答するように指示することで可能です。今のところ、その対応が出来ない場合は、Googlebotチームにメッセージを送ることができます(但し、一時的な解決策となるでしょう)。
GooglebotとHTTP/2について他にご質問がある場合は、Googleの想定質問集(※下記)をご覧ください。知りたい質問が見つからない場合は、Twitterやヘルプフォーラムでお知らせください。
投稿者:Jin LiangとGary
想定質問集
なぜ今Googlebotをアップグレードするのか?
GooglebotがHTTP/2をクロールするために使用しているソフトウェアが、機能するに充分なほど成長したため。
すぐにサーバーをHTTP/2にアップグレードする必要があるか?
それは考え方次第です。ただGoogleはHTTP/2をサポートしているサイトの中でも、明らかにメリットがあると判断したサイトのみクロールを切り替えます。HTTP/2によるクロールをすることで明確なメリットがない場合、GooglebotはHTTP/1.1でのクロールを継続します。
自分のサイトがHTTP/2をサポートしているか検証するには?
Cloudflareのブログ記事で、サイトがHTTP/2をサポートしているかテストできる色々な方法を紹介していますので、是非ご覧ください!
サイトをHTTP/2にアップグレードするには?
これはお使いのサーバーによって異なります。サーバー管理者またはホスティングプロバイダにご相談ください。
GooglebotにHTTP/2でクロールしてもらうにはどうすればいい?
できません。サイトがHTTP/2をサポートしている場合、HTTP/2を介してクロールされる可能性がありますが、それがサイトとGooglebotにとって有益な場合に限ります。HTTP/2でクロールしてもリソースの節約にならない場合は、HTTP/1.1でのクロールを受け続けるだけです。
なぜHTTP/2に対応しているサイトを全てHTTP/2でクロールしないのか?
私Googleの検証では、特定のサイト(例えば、QPSが非常に低いサイト)をHTTP/2でクロールすると、ほとんど何のメリットもないことが分かりました。そのため、サイトに明確なメリットがある場合にのみ、クロールをHTTP/2に切り替えることにしました。とはいえ、Googleはパフォーマンス向上に注視し続けており、将来的にはクロール基準を変更する可能性はあります。
自分のサイトがHTTP/2でクロールされているか確認する方法は?
サイトがHTTP/2上でクロールされる対象になると、Google Search Consoleに登録しているサイトオーナー向けに、クロールトラフィックの一部が、今後HTTP/2でクロールされる可能性があることを示すメッセージが通知されます。また、サーバーログを確認することもできます(例:サイトがApacheで動作している場合はaccess.logファイルで確認可能)。
GooglebotはどんなHTTP/2機能をサポートしているか?
GooglebotはHTTP/2機能のほとんどをサポートしています。中にはレンダリングに有益なものもあるのですが、サーバープッシュ機能は未だサポートしていません。
GooglebotはプレーンテキストHTTP/2(h2c:TLSで暗号化されていないHTTP/2のこと)をサポートしていますか?
いいえ、サポートしていません。HTTP/2でクロールするためには、WebサイトがHTTPSを使用し、HTTP/2をサポートしていなければなりません。これは昨今のブラウザによる取り扱いと同様です。
Googlebotは、クロールに使用するプロトコルのバージョンを決定するためにALPN拡張機能を使用するか?
ALPNは、HTTP/2を使用してクロールするサイトにのみ使用され、応答に使用できるプロトコルはh2(TLSによって暗号化されたHTTP/2)のみです。TLSの認証中にサーバーがh2以外のプロトコルバージョンで応答した場合、GooglebotはHTTP/1.1に戻ってクロールします。
HTTP/2の各機能はクロールにどのように役立つのか?
HTTP/2には多くの機能がありますが、その中でも特に優れた機能は以下の通りです。
- 多重化と同時実行:TCP接続が少ないということは、使用するクロールリソースが少なくて済むわけです。
- ヘッダの圧縮:劇的に削減されたHTTPヘッダサイズは、クロールリソースを節約します。
- サーバープッシュ:この機能はまだ有効になっていません。レンダリングには有益かもしれませんが、現時点では具体的な情報はありません。
HTTP/2機能とクロールとの関係についてもっと詳しく知りたい方は、Twitterからご質問ください。
HTTP/2を通すことで、Googlebotのクロールはより多く、より速くなるのか?
HTTP/2の主なメリットは、サーバー側とGooglebot側の両方でリソースを節約できることです。従ってHTTP/1.1のクロールかHTTP/2のクロールかによってサイトのインデックスに影響するわけではなく、サイトのクロール時間が速くなることもありません。
HTTP/2でクロールされるサイトには検索順位上のメリットはあるか?
ありません。
HTTP/2をクロールするようになると実際どうなるの?
今回のGoogleの発表をまとめると以下の通りです。
記事を読むと、おそらくYahoo! JAPANのような大規模なポータルサイトやニュースサイト、YouTubeや食べログ、SNSのようなプラットホーム等が対象になるのではないでしょうか。そうじゃないとHTTP/2にしても相互メリットは無いと判断し、GoogleはHTTP/2のクロールをしないと思います。ただ、一般的にユーザーメリットを考えてHTTP/2にすることは良いことだと思います。
Googleは飽くまでもクロール資産を考えてHTTP/2のクロール対応をするだけですので、HTTP/2が直接的なSEOメリットを生むと考えない方が良いでしょう。