robots.txt・sitemap.xml・llms.txtの役割と違い:
クローラー制御の基礎を正しく理解する
各章へクイックジャンプ:
「robots.txtとsitemap.xmlはどちらもクローラーに関係するファイル」 これは正しいですが、その役割は正反対といっても過言ではありません。一方はクローラーに「来てほしくない場所」を伝え、もう一方は「発見してほしいURL」を案内します。さらに近年はAI向けの補助的なコンテキスト文書として llms.txt も語られるようになり、3つのファイルの役割を切り分けて理解することがサイト運営の基礎知識になっています。
1. クローラーとは何か:Googleがサイトを発見する仕組み
Googlebotの動作原理
Googleが検索結果にWebページを表示するためには、まずそのページを「発見」し「読み取り(クロール)」して「データベースに保存(インデックス)」する必要があります。この発見・読み取りを行うプログラムが Googlebot(クローラー) です。
Googlebotの動作フロー:
- 既知のURLから出発し、ページ内のリンクを辿って新しいURLを発見する
- 発見したURLを「クロールキュー(巡回待ちリスト)」に追加する
- robots.txt を確認し、そのURLへのアクセスが許可されているか確認する
- 許可されていれば、ページのHTMLを取得・解析する
- 解析したコンテンツをGoogleのインデックスに登録する
- ページ内のリンクをさらに辿り、1に戻る
クロールバジェットとは何か
Googlebotはすべてのサイトを無制限にクロールするわけではありません。各サイトに対して「クロールバジェット」——一定期間内にGooglebotがそのサイトでクロールできるページ数の上限——が設定されています。
クロールバジェットが重要になるのは、主に大規模なサイト(数万ページ以上)ですが、中小規模のサイトでも管理画面やパラメータURLが大量にクロールされると重要ページのインデックスが遅くなる問題が起きます。
- セッションID付きURL:
/page?session=abc123のような無数のURLが生成される - フィルター・ソートURL:ECサイトの
/products?sort=price&color=red等 - 管理画面・ログインページ:本来クロール不要なページ
- 低品質な自動生成ページ:薄いコンテンツの大量ページ
- 404エラーページ:削除したページが大量に残っている
2. 3つのファイルの役割の違い
| ファイル | 誰に向けたファイルか | 主な役割 | 配置場所 |
|---|---|---|---|
robots.txt | 主に robots.txt を尊重するクローラー | クロール制限:「ここには来ないで」を伝える | /robots.txt(固定) |
sitemap.xml | 主に検索エンジンクローラー | クロール促進:「これらのページをインデックスしてほしい」を伝える | 任意(/sitemap.xml が標準的) |
llms.txt | 主にAIエージェント・AIクローラー向けの補助文書 | コンテキスト提供:「このサイトの構造と重要なコンテンツ」をMarkdownで伝える | /llms.txt(標準) |
robots.txt:「来てほしくない場所」のマップ
robots.txt はサイトのルートに配置するテキストファイルで、クローラーに対してアクセスを制限するルールを記述します。インデックスに入ってほしくないページをクロールさせないことで、クロールバジェットを重要ページに集中させる効果があります。
重要な誤解:robots.txt は「隠す」ためのものではない
robots.txt で Disallow 指定したページは、クロールされなくなりますが、他のサイトからリンクされればインデックスされる可能性があります。機密情報を隠すためには、robots.txt ではなくパスワード保護や認証が必要です。
sitemap.xml:「来てほしい場所」のガイドマップ
sitemap.xml はGooglebotに「このサイトにはこれらのページが存在します」と積極的に教えるためのファイルです。特に以下のケースで重要です:
- ページ数が多く、内部リンクだけでは全ページが発見されにくい場合
- 新しいサイトで、まだ外部リンクが少ない場合
- 動的に生成されるページ(ECサイトの商品ページ等)が大量にある場合
- 動画・画像等の特殊なコンテンツをGoogleに発見させたい場合
llms.txt:「このサイトをどう理解してほしいか」のコンテキスト提供
llms.txt はAI検索エンジンやAI開発ツールに向けた補助文書として提案されているファイルで、サイトの目的・構造・重要コンテンツをMarkdown形式で説明します。robots.txtやsitemap.xmlとは異なり、「クロール制御」ではなく「理解の促進」が目的です。標準必須仕様ではないため、検索流入の土台はまず robots.txt・sitemap.xml・HTML本体で整えるのが基本です。
llms.txt の詳細については、別シリーズ 「llms.txt 完全ガイド」 で体系的に解説しています。
補足:IndexNow は「変更通知」の仕組み
IndexNow は robots.txt や sitemap.xml の代替ではなく、新規作成・更新・削除したURLを対応検索エンジンへ即時通知するための補助プロトコルです。Bing や Yandex は公式に対応していますが、2026年4月時点で Google Search の標準導線としては案内されていません。
実務上の位置づけ
Google中心のサイト運用では、まず robots.txt・sitemap.xml・内部リンク・canonical を整えるのが先です。そのうえで Bing / Yandex の更新反映を早めたいなら IndexNow を追加すると理解しておくと混乱しません。
3. robots.txt と sitemap.xml の相互作用
robots.txt で Disallow にしたページは sitemap.xml から外すのが原則
robots.txt の Disallow と sitemap.xml の URL が矛盾している状態は避けるべきです。sitemap.xml は「検索結果に出したい canonical URL」を伝える用途なので、クロールを止めているURLを混ぜないほうが実務上は安全です。具体的には:
矛盾した設定の例(よくあるミス)
robots.txt:
User-agent: * Disallow: /admin/ Disallow: /draft/
sitemap.xml(誤り):
<url> <loc>https://example.com/draft/article-1</loc> </url>
robots.txt で Disallow にしたパス配下のURLを sitemap.xml に含めると、運用上の意図がぶれやすくなります。公開URLの地図としての意味を保つためにも、サイトマップにはクロール可能で canonical が自己指向のURLだけを入れるのが基本です。
noindex と robots.txt Disallow の違い
クロールとインデックスは別の概念です。よく混同されますが、この違いを正確に理解することが重要です:
クロールを禁止します。Googlebotはそのページにアクセスしなくなります。ただし、他サイトからリンクされているとURLだけがインデックスに残ることがあります。
→ クロールバジェット節約・管理画面保護に使用
インデックスを禁止します。Googlebotはページにアクセスしますが、検索結果に表示しません。ページをクロールさせてnoindexシグナルを確認させる必要があります。
→ 検索結果から除外したいページに使用
正しい組み合わせの原則
検索結果から除外したいページ:robots.txtではなく <meta name="robots" content="noindex"> を使用。robots.txt で Disallow にすると、Googlebotがnoindexシグナルを読み取れず、インデックスから除外されない場合があります。
4. 主要クローラーのUser-agent名
robots.txt でクローラーを制御するには、各クローラーの User-agent 名を正しく把握する必要があります。主要な検索エンジンのクローラーは以下のとおりです。
| サービス | User-agent 名 | 用途 |
|---|---|---|
| Googlebot | Googlebot | Google検索のインデックス作成(PC・スマートフォン共通) |
| Google Image Bot | Googlebot-Image | Google画像検索 |
| Bingbot | bingbot | Bing検索のインデックス作成 |
| Yahoo! Slurp | Slurp | Yahoo!検索(米国)のインデックス作成 |
AI関連クローラー(OAI-SearchBot・GPTBot・PerplexityBotなど)の詳細な制御方法については、第4章「AIクローラー時代の制御設計」で詳しく解説します。
全5章を通して、クローラー制御とインデックス最適化の技術を体系的に学びましょう。
あなたのサイトの robots.txt、
正しく設定されていますか?
AIOGeoScanなら、robots.txtの設定ミス(Disallow範囲の過不足、sitemap.xmlとの矛盾、AIクローラーへの対応)を自動で検出できます。
今すぐ自社サイトを無料診断する