Google検索セントラルにてGoogleはGooglebotがウェブページをクロールしてレンダリングするプロセスを解説しました。ウェブページやサイトを見つけ、理解し、検索結果に表示するまでには、実は複雑なプロセスが存在します。その中心となるのが「Googlebot」と呼ばれるクローラーによるWebページの収集とレンダリングです。この記事では、Googlebotの動作の仕組みから、サイト運営者が知っておくべきポイントを紹介していきます。
日本日付2024/12/07時点では日本語訳の記事が公開されていませんが、クロールバジェットなどの関連する情報を交えて紹介します。
Googlebotとは:基本的な役割と仕組み
Googlebotは、Googleの検索エンジンで使用される自動化されたクローリングプログラムです。インターネット上の無数のWebページを巡回し、新しいコンテンツや更新されたコンテンツを発見・収集する役割を担っています。
Googlebotの種類と特徴
Googlebotは、Google検索で使用される2種類のウェブクローラーの総称です。
- スマートフォン用Googlebot: モバイルデバイスでユーザーをシミュレートするモバイルクローラー
- パソコン用Googlebot: デスクトップでユーザーをシミュレートするデスクトップクローラー
重要な特徴
- クロールの比率
- クロールリクエストの大部分はモバイルクローラーによって実行
- 一部がデスクトップクローラーによって実行
- 技術的な制限
- HTMLファイルまたはテキストベースのファイルの最初の15MBまでをクロール
- CSS、JavaScriptなどのリソースは個別に取得され、同じ制限が適用
- 非圧縮データに対して制限が適用
- アクセス頻度
- 平均して数秒に1回を超える頻度でアクセスすることはない
- 必要に応じてクロール頻度の調整が可能
なお、GooglebotのサブタイプはHTTP user-agentリクエストヘッダーで確認できますが、robots.txtでは両方のクローラータイプが同じプロダクトトークンに従うため、特定のタイプのGooglebotのみを制御することはできません。
Googlebotがクロールしてからインデックスするまでの流れ
Googleがウェブページを検索結果に表示するまでには、主に以下の3つのステップがあります。
-
STEP1:クロール
Googlebotが新しいページや更新されたページを発見し、そのコンテンツを取得します。これは、既知のURLからリンクを辿るか、サイトマップから情報を得ることで行われます。 -
STEP2:レンダリング
取得したページのコンテンツを処理し、JavaScriptを実行して最終的なコンテンツを生成します。この段階で、ページ上のテキスト、画像、メタデータなどが解析されます。 -
STEP3:インデックス作成
レンダリングされたコンテンツを分析し、Googleの検索インデックスに格納します。この時点で、ページは検索結果に表示される候補となります。
ただし、クロールされたすべてのページが必ずしもインデックスに登録されるわけではありません。Googleは品質や重複コンテンツなどの要因を考慮して、インデックスに登録するページを決定します。
クロールとは
クロールとは、GooglebotがWebページを巡回して新しいページや更新されたページを発見し、そのコンテンツを取得するプロセスです。インターネット上には膨大な数のWebページが存在するため、Googleはクロールを効率的に行うための様々な仕組みを持っています。
クロールの基本的な仕組み
Googleのクローリングプロセスには、以下のような特徴があります。
- クロールの頻度
- 平均して数秒に1回を超える頻度でサイトにアクセスすることはありません
- サイトの更新頻度や重要度によってクロール頻度は変動します
- データ取得の制限
- HTMLファイルは最初の15MBまでをクロール
- CSS、JavaScriptなどのリソースも同様に15MBまで
- 制限は非圧縮データに対して適用されます
URLの発見方法
Googlebotは主に以下の方法でクロールするURLを発見します。
- 既にクロールしたページ内のリンクを辿る
- サイトマップから新しいURLを取得
- Search Consoleを通じて提出されたURL
ただし、URLを発見しても、すべてのページが同じ優先度でクロールされるわけではありません。Googleは以下の要因に基づいてクロールの優先順位を決定します。
クロール優先度が高くなる要因
- 頻繁に更新されるページ
- 重要なランディングページ
- 高品質なコンテンツを持つページ
クロール優先度が低くなる要因
- エラーが多発するページ
- 重複したコンテンツ
- アクセス数の少ないページ
クロールとレンダリングのプロセス
Googlebotは現代のWebブラウザと同様に、JavaScriptを実行し、動的コンテンツをレンダリングする能力を持っています。
またGoogleがウェブページを正確に理解し、適切にインデックスするためには、クロールとレンダリングの両方のプロセスが重要です。
レンダリングとは
レンダリングとは、HTMLやJavaScript、CSSなどのコードを解析・実行して、実際にユーザーが見るウェブページの状態を作り出すプロセスです。Googlebotは現代のウェブブラウザと同様に、JavaScriptを実行し、動的なコンテンツを含むページを正確に理解することができます。
Googlebotがクロールしてレンダリングするまで
- STEP1HTML取得:初期HTMLコードのダウンロード
- STEP2リソース収集:CSS、JavaScript、画像などの取得
- STEP3JavaScript実行:動的コンテンツの生成
- STEP4最終レンダリング:完全なページコンテンツの生成
クロールバジェットの管理と最適化
クロールバジェットとは
クロールバジェットとは、Googleがウェブサイトに割り当てるクローリングリソースの総量を指します。これは、Googlebotが一定期間内にクロールできるページ数と、クロールに使用できるリソース量の両方を含んでいます。
クロールバジェットを構成する2つの要素
1. クロール能力の上限
サーバーに過度な負荷をかけることなく、効率的にクロールを行うための制限です。以下の要因によって決定されます。
- サーバーの応答時間
- 利用可能な帯域幅
- サーバーエラーの発生頻度
2. クロールの需要
サイトのコンテンツに対するGoogleのクロール要求の度合いを示します。
- コンテンツの更新頻度
- ページの重要性
- URL数とその品質
クロール能力の上限に影響する要因
- サーバーのレスポンス
- 応答速度が遅い場合、クロール頻度は自動的に低下
- エラーレスポンスが多いと、クロール能力は制限される
- サーバーの安定性が重要な判断基準となる
- クロールパターンの変化
- サーバーが安定して高速な応答を返す場合、クロール頻度は徐々に増加
- 一時的なサーバーの問題が発生すると、クロール頻度は自動的に調整
- 定期的なメンテナンス時間帯は考慮される
- 手動設定による制御
- Search Consoleでクロール頻度を調整可能
- robots.txtファイルでクロール制限を設定可能
- 特定の時間帯のクロールを制御できる
クロールバジェットの最適化方法
技術的な最適化
- サーバーパフォーマンスの向上
- 応答時間の改善
- サーバーリソースの適切な配分
- CDNの活用
- エラーページの最小化
- 404エラーの削減
- リダイレクトの最適化
- サーバーエラーの防止
構造的な最適化
- URL構造の改善
- 不要なURLパラメータの削除
- 重複コンテンツの統合
- クロール優先順位の設定
- リンク構造の最適化
- 内部リンクの整理
- 重要ページへの適切なリンク付け
- サイトマップの最適化
クロール制御の方法について
robots.txtの活用
robots.txtファイルを使用して、クロールの挙動を細かく制御できます。
- 特定ディレクトリのクロール制限
- クロール頻度の調整
- 特定のbotのアクセス制御
メタディレクティブの使用
| ディレクティブ | 用途 | 効果 |
|---|---|---|
| noindex | インデックス除外 | 検索結果非表示 |
| nofollow | リンク追跡制限 | リンク先非クロール |
まとめ
Googlebotのクロールとレンダリングプロセスの仕組みを把握することで、ウェブページを閲覧するユーザーだけではなく、検索エンジンに対してもわかりやすく、情報を伝えやすい方法を理解することに繋がります。
本記事で解説した内容は、以下のような重要な点を理解する助けとなります。
- Googlebotの基本的な役割と種類
- クロールからインデックスまでの一連の流れ
- 効率的なクロールバジェットの管理方法
- 適切なレンダリングのための技術的な配慮
Googleの検索エンジンの仕組みはこれ以外にもさまざまな技術が使われています。一つひとつを把握して検索エンジンの最適化(SEO)をユーザー・検索エンジン双方に有用になるようにしていくことが本来の「最適化」になるのではないでしょうか。