クロールバジェット完全ガイド│悪影響を及ぼす要因と最適化する方法
「クロールバジェットとはなにか」「どのようなページがクロールされやすいか」「クロール頻度を高めるにはどうすればよいのか」など、気になっているのではないでしょうか?本記事では、クロールバジェットの概要からGoogleの見解、管理すべきサイト、最適化する方法、クロール頻度の確認方法について初心者にも分かりやすく解説します。
クロールバジェットとは?
「クロールバジェット」とは、WEBサイトに割り当てられる検索エンジンクローラーのリソースのことを指します。「クロール」という言葉は、検索エンジンのクローラーがWEBサイトを巡回し、情報を収集することを意味します。
一方、「バジェット」は、この文脈ではリソースの上限や予算を示すものとなります。簡潔に言えば、クロールバジェットは「ウェブサイトがクロールされ得るページ数や頻度の上限」を指します。
実際に、Googleは2017年まで「クロールバジェット」という具体的な用語を公式には使用していませんでした。しかし、多くのサイト管理者やSEO専門家は、Googleのクローラーもリソースの制約があるため、サイト全体を完全にクロールすることは難しいのではないかとの仮説を持っていました。
例として、10ページの小規模なサイトは全ページがクロールされる可能性が高いが、100万ページを持つ大規模なサイトは、全ページがクロールされるわけではないという考え方です。
この長年の疑問や議論に終止符を打つべく、2017年1月にGoogleはクロールバジェットに関する公式の見解を公開しました。
この見解では、クロールバジェットがどのように決定され、それに影響する主要な要素が何であるかについて詳細に説明されています。
クロールバジェットに関するGoogleの見解
2017年1月にGoogleが公開した、クロールバジェットに関する見解は以下の通りです。
昨今、「クロールの割り当て」についてさまざまな定義を耳にします。しかし、Google の外部で「クロールの割り当て」が表すあらゆるものを一言で説明できるような言葉はありません。この記事では、Googlebot での「クロールの割り当て」の定義や意味を明らかにします。
Googlebot のクロールの割り当てについて
クロールの割り当ては、Googlebot によるクロールが可能であり、かつクロールが必要な URL の数であると定義できます。
Googlebot のクロールの割り当てについて
つまり、Googleはクロールバジェットを「クロールの割り当て」と定義しているわけです。
また、クロールバジェットに対して以下のように述べています。
Google がサイトのクロールに費やす時間とリソースは、通常、サイトのクロール バジェットと呼ばれます。
大規模なサイト所有者向けのクロール バジェット管理ガイド
さらに、クロールの割り当てとして上限設定があることを公式で発表しています。
Google では、Googlebot によってご利用のサーバーに負担をかけることなく、サイトをクロールしたいと考えています。Googlebot では、負担をかけないためのクロール能力の上限を計算します。
大規模なサイト所有者向けのクロール バジェット管理ガイド
つまり、クローラーはすべてのサイトに対して均等にリソースを振り分けているのではなく、サイトごとにクロールバジェットの上限を設定しているわけです。ただし、一部のサイトを除いてほとんどの場合はクロールの上限設定を気にする必要性はなく、効率的にクロールされます。
クロールバジェットがSEOで重要な理由
Googleがページをクロールしない場合、そのページは検索結果に表示されません。つまり、クロールバジェットの上限を超えるページ数がWEBサイトにある場合は、クロールされないぺージが発生しそのぺージは検索結果に表示されない事になります。
ただし、前述したように一部のサイトを除いてクロールバジェットを気にする必要はありません。世の中の殆どのサイトは、運営者がクロールを拒否していない限りGoogleによってサイトにある全てのページをクロールしてもらえます。
では、クロールバジェットの影響を受ける一部のサイトとはどのようなサイトでしょうか?
次の項目で説明します。
クロールバジェットの影響を受けるのは大規模なサイト
クロールバジェットは、すべてのWEBサイトに影響するわけではありませんが、大規模なサイトなど特定の要件に該当するサイトは、クロールバジェットの影響を大きく受ける可能性があります。
▼ Googleの説明によると、以下に該当するサイトは影響を受ける可能性があります。
- 大規模(重複のないページが 100 万以上)で、コンテンツが中程度に(1週間に1回)更新されるサイト
例:「楽天市場」「Yahoo!ショッピング」「amazon」「zozotown」など大型ECモール - 中規模以上(重複のないページが1万以上)で、コンテンツがかなり頻繁に(毎日)更新されるサイト
例:「ITmedia: 」「ライブドアニュース」などのニュースメディア
通常このような大規模なサイトはページ数が非常に多いため、検索エンジンがすべてのページを定期的にクロールするのはリソース的に難しくなります。
そのため、重複ページの削除やインデックスさせる必要の無いページをrobots.txtでクロールさせないなどの対処を行い、必要なページに対してクロールが割り当てられるように施策を行います。
逆に、以下のようなサイトはクロールバジェットを管理する必要はありません。
- 数千ページ程度のサイト
- ページを投稿した当日にクロールされているサイト
- ページの投稿・修正を滅多に行わないサイト
- 一度のクロールですべてのページがクロールされているサイト
ページがクロールされているか、最後にいつクロールされたのか、どのくらいの頻度でクロールされているのかは、Googleサーチコンソールから確認できます。
クロールバジェットが決定される要因
では、クロールバジェット(クロールの割り当て)はどのように決まるのでしょうか?
具体的には、クロールバジェットは主に「クロール能力の上限」と「クロールの必要性」という2つの要素によって決定されます。
これらの要素を理解することで、大規模サイトの運営者やSEO担当者は検索エンジンにページの情報を提供するためのクロール戦略を練ることができます。
次の項目で、「クロール能力の上限」と「クロールの必要性」とは何かを解説します。
クロール能力の上限
WEBサイトは無限に増えているため、Googleのリソースだけでは全てのWEBページをクロールすることが出来ません。そのため、Googleがクロール出来る上限にあわせてサイトごとにクロール数が割り当てられます。
また、Googleはクロールバジェットの上限に達していない場合でも、「クロールの状態」や「サーチコンソールで設定した制限」に応じてクロールの頻度に制限をかけます。
「クロールの状態」とは、サイトがクロール出来る状態にあるかどうかによってクロール量を変える仕組みです。
GoogleはWEBサイトのサーバーに過度な負荷をかけないよう、そしてエンドユーザーの閲覧体験を損なわないよう、クロールの取得速度を制限しています。そのため、クロール能力には上限が設定されています。
したがって、サイトが迅速に応答する場合クロールの上限頻度が増加することがあります。逆に応答が遅れたり、サーバーエラーが頻発するとクロールの頻度は減少します。
「サーチコンソールで設定した制限」とは、WEBサイトの運営者が自らサーチコンソール内でクロールの頻度を低下させる設定を行った状態を指します。サイト運営者は、クロール頻度設定ページからクロール頻度を調整する事が出来ます。
この設定を行う事で、意図的にクロール頻度を低下させる事が出来ます。
尚、Googleはクロール頻度の上限に達していなくても、あるページやコンテンツが既にインデックスされている場合や、それが最近更新されていない場合など、インデックスの必要がないと判断されると、そのページのクロール頻度は自然と低下します。
クロールの必要性
Googleは、基本的にリンクを辿って新しく発見したURLや、xmlサイトマップに記載されているURLに対してクロールを行います。ただし、無駄なクロールを減らすために必要性に応じてクロール頻度を調整し、場合によっては低下させます。
具体的には、主にWEBサイトの「人気度」「古さ」この2つを元にクロールの必要性をGoogleは判断しクロール頻度を決定します。
インターネット上で人気の高いURLとはどのようなものか、Googleの検索セントラルのヘルプページには記載されていませんが、その他の参考文献を見ると以下に該当するURLが人気の高いURLと考える事が出来ます。
- アクセス数の多いサイト
大量のユーザーからの訪問があるサイトは、人気の高いURLと言えます。 - 定期的にコンテンツを更新しているサイト
ニュースサイトやブログなど、頻繁に新しい記事や情報を更新するサイトは、多くのユーザーが利用する可能性が高いため人気の高いURLと言えます。 - 被リンクを多く獲得しているサイト
他の信頼性の高いサイトから多くのリンクを受けているサイトは、人気の高いURLと言えます。
「古さ」とは、GoogleがクロールしたURLと現在のWEBページの内容や構造が一致しない状態を防ぐことを指します。
WEBページは定期的に更新されるため、検索エンジンのインデックスに保存された情報も時折更新する必要があります。そうしないと、検索結果として提供される情報が実際のWEBページの内容と異なることが生じ、ユーザーの体験が低下する可能性があります。
Googleのシステムは、この「古さ」を防ぐために設計されています。具体的には、Googlebotが定期的にWEBページをクロールし、変更点や更新があった場合にはその情報を元に検索結果に反映します。
クロールバジェットを最適化する方法
クロールバジェットを最適化する事で、不要なページへのクロールを防ぎ優先的に必要なページへクロールを促します。
▼ 具体的な方法は以下になります。
- xmlサイトマップを最新の状態にする
- リダイレクトチェーンを避ける
- ページの表示速度を改善させる
- robots.txtで不要なページのクロールを制限する
- 完全に削除されたページは404もしくは410を返すようにする
それぞれ詳しく解説するので、大規模サイトの運営者は是非取り組んでみてください。
xmlサイトマップを最新の状態にする
xmlサイトマップを定期的に更新して最新の状態にすることで、クロールバジェットを増やす事ができます。「XMLサイトマップ」とは、検索エンジンに対してサイト内にどのようなページがあるのか構造を伝えるためのファイルです。
定期的にXMLサイトマップを作成・送信することで、追加・修正したページを検索エンジンに伝えることができるため、効率良くクロールしてもらうことができます。
ページを作成・更新した場合には、<lastmod>タグで更新した日時を記述しておきましょう。
XMLサイトマップについては別記事で詳しく解説しているので、興味がある方は以下ページをご確認ください。
リダイレクトチェーンを避ける
リダイレクトチェーンを避けることで、クロールバジェットを増やす事ができます。「リダイレクトチェーン」とは、リダイレクト元と最終的なリダイレクト先の間に、複数のリダイレクトが設定されている状態です。
Googleのジョン・ミュラー氏はリダイレクトチェーンがあると、クローラーの負担が増加するため、5回目移行は次回のクローリングに回されると発言しています。
If there's one thing to remember, it's that we follow redirects up to five times. If the redirects exceed five, they will be deferred to the next crawl cycle.
https://www.youtube.com/watch?v=SUaPrCV-0jM
つまり、多すぎるリダイレクトチェーンはクロールバジェットの無駄使いとなります。
また、リダイレクトチェーンを行う事で、ページが表示されるまでの時間も長くなるため、ユーザビリティの観点からもGoogleはリダイレクトチェーンを推奨していません。
検索セントラル内でも、リダイレクトチェーンは避けるように記載されています。
そのため、不要なリダイレクトを削除し、リダイレクトチェーンを避けるようにしましょう。
ページの表示速度を改善させる
ページの速度を改善することで、クロールバジェットを最適化できます。
ページの速度とは、ブラウザがサーバーからページデータを読み込む速度、サーバーから受け取ったページデータをブラウザが画面に表示する速度、画面上でユーザーが行ったアクションに対する反応速度です。
ページの読み込みが速いと、Googleのクローラーは短時間でより多くのページをクロールできるため、クロール効率が高くなります。
具体的には、不要なスクリプトの削除、画像の最適化、キャッシングの有効化など、ページのレンダリング速度を向上させる手法を取り入れることで、Googleが効率的にサイトをクロールして、更新情報や新しいコンテンツを迅速にキャッチすることができます。
一方、5xx系のHTTPレスポンスコード(これはサーバーエラーを示す)や接続がタイムアウトするような事象が頻発すると、サーバーが正常に動作していないと判断され、結果的にクロールの頻度が下がる可能性があります。
robots.txtで不要なページのクロールを制限する
robots.txtで不要なページのクロールを制限することで、クロールバジェットを最適化できます。
「robots.txt」とは、検索エンジンのクローラーの行動を制御するファイルです。
クロールしてもらう必要がないページのURLをrobots.txtに記述することで、クローラーがページをクロールしなくなります。
一般的にクロールしてもらう必要が無いページとは以下になります。
robots.txtでブロックするべきぺージ | 詳細 |
重複コンテンツ | ソート順やページネーションが異なる場合、セッションIDやトラッキングパラメータがURLに付与されるケース |
大量の似たようなコンテンツを持つページ | 商品の微細なバリエーションごとのページや言語や地域の違いによる僅かな違いだけのページなど、大きな差異がないページ |
アーカイブページ | ブログやニュースサイトで古い記事や情報を一覧表示するページなど、新しい情報に比べてクロールの優先度が低いページ |
サーチ結果ページ | サイト内検索の結果ページは、動的に生成されるため、クロールの価値が低く、クローラーのリソースを浪費する可能性があります。 |
このように必要の無いページへのクロールを拒否する事で、必要なページにクロールのリソースを回す事が出来ます。
尚、クロールバジェットの上限に達していない場合にroborts.txtでクロールを制限しても、他のページにクロールバジェットが割り当てられる訳ではありません。
そのため、上限に達している場合にのみrobots.tstで制限を行います。
また、robots.txtでページのクロールを制限すると、ページがインデックスされる可能性が大幅に低下します。クロールを制限しても問題ないページなのかを確認したうえでrobots.txtを作成しましょう。
robots.txtについては別記事で詳しく解説しているので、興味がある方は以下ページをご確認ください。
完全に削除されたページは404もしくは410を返すようにする
削除されたページに対して404または410の明確なステータスコードを返すことで、検索エンジンのクローラーは該当ページが存在しないことをすぐに理解できます。
404ステータスコードは「ページが見つからない」ことを示すもので、このコードを用いることで、検索エンジンに対象のURLを再度クロールする必要がないことを伝えられます。その結果、404や410のページへのクロール頻度が自然と低下し、クローラーのリソースがより価値のあるページに集中することが期待できます。
尚、soft404ページ(ページが存在しないのに、404のステータスコードを返さず、通常のページのように200のステータスコードを返してしまうページ)は、クローラーに「このページは正常に存在する」と誤解させる可能性があります。
この場合、実際には存在しないページに対してクロールのリソースが浪費される恐れがあるため、soft404のぺージは削除しましょう。
クロールバジェットに悪影響を及ぼす要因
クロールバジェットに悪影響を及ぼす代表的な要因を紹介します。
大規模サイトの場合は、これらの要因に対処する事が重要となります。
- ファセット ナビゲーションとセッションID
- サイト内の重複コンテンツ
- 質の低いコンテンツやスパムコンテンツ
- ソフト404 ページ
- ハッキングされたページ
- 無限のスペースとプロキシ
この中でも大規模サイトで発生する事が多い、
- 「ファセット ナビゲーションとセッションID」
- 「サイト内の重複コンテンツ」
- 「質の低いコンテンツやスパムコンテンツ」
について解説します。
ファセット ナビゲーションとセッションID
ファセット ナビゲーションとは、大規模なeコマースサイトなどで見られる、製品のカテゴリーや属性(例:色、サイズ、ブランドなど)に基づいて絞り込み検索を行うためのナビゲーションシステムを指します。
セッションIDとは、WEBサイトの利用者がサイトにアクセスするたびにサーバーから一時的に発行される固有の識別子のことを指します。
これら2つの要素がクロールの割り当てに影響を与える理由は以下のとおりです。
- URLの増大
ファセット ナビゲーションを使用すると、組み合わせの選択肢に応じて異なるURLが生成されることが多いです。さらに、セッションIDがURLに組み込まれる設定になっている場合、訪問するたびに異なるURLが生成されます。
この結果、クローラーが同じページの異なるURLを何度もクロールする可能性があり、クロールの効率が低下します。 - クロールトラップ
ファセット ナビゲーションとセッションIDが組み合わさると、検索エンジンのクローラーが無限に新しいURLを生成してクロールし続ける「クロールトラップ」に陥ることがあります。
これにより、実際には価値のないURLに大量のクロールリソースが浪費され、重要なページのクロールが遅延する可能性があります。
以上の理由から、サイト運営者はファセット ナビゲーションとセッションIDの取り扱いに注意を払う必要があります。
サイト内の重複コンテンツ
重複コンテンツは、クロールバジェットに悪影響をもたらします。
重複コンテンツとは、同一のサイト内にコンテンツの内容が似ているページが2つ以上存在する現象のことを指します。
例えば、「PCページとモバイルページでURLがわかれている場合」「http・httpsの違い」「www有無」「パラメータ付きURLの有無」などが該当します。
重複コンテンツがある場合は、検索エンジンのクローラーが異なるURLに同じ内容を何度もクロールすることになり、その結果、クロールのリソースを効果的に利用できなくなります。
そのため、Googleは重複コンテンツがある場合はURL正規化を推奨しています。
重複コンテンツに対してURLを正規化する事で、無駄なページへのクロールが削減されクロールバジェットを有効に使うことが出来ます。
質の低いコンテンツやスパムコンテンツ
Googleのクローラーは、全てのWEBページをクロールするためのリソースが限られているため、効果的なクロールを行いたいと考えています。
質の低いコンテンツやスパム的なコンテンツが多いサイトは、その限られたリソースの浪費となり、Googleはそのようなサイトを頻繁にクロールすることを避ける傾向があります。
質の低いコンテンツとは、「情報量が乏しい」「オリジナル性に欠ける」「インターネット上にある情報をただまとめただけのぺージ」などが該当します。
一方、スパム的なコンテンツとは「過度なキーワードの詰め込み」や「大量のコピーコンテンツ」などが該当します。これらの内容がサイト内に多く存在すると、サイト全体の評価が下がり、クロールバジェットの最適な分配が難しくなります。
そのため、サイトのクロールとインデックスの効率を最大限に高めるためには、質の低いコンテンツやスパムコンテンツを排除または改善し、Googleにとってクロールする価値のあるページを増やすことが重要です。
クロール頻度の確認方法
実際に自社で運営するサイトがいつクロールされたのか、どのくらいの頻度でクロールされているのかをGoogleサーチコンソールで確認してみましょう。
【クロール頻度の確認方法】
- Googleサーチコンソールにログインする
- 画面左のメニュー「設定」をクリックする
- 「クロールの統計情報」の「レポートを開く」をクリックする
過去90日間に行われたクロールリクエストの合計数を、日別に確認できます。グラフで表示されるため、クロール頻度の変動を視覚的に確認することも可能です。
上記画像の例では、約3ヵ月で5.85万回クロールされている事が分かります。
尚、このページでは以下も確認する事が出来ます。
項目 | 詳細 |
レスポンス別 | リクエストによって返されるファイル形式 |
目的別 | 検出: Google が初めてクロールしたページ更新: 既知のページの再クロール |
ファイル形式別 | リクエストによって返されるファイル形式 |
Googlebot タイプ別 | クロール リクエストに使用されるユーザー エージェントのタイプ |
次に、最後にいつクロールされた日を確認してみましょう。
最新のクロール日を確認する手順
クロール頻度を確認したら、次に最新のクロール日を確認してみましょう。
【最新のクロール日を確認する手順】
- Googleサーチコンソールにログインする
- 画面左のメニュー「URL検索」をクリック
- 画面上部の検索窓に確認したいURLを入力
- 画面上に表示された「ページのインデックス登録」をクリック
「前回のクロール」の欄に、最後にクロールされた日時が表示されます。
尚、ページ単位で確認する事は出来ますが、サイト全体の中で最後にクロールされたぺージを確認する事は出来ません。
クロールされていないページの確認方法
▼ クロールされていないページが、サイト内にどのくらいあるのかを確認する手順は以下の通りです。
- Googleサーチコンソールにログインする
- 画面左のメニュー「インデックス作成」の「ページ」をクリック
「ページがインデックスに登録されなかった理由」の中の、「検出 – インデックス未登録」に表示されたURLがクロールされていないURLです。
ページ数も表示されるため、サイト内でどのくらいのページがクロールされていないのかも分かります。
検出 - インデックス未登録
ページ インデックス登録レポート
ページは Google により検出されましたが、まだクロールされていません。これは通常、Google が URL をクロールしようとしたものの、サイトへの過負荷が予想されたため、クロールの再スケジュールが必要となった場合です。そのため、レポート上で最終クロール日が空欄になっています。
クロールバジェットに関するよくある質問
クロールバジェットに関するよくある質問と回答をご紹介します。
nofollowを付けるとクロール対象のページを減らせますか?
サイト内の別ページに対してnofollowを付けた場合、リンク先のぺージのクロールをGoogleは行いません。
ただし、外部のサイトから該当のページへのリンクにnofollowが付いていない場合はクロール対象となるため、クロール対象となるページの数を減らす事は出来ません。
クロールを防ぐには、robots.txtで設定する必要があります。
クロールはランキング要因になるのか?
クロールはランキング要因ではありません。クロール頻度が上がったからといって、検索順位が上がるとは限りません。
また、逆も同じでクロール頻度が減ったからと言って検索順位が下がる事もありません。
クロール自体はランキングを決定するアルゴリズムではない事を覚えておきましょう。
まとめ
今回は、クロールバジェットの概要からGoogleの見解、管理すべきサイト、最適化する方法、クロール頻度の確認方法について解説しました。
クロールバジェットの影響を受けるのは、大規模なサイトだけです。ほとんどのサイトではクロールバジェットを意識する必要はありません。
ただし、クロールバジェットを最適化する方法は、一般的なサイトのSEOやユーザビリティに影響する要素でもあります。この記事で紹介したクロールバジェットの最適化方法をチェックし、自サイトで取り入れる必要がないかを確認しておきましょう。
ぜひ、読んで欲しい記事
- SEO対策構造化データとは?SEO効果とメリット・書き方を解説2024/11/27
2024/11/27
- SEO対策被リンクとは?SEO効果の高いリンクをわかりやすく解説2024/11/27
2024/11/27
- SEO対策SEO外部対策とは?やり方と注意点を徹底解説2024/11/25
2024/11/25
- SEO対策内部リンクとは?貼り方とSEO効果について解説2024/11/25
2024/11/25
- SEO対策更新頻度とSEOの関係は?最適なコンテンツの管理方法を解説2024/10/28
2024/10/28
- SEO対策ブラックハットSEOとは?ホワイトハットSEOとの違いと手法一覧2024/10/17
2024/10/17