Googlebotのクロールバジェット最適化は必要なのか? そもそもクロールバジェットとは?

[レベル: 上級]

Googleウェブマスター向け公式ブログで、GoogleのGary Illyes(ゲイリー・イリェーシュ)氏が、Crawl Budget(クロール バジェット)について詳細に解説しました。
要点を絞って、この記事でまとめます。

完全な翻訳は、日本語版ブログで公開されるのを待ちましょう。

クロール レート リミット(クロール率上限)

サイトを訪問するユーザーの体験を損ねないように、ページを取得する頻度の最大値・上限を特定のサイトに対して設定している。この最大値設定を、Googleでは”crawl rate limit”(クロール レート リミット、クロール率上限)と呼んでいる。

crawl rate limitは、簡単に言えば、Googlebotがサイトに同時に接続する数であり、次のページ取得までの待機時間も意味する。

crawl rate limitは、次のような要因で上がったり下がったりする。

  • クロールの健全性: 非常に速くサイトが反応する状態が続けば上限は上がり、クロールのための接続が増える。逆にサイトが遅くなったりサーバエラーを返したりすれば、最大値は下がりGooglebotのクロールは減る。
  • Googlebot のクロール速度の変更: サイト管理者はクロール速度を変更できる。ただし速度を上げてもクロールが自動的に増えるわけではないことに注意。

クロール デマンド(クロール需要)

クロール レート リミットに到達しなくても、インデックス作成の要求がなければGooglebotの活動は減る。
[鈴木メモ] “demand”(デマンド)は「要求」の意。したがって、”crawl demand”(クロールデマンド)は、クロールする必要性があるかどうかのこと。またクロール デマンドはURL単位とのことです。

次の2つが、クロール デマンドを決定するのに重要な要因。

  • ポピュラリティ(人気度): 人気があるURLは最新の状態をインデックスで保つためにより頻繁にクロールされる傾向にある
    [鈴木メモ] “人気があるURL”とは、基本的にリンクが張られているページのことを指すのでしょうね。
  • 鮮度: インデックスされたURLの情報が古くならないようにする。
    [鈴木メモ] 古い情報がインデックスされたままにならないように、ページが更新されていないかどうかをチェックするために定期的にクロールすることですね。

サイト移転のようなサイト全体の変更もクロールデマンドを増加させるきっかけになる。

クロール レート と クロール デマンド を両方合わせて、GooglebotがクロールできるURLおよびクロールしようとするURLとして、Googleではクロールバジェットとして定義している。

クロール バジェットに影響する要因

価値が低いURLがたくさんあるとクロールやインデックスに悪い影響を与えることが、分析からわかっている。
価値が低いURLは、程度が高い順に、次のようなカテゴリに分類される。

  1. ファセットナビゲーションセッションID
    [鈴木メモ] ファセットナビゲーションの日本語訳記事はこちら
  2. サイト内の重複コンテンツ
  3. ソフト エラー ページ
    [鈴木メモ] ソフト404エラーはヘルプ記事で参照可能
  4. ハッキングされたページ
  5. 無限スペースとプロキシ
    [鈴木メモ] “無限スペース”は、パラメータや相対URLのミスで膨大な量のURLが不適切に、自動的に生成されてしまう状態
  6. 質が低いコンテンツ、スパムのコンテンツ

こうしたページがあるとサーバーのリソースが無駄に利用され、価値があって本当にクロールされるべきページがクロールされなくなってしまう。結果として、優れたコンテンツの発見の遅れに繋がることがある。

よくある質問

Q. サイトのスピードはクロールバジェットに影響するか? エラーも影響するか?

A. サイトのスピードが速ければ、より多くのコンテンツを同じ数の接続でGooglebotは取得できる。反対に、500番台のエラーや接続のタイムアウトが多数発生するとクロールは遅くなる。

Q. クロールはランキング要因か?

A. クロールが増えることが、必ずしもランキング上昇につながるとは限らない。検索結果を作り上げるためにはクロールが必要だが、クロールはランキング要因ではない。
[鈴木メモ] たくさんクロールさせてもランキングは上がりません。とはいえ、クロールしてもらわないと検索結果には出ませんね。クローリングとランキング(とインデッキシング)は別プロセスです。

A. alternateのURLや埋め込みコンテンツもクロールバジェットに含まれるのか?

A. 基本的に、すべてのURLはクロールバジェットに加えられる。AMP や hreflang の alternate 要素も、CSS や JavaScript のような埋め込みコンテンツもクロールバジェットに含まれる。長いリダイレクト チェーンもクロールに悪く影響する。
[鈴木メモ] “リダイレクト チェーン”はリダイレクトを何度も繰り返すこと

Q. “crawl-delay” でGooglebotを制御できるか?

robots.txtでの”crawl-delay”をGooglebotは処理しない。

Q. nofollowはクロールバジェットに影響するか?

A. 状況による。どんなURLであってもクロールバジェットに影響する。nofollowを付けたとしても、ほかのページからnofollowが付いていないリンクが張られていればクロールされうる。

以上です。

SEOの世界でよく使われるクロール バジェットという用語そのものはGoogleでは使われていません。
またSEOの世界でのクロール バジェットに正確に合致する仕組みもGoogleには存在しません。
それにも関わらず、クロールバジェットと、その効率化については頻繁に語られます。

誤解を解き、俗に言うクロールバジェットが実際にはどのようなものであるかをゲイリーは説明したのです。

冒頭でゲイリーは、非常に大切なことを述べています。

First, […] crawl budget […] is not something most publishers have to worry about.

まず、クロールバジェットは、ほとんどのパブリッシャー(サイト管理者)が心配するものではない。

WikipediaやAmazon、はてなブックマークのように何百、何千というページが毎日公開され、何百万、何千万というページが存在しているなら、クロールバジェットの最適化が必要になってくるかもしれません。

しかしながら、僕のブログも含めて一般的なサイトでは、まず気にかける必要はないでしょう。

サーバの反応が遅い、サーバーエラーが頻発する、無駄なURLを大量に生成するなどGooglebotクロールを阻害する要因は作り上げるべきではありません。
ですが、”クロールバジェットの最適化”に夢中になる必要がないことも確かです。

【UPDATE】
日本語版公式ブログで翻訳記事が公開されました。