クローリングとは?クローラーの仕組みとSEOでのクロール最適化を解説
クローリングとは
クローリング(英: Crawling)とは、検索エンジンが自動プログラム(クローラー)を使ってWebページを巡回し、ページのHTMLコンテンツ・リンク・メタ情報などを取得する活動のことです。クローラーはスパイダー(Spider)やWebクローラーとも呼ばれます。
GoogleであればGooglebot、BingであればBingbotという専用クローラーが常時稼働しており、インターネット上のページをリンクをたどりながら次々と巡回・収集しています。クローリングによって収集されたページは、次のステップである**インデックス**(検索エンジンのデータベースへの登録)に送られ、最終的に検索結果として表示される流れになります。
クローラーの仕組み
クローラーはどう動くか
クローラーは、まず既知のURLリストを出発点として巡回を始めます。ページのHTMLを取得し、その中に含まれるリンク(aタグのhref)を抽出して次の巡回先キューに追加、という流れを繰り返すことで、リンクをたどりながらWeb全体を網羅しようとします。
GoogleのクローラーはDesktopとMobileの2種類が存在します。Mobile-First Indexing(モバイルファーストインデックス)の方針に基づき、現在はスマートフォンを模したMobilebotが主に使われており、PCページよりもモバイルページの内容を優先して評価します。
クロールの流れ(概要)
- URLキュー(巡回待ちリスト)からURLを取得
- そのURLにHTTPリクエストを送信してHTMLを取得
- 取得したHTMLをパース(解析)してテキスト・リンク・構造情報を抽出
- 抽出したリンクを新たなURLとしてキューに追加
- 取得したデータをインデックスへ送信
この処理がGoogleのサーバー群によって毎日数十億ページ規模で行われています。
クロールバジェットとは
クロールバジェット(Crawl Budget)とは、Googleがあるサイトに対して一定期間に割り当てるクロール量(リクエスト数・ページ数)の上限のことです。Googlebotはすべてのサイトを無制限にクロールするわけではなく、サーバーへの負荷やサイトの重要度に応じてクロール頻度を調整しています。
クロールバジェットが問題になるのは、主に以下のケースです。
- ページ数が数万〜数十万規模の大規模サイト
- 低品質ページ・重複ページが多くバジェットを無駄遣いしている場合
- クロールされてほしいページと、クロールされなくてよいページの仕分けができていない場合
中小規模のサイト(数百〜数千ページ程度)では、クロールバジェット自体を意識する場面は限られますが、「なぜかインデックスされない」という問題が起きた際の調査観点として知っておくと役立ちます。
robots.txt と sitemap.xml の役割
robots.txt
robots.txt とは、サイトのルートディレクトリに置くテキストファイルで、クローラーに対して「このURLは巡回していい/しないでほしい」という指示を伝えるものです。
User-agent: *
Disallow: /admin/
Disallow: /search?
Allow: /blog/
上の例では、すべてのクローラーに対して /admin/ 以下と検索結果ページ (/search?) の巡回を禁止し、/blog/ の巡回を許可しています。
ただし、robots.txt はインデックス禁止命令ではありません。「クロールするな」という指示であり、他のサイトからリンクされているURLは robots.txt でブロックしてもインデックスされてしまうケースがあります(後述の誤解セクション参照)。
sitemap.xml
sitemap.xml とは、サイトに存在するURLの一覧をXML形式で記述したファイルです。クローラーに「このサイトにはこんなページがあります」と明示的に伝えることで、リンクでは発見されにくいページもクロール対象に含めやすくなります。
Google Search Console(Googleが無料提供する検索パフォーマンス計測ツール)のサイトマップ機能から sitemap.xml を登録・送信することで、クロールを促す効果が期待できます。更新頻度や優先度を <changefreq> や <priority> タグで指定することも可能です。
クローラビリティとの関係
クローリングとクローラビリティ(Crawlability)はよく混同されますが、異なる概念です。
| 用語 | 意味 |
|---|---|
| クローリング | クローラーが実際にWebを巡回してページを取得する「行為」 |
| クローラビリティ | サイトやページがクローラーによって巡回しやすい状態にあるか、という「特性・度合い」 |
クローラビリティが高いサイトとは、クローラーが迷子にならず、重要なページへスムーズに到達できるサイトです。クローラビリティを下げる主な要因には以下が挙げられます。
- 孤立ページ(他ページからのリンクがなくクローラーが到達できないページ)
- リダイレクトの連鎖(A→B→C→D… と何段階もリダイレクトが続く状態)
- noindex と robots.txt の混同(後述)
- JavaScriptのみで描画されるコンテンツ(クローラーがJSをレンダリングできないと内容を取得できない)
- HTMLの構造的な問題(深すぎるリンク階層、リンク切れの多発など)
クローリング最適化(クロールの効率化)とクローラビリティ改善はほぼ同義として扱われることが多く、SEOの技術面において基礎的な改善対象です。
実務でのクロール促進策
内部リンクを整備する
クローラーはリンクをたどって巡回します。内部リンクが適切に設計されていれば、クローラーはサイト全体を効率よく巡回できます。逆に内部リンクが不足しているページ(孤立ページ)は、クローラーに発見されにくく、インデックス遅延や未インデックスの原因になります。
クローラビリティの観点では、トップページや主要なカテゴリページから3〜4クリック以内にすべての重要ページへ到達できるリンク設計が理想とされます。
sitemap.xml を作成・送信する
新規サイトや内部リンクが少ないページ群については、sitemap.xml を作成してGoogle Search Consoleから送信することでクロールを促せます。更新のあった記事URLを sitemap.xml に反映しておくと、再クロールのきっかけになります。
URL構造をシンプルに保つ
URLパラメータが多用された複雑なURL(例:?category=1&sort=2&page=3)や、同一コンテンツに複数URLが存在する状態は、クロールバジェットの無駄遣いにつながります。canonical タグ(正規URL指定タグ:重複ページがある場合に「こちらが正規版です」とGoogleに伝えるHTMLタグ)で重複を整理し、robots.txt で巡回不要なURLをブロックする対処が有効です。
リダイレクトループ・長連鎖を解消する
A→B→A のようなリダイレクトループや、A→B→C→D→E と5段階以上続くリダイレクト連鎖は、クローラーが途中で巡回を打ち切る原因になります。リダイレクトは301(恒久的移動)で1ホップ以内に完結させるのが原則です。
HTTPレスポンスを適切に返す
存在しないページが404(Not Found)を返さずに200(OK)を返す「ソフト404」は、クローラーが有効ページとして扱いクロールバジェットを消費します。削除・統合したページは正しく404または301リダイレクトを返すよう設定します。
ページの読み込み速度を改善する
Googlebotはページの表示速度に応じてクロールの優先度を調整します。サーバーのレスポンスが遅いサイトは、クロール頻度が下がるケースがあります。Core Web Vitals(コアウェブバイタル)改善やサーバーレスポンス速度の改善は、ユーザー体験と同時にクローラビリティにも寄与します。
クローラビリティ改善の実務でよく問題になるのが「孤立ページ(他ページからのリンクがなく、クローラーもユーザーも到達しにくいページ)の特定」です。記事数が増えてくると、内部リンクが意図せず切れたり、新規公開ページへのリンクを貼り忘れたりするケースが頻発します。
ケンランSEOの内部リンク診断機能は、クラスター構造ベースでリンクの充足率を分析し、孤立ページや Pillar ↔ Cluster 間のリンク不足を自動で検出します。「クロールされてほしいのにインデックスに出てこない」というページの調査起点として使える機能です。大手SEOツールと同等のリンク診断を、中小企業向け価格帯(月額¥980〜)で提供している点が特徴です。
関連する重要概念
インデックス(Index) クロールで収集したページを検索エンジンのデータベースに登録すること。クロールされても品質基準を満たさないページはインデックスから除外される場合がある。
クローラビリティ(Crawlability) サイトがクローラーに巡回しやすい状態にあるかを表す特性。孤立ページの排除・適切なリダイレクト・内部リンク整備などによって高められる。
内部リンク サイト内ページ間をつなぐリンク。クローラーの巡回経路となり、重要ページへのクロール頻度を高める。アンカーテキスト(リンクとして表示されるクリック可能な文字列)はコンテンツの関連性をGoogleに伝える役割も持つ。
robots.txt クローラーへの巡回許可・禁止を伝えるテキストファイル。Disallow ディレクティブでブロックしたページは原則クロールされないが、インデックス削除とは別概念。
sitemap.xml サイト内URLの一覧をXML形式で記述したファイル。Google Search Consoleから送信することでクロールを促進できる。
noindex HTMLのmetaタグまたはHTTPレスポンスヘッダーで指定する、検索エンジンへの「このページをインデックスに登録しないでください」という指示。robots.txtのDisallowとは別の概念(後述)。
SEO 検索エンジン最適化全般。クローリング最適化はSEO技術面の基礎的な領域に位置づけられる。
よくある誤解
誤解1:「クロール=インデックス」
クロールされたページが必ずインデックスに登録されるわけではありません。Googleはクロールして取得したページを品質評価し、薄いコンテンツ・重複ページ・スパム的な内容と判断した場合はインデックスから除外することがあります。「クロールされているのに検索結果に出ない」という状態は、インデックスの問題であってクローリング自体の問題ではないことが多いです。
Google Search Consoleの「URL検査」ツールを使うと、対象URLがクロール済みかどうか、インデックス登録されているかどうかを個別に確認できます。
誤解2:「クローラーは常に最新の情報を見ている」
クローラーは定期的に巡回しますが、更新したページが即座に再クロールされるとは限りません。更新頻度が低いサイトや被リンクが少ないページは、再クロールの間隔が数日〜数週間以上になることもあります。
「記事を更新したのに検索結果が古い情報のまま」という状態は、再クロールがまだ行われていないために起きています。Google Search Consoleの「URL検査→インデックス登録をリクエスト」機能で再クロールを促すことができます。
誤解3:「robots.txt でブロックすればインデックスされない」
robots.txt の Disallow はクローラーに「このURLを巡回しないでください」と伝えるものです。しかし他のサイトからリンクされているURLは、クロールされなくてもリンクの存在からインデックスに登録されてしまうことがあります。
ページをインデックスから確実に除外したい場合は、noindex メタタグまたはX-Robots-Tag ヘッダーを使うのが正しい対処です。robots.txt だけに頼るとインデックス制御に漏れが生じます。
誤解4:「robots.txt でブロックしたページはSEOに影響しない」
Disallow でブロックしたページは、PageRank(Googleがリンクの本数と質をもとにページの重要度を数値化するスコア)を他ページへ渡す役割は維持されます。つまり「重要なページを誤って Disallow してしまうと、そのページだけでなく関連する内部リンク経由のPageRank循環も止まる」というリスクがあります。robots.txt の設定は慎重に確認が必要です。
誤解5:「サイトマップを送れば必ずクロールされる」
sitemap.xml の送信はGooglebotへの「こんなURLがあります」という案内であり、クロールを保証するものではありません。最終的にクロールするかどうかはGoogleが判断します。内部リンクが整備されていて、コンテンツの品質が基準を満たしていることが、クロール・インデックスの前提条件です。
誤解6:「クローリングはSEO上級者だけが気にすること」
クローリングの問題は規模に関係なく発生します。特に以下は中小規模サイトでもよく起きるケースです。
- 新規公開ページへの内部リンクを貼り忘れていて孤立ページが発生している
- リダイレクト設定の誤りで旧URLへのリンクが機能していない
- パラメータURLが大量生成されてクロールバジェットが無駄遣いされている
「なんか最近インデックスされるのが遅い」「記事を増やしているのに検索流入が伸びない」といった症状の背景に、クローリング・クローラビリティの問題が隠れていることは珍しくありません。