大規模なサイト所有者向けのクロールの割り当て管理ガイド

このガイドでは、大規模かつ頻繁に更新されるサイトの Google のクロールを最適化する方法について説明します。

サイトにあまりページがなく、頻繁に更新されない場合や、公開日と同じ日にクロールされると考えられる場合は、このガイドを読む必要はありません。サイトマップを最新の状態に保ち、定期的にインデックス カバレッジを確認するだけで十分です。

しばらくの間使われているが、インデックスに登録されていないコンテンツがある場合は、別問題です。URL 検査ツールを使用して、ページがインデックスに登録されていない理由を確認してください。

このガイドの対象読者

これは上級者向けのガイドであり、以下のサイトを対象としています。

  • 大規模なサイト(100 万ページ以上)で、コンテンツの更新頻度が中程度(1 週間に 1 回)の場合
  • 中規模以上のサイト(10,000 ページ以上)で、(日常的に)コンテンツがめまぐるしく変更される場合

クロールの一般理論

ウェブはほぼ無限に近い空間であるため、利用可能な URL をすべて調査してインデックスに登録するとなれば、Google の能力を超えることになります。そのため、Googlebot が 1 つのサイトをクロールできる時間には限界があります。Google がサイトのクロールに費やす時間とリソースは、通常、サイトのクロールの割り当てと呼ばれます。サイト上でクロールされたすべてのページが必ずしもインデックスに登録されるわけではありません。各ページを評価、統合、査定して、クロール後にインデックスに登録するかどうかを判断する必要があります。

クロールの割り当ては、クロール能力の上限とクロールの必要性の 2 つの要素によって決まります。

クロール能力の上限

Google では、Googlebot によってご利用のサーバーに負担をかけることなく、サイトをクロールしたいと考えています。Googlebot では、負担をかけないためのクロール能力の上限を計算します。計算では、Googlebot でサイトのクロール時に使用可能な同時並行接続の最大数と、次回の取得までに必要な待ち時間が考慮されます。また、サーバーに過負荷をかけずに重要なコンテンツ全体をカバーするように配慮されます。

クロール能力の上限は、いくつかの要因に基づいて上下することがあります。

  • クロールの状態: しばらくの間サイトが迅速に応答している場合はクロール頻度の上限が上がるので、クロール時に使用可能な接続の数が増えます。サイトの応答が遅くなった場合やサーバーエラーが返された場合はクロール頻度の上限が下がり、Googlebot によるクロールが減ります。
  • Search Console でサイト所有者が設定する制限: ウェブサイトの所有者は、自身のサイトについて Googlebot によるクロールを減らすことができます。ただし、クロール頻度の上限を高く設定しても、自動的にクロールが増えるわけではありません。
  • Google のクロール上限: Google には多数のマシンがありますが、どのマシンでもクロール頻度に上限があります。これまでどおり、現在のリソースに従って選択する必要があります。

クロールの必要性

Google では通常、他のサイトと比較して、クロールする時間、更新頻度、ページの品質、関連性を考慮して、サイトのクロールに必要なだけの時間を費やしています。

クロールの必要性を決定する重要な要素は次のとおりです。

  • 検出された URL 群: Googlebot は、ユーザーの指示がなければ、サイト上の認識している URL のすべてまたはほとんどをクロールしようとします。多くの URL が重複している場合や、他の理由(削除されている、または重要でない URL など)でクロールされたくない場合、サイトのクロールに費やす時間の多くが無駄になってしまいます。これは最も確実に管理できる要素です。
  • 人気度: インターネット上で人気の高い URL ほど、Google のインデックスで情報の新しさが保たれるよう頻繁にクロールされる傾向があります。
  • 古さ: Google のシステム側からは、変更の反映に十分な頻度でドキュメントを再クロールしたいと考えています。

また、サイトの移転といったサイト全体のイベントでは、新しい URL のコンテンツをインデックスに再登録するために、クロールの必要性が高まることがあります。

まとめ

こうしたクロール能力とクロールの必要性を併せて考えると、サイトに対するクロールの割り当ては、Googlebot によるクロールが可能であり、かつクロールが必要な URL セットであると定義できます。クロール能力の上限に達していない場合でも、クロールの必要性が少なければ、Googlebot によるサイトのクロールは少なくなります。

おすすめの方法

