クロール バジェットを最適化する
このガイドでは、大規模かつ頻繁に更新されるサイトの Google のクロールを最適化する方法について説明します。
サイト内で頻繁に更新されるページがそれほど多くない場合や、ページが公開日と同じ日にクロールされると考えられる場合は、このガイドを読む必要はありません。特に Google 検索については、サイトマップを最新の状態に保ち、定期的にインデックス カバレッジを確認するだけで十分です。
このガイドの対象読者
このガイドの推奨事項は一般的に優れた方法ですが、このガイドは主に次のようなサイトを対象とした上級者向けのガイドです。
- 大規模(重複のないページが 100 万以上)で、コンテンツが中程度に(1 週間に 1 回)更新されるサイト
- 中規模以上(重複のないページが 1 万以上)で、コンテンツがかなり頻繁に(毎日)更新されるサイト
- Search Console で URL の大部分が検出- インデックス未登録に分類されるサイト
クロールの一般理論
ウェブはほぼ無限に近い空間であるため、利用可能な URL をすべて調査してインデックスに登録するとなれば、Google の能力を超えることになります。そのため、Google のクローラーが 1 つのサイトをクロールできる時間には限界があります。サイトはホスト名によって定義されます。たとえば、https://www.example.com/ と https://code.example.com/ は別々のホスト名であるため、クロール バジェットも別々になります。Google がサイトのクロールに費やす時間とリソースは、通常、サイトのクロール バジェットと呼ばれ、クロール能力の上限とクロールの必要性の 2 つの要素によって決まります。
クロール能力の上限
Google は、ご利用のサーバーに負担をかけることなく、サイトをクロールしたいと考えています。Google のクローラーでは、負担をかけないためのクロール能力の上限を計算します。計算では、Google でサイトのクロール時に使用可能な同時並行接続の最大数と、次回の取得までに必要な待ち時間が考慮されます。また、サーバーに過負荷をかけずに重要なコンテンツ全体をカバーするように配慮されます。
クロール能力の上限は、以下のようないくつかの要因に基づいて上下することがあります。
- クロールの状態: しばらくの間サイトが迅速に応答している場合はクロール頻度の上限が上がるので、クロール時に使用可能な接続の数が増えます。サイトの応答が遅くなった場合やサーバーエラーが返された場合はクロール頻度の上限が下がり、Google によるクロールが減少します。
- Google のクロール上限: Google には多数のマシンがありますが、どのマシンでもクロール頻度に上限があります。これまでどおり、現在のリソースに従って選択する必要があります。
クロールの必要性
各クローラーには、ウェブのクロールに関する独自の「需要」があります。たとえば、サイトで動的広告ターゲットが実行されている場合、一般的に AdsBot の需要が高くなります。Google ショッピングでは、販売者フィードに含まれている商品の需要が高くなります。Googlebot の需要は、他のサイトと比較して、サイトのサイズ、更新頻度、ページの品質、関連性によって異なります。
一般に、クロールの必要性を決定する重要な要素は次のとおりです。
- 検出された URL 群: Google は、ユーザーの指示がなければ、サイト上の認識している URL のすべてまたはほとんどをクロールしようとします。多くの URL が重複している場合や、他の理由(削除されている、または重要でない URL など)でクロールされたくない場合、サイトのクロールに費やす時間の多くが無駄になってしまいます。これはサイト所有者が最も確実に管理できる要素です。
- 人気度: インターネット上で人気の高い URL ほど、Google のシステムで情報の新しさが保たれるよう頻繁にクロールされる傾向があります。
- 古さ: Google のシステム側からは、変更の反映に十分な頻度でドキュメントを再クロールしたいと考えています。
また、サイトの移転といったサイト全体のイベントでは、新しい URL のコンテンツを再処理するために、クロールの必要性が高まることがあります。
まとめ
こうしたクロール能力とクロールの必要性を併せて考えると、サイトに対するクロール バジェットとは、Google によるクロールが可能であり、かつクロールが必要な URL セットであると定義できます。クロール能力の上限に達していない場合でも、クロールの必要性が少なければ、Google によるサイトのクロールは減少します。
ベスト プラクティス
クロールの効率を最大化するには、以下のベスト プラクティスを実践してください。
- URL 群を管理する: 適切なツールを使用して、クロールしてほしいページとクロールしてほしくないページを Google に伝えます。Google がクロールすべきでない URL に時間をかけすぎている場合、Google のクローラーは、サイトの残りの URL を確認しなくても問題ないと判断することがあります(確認する必要があると判断した場合は、バジェットを増やします)。
- 重複コンテンツを 1 つにまとめる。 重複コンテンツを除外して、一意の URL ではなく一意のコンテンツのみをクロールするようにします。
- robots.txt を使用して URL のクロールをブロックする: ユーザーにとって重要であっても、必ずしも Google の各種サービスに表示される、または Google のシステムで再処理されることをユーザーが望まないページがあります。たとえば、リンクされているページで情報が重複している無限スクロール ページや、内容は同じで並べ方が違うだけのページなどです。このリストの最初の項目にあるように重複ページを 1 つにまとめることができない場合は、robots.txt を使用して重要でないページをブロックします。robots.txt を使用して URL をブロックすると、Google がその URL をクロールできなくなり、他の Google システム(Google 検索によるインデックス登録など)でその URL が処理される可能性が大幅に低下します。
-
完全に削除されたページについては
404または410ステータス コードを返す: Google は認識している URL を無視することはありませんが、404ステータス コードは、対象の URL を再度クロールしないことを強く求めるシグナルです。ただし、ブロックされた URL はその後もしばらくクロールキューに残り、ブロックが解除されると再クロールされます。 soft 404エラーを削除する:soft 404ページは引き続きクロールされるため、バジェットが無駄になります。soft 404エラーについては、インデックス カバレッジ レポートをチェックしてください。- サイトマップを最新の状態に保つ: Google は定期的にサイトマップを読み取っているので、Google にクロールさせたいコンテンツはすべてサイトマップに含めてください。更新したコンテンツがサイトにある場合は、
<lastmod>タグを含めることをおすすめします。 - 長いリダイレクト チェーンを避ける: クロールに悪影響を及ぼす長いリダイレクト チェーンは避けます。
- ページの読み込みを効率化する: Google がより高速にページを読み込んでレンダリングできるようになると、サイトからより多くのコンテンツを読み取れる可能性があります。
- クロール バジェットに関する問題をデバッグする: クロール時にサイトの可用性に関する問題が発生していないかを確認し、クロールを効率化する方法を探します。
クロール バジェットを増やす方法
クロール バジェットを増やす方法は 2 つあります。
- サーバー リソースを追加する: サーバーの容量が原因でサイトをクロールできない場合(URL 検査ツールで「ホスト負荷が制限を超えています」というメッセージが表示されるなど)、ビジネスにメリットがある場合はサーバー リソースを追加します。
- ターゲットとする Google サービスに合わせてコンテンツの品質を最適化する: Google は、特定の Google サービスに関連する要素を考慮して、各サイトに割り当てるクロール リソースを決定します。たとえば、Google 検索の場合は、人気、全体的なユーザー価値、コンテンツの一意性、配信容量などが該当します。