「Googlebotがサイトをうまく巡回してくれない」
「ページがなかなかインデックスされない」
「クロールバジェットって何?どう最適化すればいい?」
クローラビリティとは、検索エンジンのクローラー(Googlebot)がWebサイトを効率的に巡回できるかどうかを表す概念です。どれだけ優れたコンテンツを作成しても、Googlebotがそのページにたどり着けなければ、インデックスされず、検索結果に表示されることもありません。
特に大規模サイトでは、クローラビリティの最適化が検索順位に大きな影響を与えます。Googlebotのリソースは有限であり、効率的なサイト設計によってクロール効率を最大化することが重要です。
本記事では、クローラビリティを高める方法を徹底解説します。Googlebotの仕組み、クロールバジェットの概念、具体的な改善施策まで、テクニカルSEOの重要な要素であるクローラビリティについて網羅的にお伝えします。
クローラビリティとは
まず、クローラビリティの基本を理解しましょう。
クローラビリティの定義
クローラビリティ(Crawlability)とは、検索エンジンのクローラー(ボット)がWebサイトのページを発見し、アクセスし、コンテンツを読み取ることができるかどうかを示す指標です。
クローラビリティが高いサイトとして、クローラーがすべてのページにアクセスできる、リンク構造が明確で巡回しやすい、クロールを阻害する技術的な問題がない、効率的にクロールできる設計になっているなどの特徴があります。
クローラビリティとインデクサビリティの違い
クローラビリティ:クローラーがページにアクセスできるか
インデクサビリティ:クロールしたページをインデックスに登録できるか
両方が揃って初めて、検索結果に表示される可能性が生まれます。
なぜクローラビリティが重要か
SEOへの影響として、クロールされなければインデックスされない、インデックスされなければ検索結果に表示されない、クロール効率が悪いとページの発見が遅れる、重要なページがクロールされない可能性などがあります。
Googlebotの仕組み
Googlebotがどのようにサイトを巡回するかを理解しましょう。
Googlebotとは
Googlebotは、GoogleがWebページを発見・クロールするために使用するクローラー(スパイダー、ボット)です。
主な種類として、Googlebot Desktop(デスクトップ版のクロール)、Googlebot Smartphone(モバイル版のクロール、現在のデフォルト)、Googlebot Image(画像のクロール)、Googlebot Video(動画のクロール)、Googlebot News(ニュースのクロール)などがあります。
クロールの流れ
ステップ1:URLの発見として、既知のページからのリンク、XMLサイトマップ、サーチコンソールでのURL送信、外部サイトからの被リンクなどからURLを発見します。
ステップ2:クロールキューへの追加として、発見したURLをクロール待ちリストに追加、優先度やクロール頻度を決定します。
ステップ3:ページの取得として、URLにアクセスしてHTMLを取得、robots.txtの確認、HTTPステータスコードの確認などを行います。
ステップ4:レンダリングとして、JavaScript実行などでページをレンダリング、最終的なコンテンツを取得します。
ステップ5:インデックス処理として、コンテンツを解析、インデックスに登録(または更新・削除)します。
クロールの頻度を決める要因
サイトの権威性として、権威性の高いサイトは頻繁にクロールされます。
更新頻度として、頻繁に更新されるサイトは頻繁にクロールされます。
サーバーの応答速度として、高速なサーバーはより多くクロールされます。
ページの重要性として、重要なページはより頻繁にクロールされます。
クロールバジェットとは
クロールバジェットの概念を理解しましょう。
クロールバジェットの定義
クロールバジェット(Crawl Budget)とは、Googlebotが一定期間にサイトでクロールできるページ数の上限を表す概念です。
構成要素として、クロールレート制限(サーバーに負荷をかけすぎないための制限)、クロール需要(Googleがサイトをクロールしたいと考える度合い)などがあります。
クロールバジェットが重要なサイト
特に重要なサイトとして、大規模サイト(数万〜数百万ページ)、頻繁にページが追加・更新されるサイト、動的に生成されるページが多いサイト、クロール効率に問題があるサイトなどがあります。
あまり気にしなくて良いサイトとして、小規模サイト(数百ページ以下)、更新頻度が低いサイト、クロールに問題がないサイトなどがあります。
クロールバジェットを浪費する要因
主な要因として、ファセットナビゲーション(フィルター)による無限のURL生成、セッションIDやトラッキングパラメータ付きURL、重複コンテンツ、低品質ページ、ソフト404エラー、リダイレクトチェーン、ハッキングされたページなどがあります。
クローラビリティを高める方法
具体的なクローラビリティ改善方法を解説します。
方法1:内部リンク構造の最適化
内部リンクは、Googlebotがサイト内を巡回する主要な経路です。
最適化のポイントとして、重要なページへは多くのリンクを設置、すべてのページに3クリック以内でアクセス可能、孤立したページ(オーファンページ)をなくす、関連するページ同士をリンクでつなぐなどがあります。
実践例:
・グローバルナビゲーションに主要カテゴリへのリンク
・記事内から関連記事へのリンク
・サイドバーやフッターからの補助的リンク
・パンくずリストの設置
方法2:XMLサイトマップの作成と送信
XMLサイトマップは、Googlebotにサイト内のページを伝える重要な手段です。
最適化のポイントとして、すべての重要なページを含める、正規URLのみを記載、lastmod(最終更新日)を正確に設定、サーチコンソールで送信、定期的に更新などがあります。
XMLサイトマップの例:
<?xml version=”1.0″ encoding=”UTF-8″?>
<urlset xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
<url>
<loc>https://example.com/page1/</loc>
<lastmod>2024-01-15</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
方法3:robots.txtの適切な設定
robots.txtで、クロールの許可・制限を適切に設定します。
最適化のポイントとして、重要なページをブロックしない、不要なページのクロールを制限、サイトマップの場所を記載、設定ミスに注意などがあります。
robots.txtの例:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /search?
Disallow: /*?sessionid=
Sitemap: https://example.com/sitemap.xml
方法4:サイト構造の最適化
論理的で階層的なサイト構造を設計します。
推奨されるサイト構造:
トップページ
├── カテゴリA
│ ├── サブカテゴリA-1
│ │ ├── 記事1
│ │ └── 記事2
│ └── サブカテゴリA-2
├── カテゴリB
└── カテゴリC
ポイントとして、階層を深くしすぎない(3〜4階層程度)、URL構造に階層を反映、カテゴリページから下層ページへリンク、下層ページからカテゴリページへリンクなどがあります。
方法5:ページ速度の改善
サーバー応答速度が速いサイトは、より多くクロールされます。
改善ポイントとして、サーバー応答時間(TTFB)の短縮、ページサイズの削減、キャッシュの活用、CDNの利用などがあります。
方法6:重複コンテンツの解消
重複コンテンツはクロールバジェットを浪費します。
解消方法として、canonicalタグの設定、パラメータ付きURLの正規化、www/非wwwの統一、http/httpsの統一(httpsに)、末尾スラッシュの統一などがあります。
方法7:不要なページのクロール制限
価値のないページのクロールを制限します。
対象ページとして、検索結果ページ、フィルター・ソート結果ページ、カレンダーの無限ページ、セッションID付きURL、印刷用ページなどがあります。
制限方法として、robots.txtでDisallow、noindexの設定、canonicalでの正規化などがあります。
クローラビリティを阻害する要因
クローラビリティを阻害する主な要因を解説します。
要因1:robots.txtによるブロック
問題:重要なページがrobots.txtでブロックされている
確認方法:サーチコンソールの「URL検査」または robots.txtテスターで確認
対処:不要なDisallowを削除
要因2:noindexの誤設定
問題:インデックスしたいページにnoindexが設定されている
確認方法:HTMLソースまたはHTTPヘッダーを確認
対処:noindexを削除
要因3:内部リンクの不足
問題:ページへのリンクがなく、Googlebotがたどり着けない(オーファンページ)
確認方法:Screaming Frogなどでクロールしてリンク状況を確認
対処:適切な内部リンクを設置
要因4:JavaScriptレンダリングの問題
問題:JavaScriptで生成されるコンテンツがGooglebotに認識されない
確認方法:サーチコンソールの「URL検査」でレンダリング結果を確認
対処:SSR(サーバーサイドレンダリング)の検討、重要なコンテンツはHTMLで出力
要因5:サーバーエラー
問題:5xxエラーでGooglebotがページにアクセスできない
確認方法:サーチコンソールの「クロール統計情報」を確認
対処:サーバーの問題を解決
要因6:リダイレクトの問題
問題:リダイレクトループ、リダイレクトチェーン(複数回のリダイレクト)
確認方法:Screaming Frogでリダイレクトを確認
対処:301リダイレクトを最適化、チェーンを解消
要因7:URL構造の問題
問題:パラメータによる無限のURL生成、セッションIDの付与
対処:パラメータの正規化、robots.txtでのブロック、canonicalの設定
サーチコンソールでのクローラビリティ確認
Googleサーチコンソールでクローラビリティを確認する方法を解説します。
クロール統計情報
確認方法:設定 → クロール統計情報
確認項目として、クロールリクエストの総数、ダウンロードサイズ、平均応答時間、ホスト別の状況、クロールされたページの種類、ファイルタイプ別の内訳、Googlebotの種類別の内訳、レスポンス別の内訳(200、301、404など)などがあります。
インデックス作成 → ページ
確認項目として、インデックス登録済みページ数、インデックス未登録ページとその理由、クロール済み – インデックス未登録、検出 – インデックス未登録、noindexタグによる除外、robots.txtによるブロックなどがあります。
URL検査ツール
確認方法:URLを入力して検査
確認項目として、インデックス登録状況、クロール日時、正規URL、モバイルユーザビリティ、レンダリング結果などがあります。
サイトマップ
確認方法:インデックス作成 → サイトマップ
確認項目として、送信したサイトマップの状況、検出されたURL数、エラーの有無などがあります。
大規模サイトのクローラビリティ対策
大規模サイト特有のクローラビリティ対策を解説します。
ファセットナビゲーション(フィルター)の対策
ECサイトなどのフィルター機能は、無限のURL組み合わせを生成する可能性があります。
対策として、重要なフィルター組み合わせのみインデックス、その他はrobots.txtでブロック、またはnoindex設定、canonicalで正規URLを指定、JavaScriptでフィルター処理(URLを変更しない)などがあります。
ページネーションの対策
大量のページがある場合のページネーション対策です。
対策として、「すべて表示」ページの作成(可能な場合)、各ページに固有のコンテンツを持たせる、無限スクロールの場合はプリレンダリングを検討などがあります。
サイトマップの分割
大規模サイトでは、サイトマップを分割して管理します。
方法として、サイトマップインデックスファイルの使用、カテゴリ別にサイトマップを分割、1ファイル50,000URL以下に制限などがあります。
サイトマップインデックスの例:
<?xml version=”1.0″ encoding=”UTF-8″?>
<sitemapindex xmlns=”http://www.sitemaps.org/schemas/sitemap/0.9″>
<sitemap>
<loc>https://example.com/sitemap-products.xml</loc>
<lastmod>2024-01-15</lastmod>
</sitemap>
<sitemap>
<loc>https://example.com/sitemap-blog.xml</loc>
<lastmod>2024-01-15</lastmod>
</sitemap>
</sitemapindex>
クロール優先度の管理
重要なページが優先的にクロールされるよう管理します。
方法として、重要なページへの内部リンクを増やす、サイトマップでpriorityを設定(効果は限定的)、不要なページのクロールを制限などがあります。
JavaScriptとクローラビリティ
JavaScriptを使用したサイトのクローラビリティについて解説します。
Googlebotのレンダリング
現状として、Googlebotは最新のChrome相当のレンダリングエンジンを使用、JavaScriptを実行してコンテンツを取得可能、ただし、レンダリングには追加のリソースが必要などがあります。
JavaScript SEOの注意点
潜在的な問題として、レンダリングの遅延(クロール後にレンダリングされる)、リソースのブロック(CSSやJSファイルがブロックされている)、クライアントサイドルーティングの問題、遅延読み込み(Lazy Load)されたコンテンツなどがあります。
対策
SSR(サーバーサイドレンダリング)として、サーバー側でHTMLを生成、Googlebotに完成したHTMLを提供、Next.js、Nuxt.jsなどのフレームワークを活用などがあります。
プリレンダリングとして、事前に静的HTMLを生成、Googlebotにはプリレンダリングされたページを提供などがあります。
ハイドレーションとして、初期HTMLはサーバーで生成、クライアントでJavaScriptがアタッチなどがあります。
確認方法
サーチコンソールのURL検査:
- URLを入力
- 「ライブテスト」をクリック
- 「テスト済みのページを表示」でスクリーンショットを確認
- Googlebotが見ているページを確認
モバイルファーストインデックスとクローラビリティ
モバイルファーストインデックスにおけるクローラビリティを解説します。
モバイルファーストインデックスとは
概要として、Googleはモバイル版のページを優先的にクロール・インデックス、Googlebot Smartphoneがデフォルトのクローラー、2019年7月以降、新規サイトはデフォルトでモバイルファーストなどがあります。
クローラビリティへの影響
確認すべき点として、モバイル版でコンテンツが表示されるか、モバイル版のリンクが正しく機能するか、モバイル版でリソースがブロックされていないか、レスポンシブデザインが正しく機能しているかなどがあります。
対策
レスポンシブデザイン:同じHTMLで異なるデバイスに対応(推奨)
動的配信:同じURLで異なるHTMLを配信(Vary: User-Agentヘッダーが必要)
別URL(モバイル専用サイト):m.example.comなど(現在は非推奨)
クローラビリティのテストと監視
クローラビリティをテスト・監視する方法を解説します。
テストツール
Googleサーチコンソールとして、URL検査ツール、クロール統計情報、サイトマップレポートなどがあります。
Screaming Frog SEO Spiderとして、サイト全体をクロール、リンク切れ、リダイレクト、オーファンページを検出、robots.txtのテストなどができます。
Sitebulbとして、詳細なクロール分析、視覚的なレポート、問題の優先度付けなどができます。
Google Lighthouseとして、SEO監査、クローラビリティの問題を検出などができます。
定期的な監視項目
週次確認として、サーチコンソールのインデックス状況、クロールエラーの発生、新規ページのインデックスなどがあります。
月次確認として、クロール統計情報の推移、サイト全体のクロール監査、競合との比較などがあります。
アラート設定
監視すべき異常として、クロール数の急激な減少、5xxエラーの増加、インデックス数の大幅な変動、クロール時間の増加などがあります。
クローラビリティに関するよくある質問(FAQ)
クローラビリティに関するよくある質問にお答えします。
Q1. クロールバジェットは小規模サイトでも気にすべき?
A. 数百ページ程度の小規模サイトでは、通常気にする必要はありません。
Googleは小規模サイトを問題なくクロールできます。ただし、クロールを阻害する技術的な問題(robots.txtの設定ミスなど)は解決すべきです。
Q2. XMLサイトマップは必須ですか?
A. 必須ではありませんが、強く推奨されます。
XMLサイトマップは、Googlebotにサイト内のページを効率的に伝える手段です。特に大規模サイトや新規サイトでは重要です。
Q3. robots.txtでブロックしたページはインデックスされない?
A. 完全ではありません。
robots.txtはクロールをブロックしますが、外部リンクなどから参照されていると、URLだけがインデックスされる可能性があります。確実にインデックスを防ぐには、noindexを使用してください。
Q4. クロール頻度を上げることはできますか?
A. 直接的にはできませんが、間接的に影響を与えることはできます。
サイトの更新頻度を上げる、高品質なコンテンツを公開する、サーバーの応答速度を改善する、被リンクを獲得するなどが有効です。
Q5. Googlebotのクロールがサーバーに負荷をかけている場合は?
A. サーチコンソールでクロール速度を調整できます。
設定 → クロール統計情報 → 「クロール速度の変更」から、一時的にクロール速度を下げることができます。ただし、根本的にはサーバーの性能向上を推奨します。
Q6. ページがなかなかインデックスされない場合は?
A. 以下を確認してください。
robots.txtでブロックされていないか、noindexが設定されていないか、canonicalが他のページを指していないか、内部リンクが十分にあるか、コンテンツの品質が十分かなどを確認してください。サーチコンソールのURL検査ツールで詳細を確認できます。
まとめ:クローラビリティを高めてSEO効果を最大化しよう
本記事では、クローラビリティを高める方法について解説しました。最後に、重要なポイントをまとめます。
クローラビリティの重要性
クロールされなければインデックスされない、大規模サイトではクロールバジェットの最適化が重要、技術的な問題がSEO成果を阻害する可能性などがあります。
主な改善方法
内部リンク構造の最適化、XMLサイトマップの作成と送信、robots.txtの適切な設定、サイト構造の最適化、ページ速度の改善、重複コンテンツの解消などがあります。
監視と継続的な改善
サーチコンソールでの定期的な確認、クロールツールでの監査、問題の早期発見と対処などが重要です。
クローラビリティの最適化は、テクニカルSEOの基盤となる重要な要素です。本記事で紹介した方法を参考に、Googlebotが効率よく巡回できるサイト設計を目指してください。
関連記事として、XMLサイトマップの作成方法、robots.txtの書き方、Googleサーチコンソールの使い方も合わせてご覧ください。
サイトタイプ別のクローラビリティ対策
サイトの種類別に、クローラビリティ対策を解説します。
ECサイト
特有の課題として、商品数が多い(数万〜数十万ページ)、フィルター・ソートによる無限URL、在庫切れ・販売終了商品の扱い、セッションID・カートパラメータなどがあります。
対策として、ファセットナビゲーションの最適化(重要な組み合わせのみインデックス)、在庫切れ商品は410または類似商品へリダイレクト、パラメータの正規化(canonicalの設定)、商品カテゴリごとのサイトマップ分割などがあります。
ニュース・メディアサイト
特有の課題として、記事が頻繁に追加される、古い記事の扱い、ページネーションが深いなどがあります。
対策として、ニュースサイトマップ(news sitemap)の活用、記事の公開日時を構造化データで明示、重要な記事へのリンクを維持、アーカイブページの最適化などがあります。
企業サイト・コーポレートサイト
特有の課題として、ページ数は少ないが更新頻度も低い、PDF・資料のクロールなどがあります。
対策として、定期的なコンテンツ更新(ブログなど)、PDFのインデックス管理、重要ページへの内部リンク強化などがあります。
多言語サイト
特有の課題として、言語別のURL管理、hreflangの設定、重複コンテンツの問題などがあります。
対策として、hreflangタグの正確な設定、言語別のXMLサイトマップ、言語切り替えリンクの設置、canonicalと hreflangの整合性確保などがあります。
クロールエラーの種類と対処法
サーチコンソールで報告されるクロールエラーの種類と対処法を解説します。
5xxサーバーエラー
原因として、サーバーの過負荷、アプリケーションエラー、設定ミスなどがあります。
対処法として、サーバーログの確認、アプリケーションのデバッグ、サーバーリソースの増強、CDNの導入検討などがあります。
404 Not Found
原因として、ページの削除、URLの変更、リンク切れなどがあります。
対処法として、重要なページは301リダイレクトを設定、不要なページは404のまま(自然に解消)、内部リンクのリンク切れを修正などがあります。
ソフト404
概要:ページは存在する(200を返す)が、コンテンツがない、または「見つかりません」というメッセージを表示
対処法として、本当に存在しないページは404ステータスコードを返す、コンテンツを追加、または削除してリダイレクトなどがあります。
リダイレクトエラー
原因として、リダイレクトループ、リダイレクトチェーンなどがあります。
対処法として、リダイレクト先を確認、直接最終URLにリダイレクト、ループを解消などがあります。
robots.txtによるブロック
問題:重要なページがrobots.txtでブロックされている
対処法として、robots.txtの設定を確認、不要なDisallowを削除などがあります。
クローラビリティとCore Web Vitals
クローラビリティとCore Web Vitalsの関係を解説します。
サーバー応答時間の影響
TTFB(Time to First Byte)として、サーバーが最初のバイトを返すまでの時間、TTFBが遅いとクロール効率が低下、Googlebotはサーバーに負荷をかけすぎないよう調整などがあります。
ページサイズの影響
大きなページとして、ダウンロードに時間がかかる、クロールバジェットを消費、レンダリングにも時間がかかるなどがあります。
対策として、画像の最適化、不要なコードの削除、圧縮の有効化などがあります。
Core Web Vitalsの改善がクローラビリティに与える影響
ポジティブな影響として、ページ速度の改善 → クロール効率の向上、サーバー負荷の軽減 → より多くのクロールが可能、ユーザー体験の向上 → サイトの評価向上などがあります。
クローラビリティの改善事例
クローラビリティ改善の具体的な事例を紹介します。
事例1:ECサイトのフィルター最適化
課題:数百万の組み合わせが生成されるフィルターでクロールバジェットが枯渇
対策:
- 重要なフィルター組み合わせのみcanonical設定
- その他はrobots.txtでブロック
- JavaScriptでフィルター処理に変更
結果:インデックス対象ページが適正化、重要なページのクロール頻度が向上
事例2:メディアサイトの内部リンク改善
課題:古い記事へのリンクが不足し、クロールされにくい
対策:
- 関連記事リンクの強化
- カテゴリページからのリンク追加
- サイト内検索の最適化
結果:オーファンページが減少、全体的なインデックス率が向上
事例3:SPAサイトのSSR導入
課題:JavaScriptで生成されるコンテンツがインデックスされにくい
対策:
- Next.jsによるSSRの導入
- 重要なコンテンツは初期HTMLに含める
- 構造化データの追加
結果:インデックス率が大幅に改善、検索順位も向上
クローラビリティに関する追加FAQ
クローラビリティに関する追加の質問にお答えします。
Q. Googlebotのクロール頻度を確認する方法は?
A. サーチコンソールの「クロール統計情報」で確認できます。
また、サーバーログを分析することで、より詳細なGooglebotのアクセス状況を把握できます。
Q. CDNはクローラビリティに影響しますか?
A. CDNは一般的にクローラビリティにプラスの影響を与えます。
サーバー応答速度の向上、安定性の向上により、Googlebotがより効率的にクロールできるようになります。
Q. 新しいページを早くインデックスさせる方法は?
A. 以下の方法が有効です。
サーチコンソールでURL検査→インデックス登録をリクエスト、XMLサイトマップに追加、トップページや人気ページからリンク、SNSでの共有(間接的な効果)などがあります。
Q. robots.txtの変更はすぐに反映されますか?
A. Googlebotは定期的にrobots.txtをキャッシュしています。
通常24時間以内に反映されますが、サーチコンソールの robots.txtテスターで更新をリクエストすることもできます。
Q. クロール予算(クロールバジェット)を増やすことはできますか?
A. 直接的に増やすことはできませんが、以下の方法で改善できます。
サーバー応答速度の向上、サイトの権威性向上(被リンク獲得など)、質の高いコンテンツの追加、不要なページのクロール制限などがあります。
Q. Googlebotをブロックしてしまった場合、どうなりますか?
A. ブロックされたページはクロールされず、インデックスから徐々に削除されます。
設定ミスに気づいたら、速やかにブロックを解除してください。インデックスの回復には時間がかかる場合があります。
まとめ:クローラビリティを高めてSEO効果を最大化しよう
本記事では、クローラビリティを高める方法について徹底解説しました。
クローラビリティの重要性
クロールされなければインデックスされない、大規模サイトではクロールバジェットの最適化が重要、技術的な問題がSEO成果を阻害する可能性などがあります。
主な改善方法
内部リンク構造の最適化、XMLサイトマップの作成と送信、robots.txtの適切な設定、サイト構造の最適化、ページ速度の改善、重複コンテンツの解消などがあります。
監視と継続的な改善
サーチコンソールでの定期的な確認、クロールツールでの監査、問題の早期発見と対処などが重要です。
クローラビリティの最適化は、テクニカルSEOの基盤となる重要な要素です。本記事で紹介した方法を参考に、Googlebotが効率よく巡回できるサイト設計を目指してください。
関連記事として、XMLサイトマップの作成方法、robots.txtの書き方、Googleサーチコンソールの使い方も合わせてご覧ください。