以下のおすすめの方法に沿って、クロールの効率を最大化します。

  • URL 群を管理する: 適切なツールを使用して、クロールするページとしないページを Google に指示します。Google がインデックス登録に適さない URL に時間をかけすぎている場合、Googlebot は、サイトの残りの URL を確認しなくても問題ないと判断することがあります(確認する必要があると判断した場合は、割り当てを増やします)。
    • 重複コンテンツを 1 つにまとめる: 重複コンテンツを除外して、一意の URL ではなく一意のコンテンツのみをクロールするようにします。
    • インデックス登録されたくない URL のクロールをブロックする: ユーザーにとっては重要でも、検索結果に表示させたくないページもあります。たとえば、リンクされているページで情報が重複している無限スクロール ページや、並び方が違うだけの同一ページなどです。最初の箇条書きに記載したように 1 つにまとめることができない場合は、robots.txt または URL パラメータ ツール(URL パラメータでアクセスできる重複コンテンツの場合)を使用して(検索上)重要でないページをブロックします。
    • ページが完全に削除されている場合、404 / 410 を返す: Google は認識している URL を無視することはありませんが、404 は対象の URL を再度クロールしないよう強く示唆するものです。ただし、ブロックされた URL はもっと長くクロールキューに残り、ブロックが削除されると再クロールされます。
    • ソフト 404 を削除する: ソフト 404 は引き続きクロールされるため、割り当てが無駄になります。ソフト 404 エラーについては、インデックス カバレッジ レポートをチェックしてください。
    • サイトマップを最新の状態に保つ: Google は定期的にサイトマップを読み取っているので、Google にクロールさせたいコンテンツはすべてサイトマップに含めてください。更新したコンテンツがサイトにある場合は、<lastmod> タグを含めることをおすすめします。
    • 長いリダイレクト チェーンを避ける: クロールに悪影響を及ぼす長いリダイレクト チェーンは避けます。
  • ページの読み込みを効率化する: Google がより高速にページを読み込んでレンダリングできるようになると、サイトからより多くのコンテンツを読み取れる可能性があります。
  • サイトのクロールをモニタリングする: クロール時にサイトの可用性に関する問題が発生していないかをモニタリングし、クロールを効率化する方法を探します。

サイトのクロールとインデックス登録のモニタリング

サイトのクロール プロファイルをモニタリングする手順は次のとおりです。

  1. Googlebot において、サイトの可用性に関する問題が発生していないかを確認します
  2. クロールされていないが、クロール対象とすべきページがあるかどうかを確認します
  3. 今より速やかにクロールされるべきコンテンツがサイトにないかを確認します
  4. サイトのクロール効率を向上させます
  5. サイトの過剰クロールに対処します

1. Googlebot において、サイトの可用性に関する問題が発生していないかを確認する

サイトの可用性を改善しても、クロールの割り当てが増えるとは限りません。前述のとおり、Google はクロールの必要性に基づいて最適なクロール頻度を決定します。しかし、可用性の問題は、Google がサイトをクロールしようとしたときにクロールすることを妨げる原因になります。

診断:

クロールの統計情報レポートを使用して、サイトに関する Googlebot のクロール履歴を確認します。このレポートには、Google がサイトで可用性の問題を検出した日時が表示されます。サイトに関する可用性のエラーや警告が報告されている場合、ホストの可用性グラフで、Googlebot のリクエスト件数が赤色の上限を超えているインスタンスを探し、グラフをクリックして失敗した URL を確認して、サイトの問題と結び付けてみてください。

対応:

  • 可用性の問題を検出して対処する方法については、クロールの統計情報レポートに関するドキュメントをご覧ください。
  • クロールされたくないページのクロールをブロックしますURL 群の管理をご覧ください)。
  • ページの読み込み速度とレンダリング速度を上げますサイトのクロール効率を向上させるをご覧ください)。
  • サーバー能力を増強します。Google が常にサービス能力の上限でサイトをクロールしているように見えても、必要にもかかわらずクロールまたは更新されていない重要な URL がある場合は、より多くのリソースを提供することで、Google がサイトのページをより多くリクエストできるようになります。クロールの統計情報レポートでホストの可用性の履歴を調べ、Google のクロール頻度が頻繁に上限に達していないかを確認します。上限に達している場合は、1 か月間サービス リソースを増やして、その期間にクロール リクエストが増えたかどうかを確認します。

2. クロールされていないが、クロール対象とすべきページがあるかどうかを確認する

