Googlebotは最初の2MBまでをクロールする、15MBではなかった?→Googleの一般的なクローラーは15MB上限

[レベル: 上級]

Googlebot がクロールするファイルのサイズ上限がドキュメントで明確化されました。

これまでは、「最初の 15MB まで」をクロールすると Google は説明していました。
これを、「最初の 2MB まで」に改めました。

なお、この変更はドキュメント上の更新です。
仕様変更により「15MB → 2MB」へとサイズが縮小されたわけではありません。

Google のクローラーとフェッチャー

まず、前提として、Google はいくつもの種類のクローラー (crawler) およびフェッチャー (fetcher) を運用しています。

クローラーには、ウェブページを取得するおなじみの Googlebot や、画像を取得する Googlebot-Image、ニュースコンテンツを取得する Googlebot-News などが含まれます。

一方、フェッチャーは、インデックスのためのコンテンツの取得というよりも、ユーザーのリクエストに基づいて URL にアクセスするツールやサービスの機能の一部です。
Search Console のサイト確認の際にサイトにアクセスする Google-Site-Verification やチャット メッセージで送信された URL のリンク プレビューを生成するために使用される GoogleMessages が該当します。

Google が運用するクローラーとフェッチャーはドキュメントで公開されています。

要は、Google はたくさんの種類のクローラー/フェッチャーを運用しているのです。
Googlebot は単にファミリーの一員にすぎません。

標準クローラー/フェッチャーの上限は 15MB、Googlebot の上限は独自の 2MB

ここからが本題です。

クローラーとフェッチャーを解説するドキュメントに次のセクションが追加されました。

ファイルサイズの上限

Google のクローラーとフェッチャーは、デフォルトでは、ファイルの最初の 15 MB のみをクロールします。この上限を超えるコンテンツは無視されます。プロジェクトごとに、クローラーとフェッチャー、およびさまざまなファイルタイプに対して異なる上限を設定できます。たとえば、Googlebot のようなクローラーに対して、HTML よりも PDF のファイルサイズの上限を大きくすることができます。

※強調は僕による

また、Googlebot を解説するドキュメントのクロール上限に関する説明は次のように更新されました。

Google 検索のクロールでは、Googlebot はサポートされているファイル形式の最初の 2 MB と、PDF ファイルの最初の 64 MB をクロールします。レンダリングの観点から見ると、HTML で参照される各リソース(CSS、JavaScript など)は個別に取得され、各リソースの取得には、他のファイル(PDF ファイルを除く)に適用されるのと同じファイルサイズの制限が適用されます。
上限に達すると、Googlebot はフェッチを停止し、すでにダウンロードされたファイルの一部のみをインデックス登録の対象として送信します。ファイルサイズの上限は、非圧縮データに適用されます。Google の他のクローラー(動画用 Googlebot、画像用 Googlebot など)では、異なる上限が存在する場合があります。

※強調は僕による

まずここで、上限が 15MB なのか 2MB なのか、はたまた 64MB なのか混乱します。

こういうことです。

  • クローラー/フェッチャーの標準のクロール上限:15MB
  • Googlebot に設定されたクロール上限:2MB
    • PDF は 64MB

特に何も注釈がない限りは、Google のクローラー/フェッチャーはファイルの最初の 15MB までを取得します。
それ以降は無視されます。

しかし Googlebot には、独自の上限が設けられています。
HTML(のほかサポートしているフラット ファイル形式)の最初の 2MB までを取得します。
PDF は 64MB までです。
これ以降は無視されます。
※すずき補足:サポートするフラットファイルに JavaScript/CSS がリストされていないが、説明を読む限りでは同じ 2MB だと思われる。

Googlebot-Image がクロールする画像や、Googlebot-Video がクロールする動画のファイルサイズの上限は、15MB よりもずっと大きいに違いありません(公式情報なし)。

これまでの Googlebot の 15MB 上限は誤り

これまで、Googlebot のクロール上限も 15 MBだと Google は説明していました。

ドキュメントの更新前の説明はこのようでした。

Googlebot は、HTML ファイルまたはサポートされているテキストベースのファイルの最初の 15 MB の部分をクロールできます。HTML で参照されるリソース(CSS、JavaScript など)は個別に取得され、取得ごとに同じファイルサイズの制限が適用されます。ファイルの最初の 15 MB を超えると、Googlebot はクロールを停止し、最初の 15 MB のみをインデックス登録の対象として送信します。ファイルサイズの上限は、非圧縮データに適用されます。Google の他のクローラー(動画用 Googlebot、画像用 Googlebot など)では、制限が異なる場合があります。

※強調は僕による

公式ブログでも、15MB上限についての補足記事を公開しています。

注意したいのは、これまで 15MB だった上限を、インフラ仕様の変更により 2MB に縮小したわけではないということです。
もともと Googlebot には独自の上限として 2MB が設定されていたのに、標準の 15MB だと説明してしまっていたのです。

つまり標準のクローラーの上限と、Googlebot に設定された上限を区別せずに説明していました。

Google の中の人に直接確認しています。

どうして正確でなかったのかの理由はいつか語られるかもしれません。

とにもかくにも、冒頭でも述べたように、正確な情報をドキュメントに反映しました。
システムの変更では決してありません。

2MB 上限でも心配不要

2MB 上限だったとしてもほとんどのサイトでは問題は起きません。
一般的なサイトで、HTML が 2MB を超えることはまずないといっていいでしょう。
これまでも 2MB 上限だったのにきちんとクロールされていましたよね。
(ちなみに、2MB 以上がクロールされない現象が報告されたことがきっかけで、ドキュメント間違いが発覚した)。

指定した URL のファイル、リソースのファイルサイズを簡易的に調べるツールがあります。
このツールで、僕のブログのトップページの HTML のファイルサイズを計りました。

G-Bot Limit Checker

0.158MB とでました。
2MB にはほど遠い数値です。

ネットワークで転送されるリソースの正確なファイルサイズは、ブラウザのデベロッパーツールで確認できます。
やり方を、今日公開の Web担当者Forum の連載コラムで解説しています。

Dev Tools
⚠️すずき注:クロールのファイルサイズ上限は圧縮前のファイルサイズが対象。デベロッパーツールの 2 段になっている数値の下段が実際のファイルサイズ

調べてみれば、HTML ファイルのサイズが 2MB までにずいぶん余裕があることがはっきりするでしょう。

この記事では、Googlebot のクロールリミットがドキュメント上で 15MB から 2MB へと更新された件を解説しました。
SEO に取り組むのであれば知っていたほうがいい技術仕様ではあるけれど、普段は意識する必要はありません。
まして、減ったことに不安を感じる必要も普通はありません。