Google は、高品質でユーザー価値の高いコンテンツをすべてインデックスに登録するために、サイトに必要なだけの時間を費やしています。Googlebot が重要なコンテンツをクロールできていないとお考えの場合、それは Googlebot がコンテンツを把握していないか、コンテンツが Google からブロックされているか、サイトの可用性によって Google のアクセスが調整されている(あるいは Google がサイトに負荷をかけないようにしている)かのいずれかです。

診断:

Search Console では、サイトのクロール履歴を URL またはパスでフィルタして確認することはできません。しかし、サイトログを調べると、特定の URL が Googlebot によってクロールされているかどうかを確認できます。このクロールされた URL がインデックスに登録されているかどうかは別問題です。

ほとんどのサイトでは、新しいページが認識されるまでに数日かかります。ニュースサイトなど、時間的制約のあるサイトを除き、ほとんどのサイトでは URL がすべて同じ日にクロールされるとは限りません。

対応:

サイトに追加したページが十分に時間が経過してもクロールされない場合、その原因は、Google がページを認識していない、コンテンツがブロックされている、サイトが処理能力の限界に達している、クロールの割り当ての対象外である、のいずれかです。

  1. 新しいページについて Google に指示する: 新しい URL を反映するようにサイトマップを更新します。
  2. robots.txt ルールを調べて、ページが誤ってブロックされていないことを確認します。
  3. クロールされないページのすべてに URL パラメータが含まれている場合、URL パラメータ ツールの設定が原因でページが除外された可能性があります。残念ながら、そのような除外をチェックする手段はありません。したがって、一般的には、このツールを使用しないことをおすすめします。
  4. クロールの優先順位を確認します(クロールの割り当てをうまく利用します)。URL 群を管理し、サイトのクロール効率を向上させます。
  5. 処理能力が不足していないことを確認します。 Googlebot は、サーバーがクロール リクエストに応答できないことを検出すると、クロールを縮小します。

クロールされたコンテンツであっても、コンテンツに十分な価値やユーザーの需要がない場合は、検索結果にページが表示されないことがあるので、注意が必要です。

3. 更新内容がすぐにクロールされるかどうかを確認する

Google がサイトの新しいページや更新ページをクロールできていない場合、おそらく検知していないか、更新されていることを認識していないことが考えられます。Google がページの更新を認識できるようにするための方法をご紹介します。

Google では、ページを適切なタイミングでチェックしてインデックスに登録するよう努めています。ほとんどのサイトでは 3 日以上かかります。ニュースサイトなど、価値が高く時間的制約があるコンテンツがない限り、公開したその日に Google がページをインデックスに登録することはないと考えてください。

診断:

サイトログを調べて、特定の URL がいつ Googlebot によってクロールされたかを確認します。

インデックス登録日を確認するには、URL 検査ツールを使用するか、更新した URL を Google 検索します。

対応:

すべきこと:

  • サイトにニュース コンテンツがある場合は、ニュース サイトマップを使用する。サイトマップの掲載時や変更時に Google に通知します。
  • サイトマップ内で <lastmod> タグを使用し、インデックス登録済みの URL が更新されたことを示す。
  • シンプルな URL 構造を使って、Google がページを検出できるようにする。
  • Google が容易にページを見つけられるように、標準のクロール可能な <a> リンクを提供する。

避けるべき方法:

  • 変更されていない同じサイトマップを 1 日に複数回送信する。
  • Googlebot がサイトマップ内のすべてをクロールするか、すぐにクロールすると考える。サイトマップは Googlebot にとって有用なヒントになりますが、絶対的な要件ではありません。
  • Google 検索の検索結果に表示したくないページの URL をサイトマップに含める。これにより、インデックス登録したくないページが対象となり、クロールの割り当てが無駄になる可能性があります。

4. サイトのクロール効率を向上させる

ページの読み込み速度を上げる

Google のクロールは、帯域幅、時間、Googlebot インスタンスの可用性によって制限されます。 サーバーがリクエストに迅速に応答する場合は、サイトのページをより多くクロールできる可能性があります。ただし、Google がクロール対象に考えているのは高品質のコンテンツだけなので、低品質のページを高速化しても、Googlebot によるクロールは増加しません。逆に、サイトに含まれる高品質のコンテンツをクロールできていないと Google が判断すれば、クロールする割り当てを引き上げる可能性があります。

クロール向けにページとリソースを最適化する方法は次のとおりです。

  • robots.txt を使用して、重要でない大きなリソースが Googlebot によって読み込まれることを防ぎます。 重要でないリソース、つまりページの意味を理解するうえで重要でないリソース(装飾画像など)のみをブロックしてください。
  • ページの読み込みが速いことを確認します。
  • 長いリダイレクト チェーンはクロールに悪影響を及ぼすため、ご注意ください。
  • サーバー リクエストに応答する時間と、ページのレンダリングに必要な時間の両方が重要です。これには、画像やスクリプトなどの埋め込みリソースの読み込み時間と実行時間も含まれます。インデックスへの登録が必要な大きなリソースまたは低速なリソースにご注意ください。

検索結果に表示させたくない URL を非表示にする

不要なページでサーバー リソースが浪費されると、重要なページのクロールの妨げとなるため、サイト上の新しいコンテンツや更新されたコンテンツの検出に大幅な遅れを引き起こしかねません。

クロールさせたくない URL が検索によっていくつも表示されると、サイトのクロールとインデックス登録に悪影響を及ぼす可能性があります。通常、これらの URL は次のカテゴリに分類されます。

すべきこと:

  • リソースやページのクロールを望まない場合は、robots.txt を使用します。
  • 共有リソースを複数のページ(共有画像や JavaScript ファイルなど)で再利用している場合、各ページで同じ URL からリソースを参照するようにすると、Google が同じリソースを何度もリクエストしなくてもキャッシュして再利用できるようになります。

避けるべき方法:

  • サイトのクロールの割り当てを再配分する方法として、robots.txt にページまたはディレクトリを定期的に追加または削除しないでください。robots.txt は、長時間にわたって Google に表示させたくないページやリソースにのみ使用します。
  • サイトマップのローテーションまたは他の一時的な非表示メカニズムにより、サイトの割り当てを再配分することはしないでください。

5. サイトの過剰クロールに対応する(緊急対応)

Googlebot には、クロール リクエストによってサイトが過負荷にならないようにするアルゴリズムがあります。 ただし、Googlebot によるサイトの過負荷が判明した場合、次の方法をお試しください。

診断:

サイト対して Googlebot の過剰なリクエストがないかサーバーを監視します。

対応:

緊急時に、Googlebot による大量のクロールをスローダウンさせるには、以下の手順をおすすめします。

  1. サーバーが過負荷になった場合、Googlebot のリクエストに対して、一時的に 503 / 429 HTTP 結果コードを返す。Googlebot はこのような URL に対して約 2 日間リクエストを再試行します。「利用不可」を示すコードが数日にわたって返されると、サイトの URL に対する Google のクロールが恒常的に減少または停止します。したがって、次の追加手順を実施する必要があります。
  2. サイトに対する Googlebot のクロール頻度を減らす。これが有効になるまで最大 2 日かかることがあり、Search Console プロパティ所有者の権限が必要となります。これは、[クロールの統計情報] レポートの [ホストの可用性] > [ホストの使用状況] グラフで、Google による過大なクロールが長期にわたり繰り返し確認される場合にのみ行います。
  3. クロール頻度が低下したら、クロールからのリクエストに対して 503 / 429 を返すのを止める。2 日以上 503 を返すと、Google はインデックスから 503 を返した URL を削除してしまいます。
  4. ある程度の期間にわたってクロールおよびホスト能力をモニタリングし、必要に応じてクロール頻度を再度上げるか、デフォルトのクロール頻度を許可します。
  5. 問題のあるクローラが AdsBot クローラである場合、Google がクロールしようとしているサイト用に動的検索広告ターゲットを作成したことが問題の原因になっている可能性があります。このクロールは 2 週間ごとに再実行されます。これらのクロールを処理できるだけのサーバー容量がない場合は、広告ターゲットを制限するか、配信容量を増やしてください。

クロールに関する誤解と事実

Google がウェブサイトをクロールしてインデックス登録する方法について、知識をテストしましょう。

サイトマップを圧縮すると、クロールの割り当てを増やすことができる。
正しい
誤り
増やすことはできません。サイトマップを圧縮してもサーバーから取得する必要は変わらないため、圧縮されたサイトマップを送信されても、Google はクロール時間や労力を大幅に減らすことはできません。
Google は新しいコンテンツを好むため、ページに手を加え続ける方がよい。
正しい
誤り
コンテンツは新旧に関係なく、品質によって評価されます。必要に応じてコンテンツを作成、更新してください。ただし、ページに些細な変更を加えて日付を更新し、ページを人為的に新しく見せても、付加価値が生じることはありません。
Google は、新しいコンテンツよりも古いコンテンツ(重みが大きい)を優先する。
正しい
誤り
新旧にかかわらず、ページは有用です。
Google はクリーンな URL を優先し、クエリ パラメータを好まない。
正しい
誤り
Google ではパラメータをクロールできます。ただし、重複コンテンツを指すパラメータがあるページは必ずブロックしてください。
ページの読み込みとレンダリングが速いほど、Google のクロール量が増える。
正しい
Google のリソースが時間とクロールボット数の組み合わせによって制限されるという意味では正しいと言えます。限られた時間でより多くのページを配信できるサイトでは、Google がクロールできるページが増えます。ただし、より重要な情報を含むサイトのクロールには、たとえ遅くても、より多くの時間を割く可能性があります。おそらく、お客様にとって重要なのは、クロールの対象範囲を広げるためにサイトを高速化するよりも、ユーザーのためにサイトを高速化することでしょう。毎回すべてのコンテンツをクロールするよりも、Google が適切なコンテンツをクロールできるようにする方がはるかに簡単です。サイトのクロールには、コンテンツの取得とレンダリングの両方が含まれます。ページのレンダリングに要する時間は、ページのリクエストに要する時間と同じです。そのため、ページのレンダリングを高速化すると、クロール速度も向上します。
誤り
小規模サイトに対するクロール頻度は大規模サイトよりも低い。
正しい
誤り
重要なコンテンツが頻繁に変更されているサイトの場合、規模に関係なくクロール頻度は高くなります。
コンテンツがホームページに近いほど、Google にとって重要度が高くなる。
正しい
一部正しい
サイトのホームページはサイトで最も重要なページであることが多いため、ホームページに直接リンクされているページは重要度が高いと見なされ、クロール頻度が上がる可能性があります。ただし、そうしたページがサイトの他のページより上位にランク付けされるわけではありません。
誤り
URL のバージョニングは Google にページの再クロールを促すのに適した手段である。
正しい
一部正しい
Google に早くページを再クロールさせる目的でバージョン付きの URL を使用した場合、おそらく望みの効果が得られます。ただし、そうした URL は不要であることが多く、ページが実際に変更されていない場合はクロール リソースを無駄にすることになります。バージョン付きの URL を使用して新しいコンテンツを示す場合は、ページ コンテンツに意味のある変更を行ったときに限り、URL を変更することをおすすめします。
誤り
サイトの速度とエラーがクロールの割り当てに影響する。
正しい
サイトの速度を上げると、ユーザーにとっての利便性が向上するだけでなく、クロール頻度も高くなります。Googlebot では、速度に優れたサイトはサーバーが健全な状態であることを表すものと見なされるので、同じ接続の数でより多くのコンテンツの取得が可能になります。一方、5xx HTTP 結果コード(サーバーエラー)や接続タイムアウトが多い場合はサーバーの状態に問題があると見なされ、クロールが遅くなります。このため、Search Console のクロールの統計情報レポートにご注意のうえ、サーバーエラーを少なく抑えるようにすることをおすすめします。
誤り
クロールはランキング要因である。
正しい
誤り
クロール頻度が上がっても、必ずしも検索結果での掲載順位が高くなるとは限りません。Google は検索結果のランキングを決定するために多数のシグナルを活用しています。クロールは、ページを検索結果に表示するのに必要ですが、ランキングのシグナルではありません。
代替 URL と埋め込みコンテンツがクロールの割り当てにカウントされる。
正しい
一般的に、Googlebot によりクロールされる URL は、いずれもサイトのクロールの割り当てにカウントされます。AMP や hreflang のような代替 URL、CSS や JavaScript といった埋め込みコンテンツ(XHR フェッチを含む)についてもクロールが必要となる可能性があり、その場合にはサイトのクロールの割り当てが使われることになります。
誤り
「crawl-delay」ディレクティブを使って Googlebot を制限できる。
正しい
誤り
標準以外の「crawl-delay」robots.txt ディレクティブは、Googlebot で処理されません。
nofollow ディレクティブはクロールの割り当てに影響する。
正しい
一部正しい
クロールされる URL はいずれも、クロールの割り当てに影響を及ぼします。そのため、ページで URL が nofollow とマークされていても、サイトの別のページやウェブ上の任意のページがリンクを nofollow としてラベル付けしていない場合は、クロールの対象となります。
誤り