Webサイトを運営していると、検索エンジンのクローラーがどのページを巡回するかを制御したい場面に遭遇することがあります。
「特定のページはクロールしてほしくない」「重要なページを優先的に見てもらいたい」といった要望を実現するのがrobots.txtです。
しかし、robots.txtの設定を間違えてしまうと、検索結果に表示されるべきページが表示されなくなったり、SEOに悪影響を与えたりする可能性があります。
実際に、名古屋でWebコンサルティングを行う弊社でも、robots.txtの設定ミスによって検索流入が大幅に減少してしまったクライアント様の相談を受けることがあります。
本記事では、robots.txtの基本概念から具体的な書き方、設置方法、注意点まで、初心者の方でも理解できるよう詳しく解説していきます。
正しくrobots.txtを活用することで、検索エンジンとの良好な関係を築き、Webサイトのパフォーマンス向上を目指しましょう。
目次
robots.txtの基本概念と役割
クローラー制御ファイルとしての機能
robots.txtとは、検索エンジンのクローラー(ロボット)に対して、サイト内のどのページやファイルにアクセスしてよいかを指示するテキストファイルのことです。
「ロボット排除プロトコル(Robots Exclusion Protocol)」とも呼ばれ、1994年に開発されて以来、Web業界の標準として広く採用されています。
クローラーは、サイトを訪問する際に必ずrobots.txtファイルを確認し、そこに記載された指示に従ってページの巡回を行います。
主な機能 | 説明 |
アクセス制御 | 特定のページやディレクトリへのクローラーアクセスを制限 |
ユーザーエージェント指定 | Google、Bing等の検索エンジン別に異なる指示を設定 |
サイトマップ通知 | XMLサイトマップの場所をクローラーに教える |
クロール効率化 | 重要なページに集中的にクロールしてもらう |
ただし、robots.txtは**「お願い」の性質が強く、すべてのクローラーが必ず従うわけではない**点に注意が必要です。
GoogleやBingなどの主要な検索エンジンは基本的にrobots.txtの指示を尊重しますが、悪意のあるボットや一部のクローラーは無視する場合があります。
SEOにおける重要性
robots.txtは、SEO戦略において重要な役割を果たします。
特に大規模なWebサイトでは、すべてのページを効率的にクロールしてもらうことが課題となります。
クロールバジェットという概念があり、これは検索エンジンが1つのサイトに対して割り当てるクロール回数の上限を指します。
限られたクロールバジェットを有効活用するため、重要性の低いページへのクロールを制限し、価値の高いコンテンツに集中してもらうことがSEO上重要になります。
SEOへの影響 | 詳細 |
クロール効率化 | 重要なページが優先的にクロールされる |
インデックス促進 | 新規・更新ページの発見が早くなる |
サーバー負荷軽減 | 不要なクロールによる負荷を削減 |
重複コンテンツ回避 | 類似ページのクロールを制限 |
ただし、小規模サイト(数百ページ程度)では、robots.txtによるSEO効果は限定的です。
むしろ設定ミスのリスクの方が大きいため、必要性を十分検討してから導入することをおすすめします。
インデックス制御との違い
robots.txtに関してよくある誤解が、**「インデックス制御ができる」**というものです。
しかし、robots.txtの役割はクロールの制御であり、インデックス(検索結果への表示)の制御ではありません。
robots.txtでブロックしたページでも、他のサイトからリンクされていれば検索結果に表示される可能性があります。
項目 | robots.txt | noindexタグ |
主な機能 | クロール制御 | インデックス制御 |
検索結果表示 | 完全には防げない | 確実に防げる |
クローラーアクセス | 制限する | 許可する |
使用場面 | サーバー負荷軽減 | 検索結果非表示 |
検索結果に表示したくないページがある場合は、noindexメタタグや.htaccessでのアクセス制限を使用することが適切です。
robots.txtは、あくまで「クローラーの訪問頻度を調整するツール」として理解することが重要です。
弊社のWebコンサルティングでも、この違いを正しく理解していただくことで、より効果的なSEO施策の提案が可能になっています。
robots.txtを設置する目的とメリット
クロールバジェットの最適化
クロールバジェットとは、検索エンジンが特定のサイトに対して割り当てるクロール回数の上限を指します。
Googleは無限にリソースを持っているわけではないため、各サイトに対して効率的なクロール計画を立てています。
大規模サイトほどクロールバジェットの制約を受けやすく、すべてのページが定期的にクロールされない可能性があります。
robots.txtを適切に設置することで、限られたクロールリソースを重要なページに集中させることができます。
サイト規模 | クロールバジェットの重要性 | robots.txtの効果 |
小規模(~1,000ページ) | 低い | 限定的 |
中規模(1,000~10,000ページ) | 中程度 | 一定の効果 |
大規模(10,000ページ~) | 高い | 大きな効果 |
例えば、ECサイトで商品ページが10万ページある場合、すべてのページを毎日クロールすることは現実的ではありません。
在庫切れ商品ページや古いキャンペーンページへのクロールを制限し、新商品や人気商品ページに集中してもらうことで、より効果的な検索エンジン対策が可能になります。
不要ページのクロール制限
Webサイトには、検索結果に表示する必要のないページが多数存在します。
これらのページへのクロールを制限することで、サーバーリソースの節約とクロール効率の向上が期待できます。
制限対象ページ | 理由 |
管理画面 | セキュリティ上クロール不要 |
テスト環境 | 公開前の未完成コンテンツ |
重複コンテンツ | SEO価値が低い |
内部検索結果 | 無限に生成される可能性 |
印刷用ページ | 通常ページと内容が重複 |
特にECサイトの商品検索結果ページや絞り込み結果ページは、組み合わせ次第で数百万ページにもなる可能性があります。
これらすべてをクロールさせてしまうと、本当に重要な商品詳細ページのクロール頻度が下がってしまいます。
robots.txtで適切に制限することで、検索エンジンにとってもサイト運営者にとってもメリットのある関係を築くことができます。
サイトマップ情報の提供
robots.txtでは、XMLサイトマップの場所をクローラーに教えることができます。
XMLサイトマップは、サイト内の重要なページ一覧とその更新頻度、優先度などを記載したファイルです。
Search Consoleからもサイトマップを送信できますが、robots.txtに記載することで、すべての検索エンジンに対して統一的に情報提供ができます。
サイトマップ送信方法 | メリット | デメリット |
robots.txtに記載 | 全検索エンジン対応 | ファイル更新が必要 |
Search Console | Googleに直接送信 | Google限定 |
HTMLサイトマップ | ユーザー向けにも有効 | クローラー発見率低 |
特に新しいコンテンツを頻繁に追加するブログやニュースサイトでは、サイトマップ情報の提供が効果的です。
クローラーが新しいページを素早く発見し、検索結果に反映させることで、より早くオーガニック流入を獲得できる可能性があります。
画像・動画ファイルの制御
robots.txtは、画像や動画ファイルの検索結果表示を制御することも可能です。
著作権の関係で画像検索に表示したくない場合や、帯域幅の節約のために動画ファイルのクロールを制限したい場合に活用できます。
ファイル種類 | 制御理由 | 効果 |
画像ファイル | 著作権保護、帯域節約 | Google画像検索非表示 |
動画ファイル | サーバー負荷軽減 | 動画検索非表示 |
音声ファイル | 帯域幅制御 | 音声検索非表示 |
PDFファイル | 機密情報保護 | PDF検索非表示 |
ただし、これらのファイルが他のサイトからリンクされている場合は、完全に検索結果から除外することはできません。
確実に非表示にしたい場合は、.htaccessでのアクセス制限やファイルの削除を検討することが必要です。
弊社でも、クライアント様の要望に応じて、適切なファイル制御方法をご提案させていただいています。
robots.txtの基本的な書き方
User-agent(ユーザーエージェント)の指定
User-agentは、robots.txtファイルの最も重要な要素の一つです。
どの検索エンジンのクローラーに対して指示を出すかを指定する項目で、必ず記述しなければならない必須項目です。
最も一般的な指定方法は、アスタリスク(*)を使用してすべてのクローラーを対象にする方法です。
User-agent: *
主要な検索エンジンのUser-agent | 用途 |
* | すべてのクローラー |
Googlebot | Google検索全般 |
Googlebot-Image | Google画像検索 |
Googlebot-Video | Google動画検索 |
Googlebot-News | Googleニュース |
Bingbot | Bing検索 |
Baiduspider | 百度(中国の検索エンジン) |
複数の検索エンジンに対して異なる指示を出したい場合は、それぞれ個別に記述することも可能です。
例えば、Googleには全ページのクロールを許可し、他の検索エンジンには特定のディレクトリのみ許可したい場合は、以下のように記述します。
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /private/
特定のUser-agentが複数のルールに該当する場合、より具体的に指定されたルールが優先されます。
Disallow(アクセス拒否)の記述方法
Disallowは、指定したクローラーに対してアクセスを拒否するページやディレクトリを指定する項目です。
ルートドメインからの相対パスで記述し、様々なパターンでの指定が可能です。
記述例 | 制御内容 |
Disallow: / | サイト全体のクロール拒否 |
Disallow: /admin/ | adminディレクトリ以下のクロール拒否 |
Disallow: /private/secret.html | 特定ファイルのクロール拒否 |
Disallow: /*.pdf | PDFファイル全体のクロール拒否 |
Disallow: /*? | URLパラメータ付きページの拒否 |
ワイルドカード(*)や正規表現を使用することで、より柔軟な指定が可能です。
例えば、ECサイトでよくある「商品の並び順変更URL」をすべて拒否したい場合は以下のように記述します。
User-agent: *
Disallow: /*sort=
Disallow: /*order=
注意点として、Disallowで指定されていないパスは自動的にクロール許可となります。
つまり、何も記述しなければ全ページがクロール可能な状態になります。
Allow(アクセス許可)の使い方
Allowは、Disallowで制限した範囲の中で、特定のページやディレクトリのみクロールを許可したい場合に使用します。
Disallowより具体的なパスを指定することで、例外的にアクセスを許可できます。
使用パターン | 記述例 |
ディレクトリ全体を拒否、特定ファイルのみ許可 | Disallow: /private/<br>Allow: /private/public.html |
パラメータ付きURL拒否、特定パラメータのみ許可 | Disallow: /*?<br>Allow: /*?page= |
特定拡張子拒否、重要ファイルのみ許可 | Disallow: /*.pdf<br>Allow: /important.pdf |
Allowは省略可能で、実際には使用頻度は高くありません。
多くの場合、必要なページは最初からDisallowの対象外にすることで対応できるためです。
ただし、複雑なディレクトリ構造を持つ大規模サイトでは、細かな制御が必要になることがあります。
例えば、会員サイトで一般公開ページのみクロール許可したい場合は以下のように記述します。
User-agent: *
Disallow: /member/
Allow: /member/public/
Allow: /member/login.html
Sitemap(サイトマップ)の指定
Sitemapは、XMLサイトマップファイルの場所をクローラーに通知するための項目です。
絶対URLで記述する必要があり、複数のサイトマップがある場合は改行して複数記述できます。
記述例 | 用途 |
Sitemap: https://example.com/sitemap.xml | メインサイトマップ |
Sitemap: https://example.com/news-sitemap.xml | ニュース専用サイトマップ |
Sitemap: https://example.com/image-sitemap.xml | 画像専用サイトマップ |
サイトマップの指定はUser-agentに依存しないため、ファイルのどこに記述しても構いません。
ただし、可読性を考慮して、ファイルの最後に記述することが一般的です。
User-agent: *
Disallow: /private/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/product-sitemap.xml
サイトマップを指定することで、新しいページの発見や更新情報の伝達が効率化されます。
特に、コンテンツの更新頻度が高いサイトでは、積極的に活用することをおすすめします。
弊社のWebコンサルティングでも、適切なサイトマップ戦略をクライアント様にご提案し、検索エンジンとの良好な関係構築をサポートしています。
robots.txtファイルの設置と確認方法
ドメインルートディレクトリへの配置
robots.txtファイルは、必ずドメインのルートディレクトリに配置する必要があります。
この配置場所は厳密に決められており、サブディレクトリに配置しても効果がありません。
正しい配置場所 | 間違った配置場所 |
https://example.com/robots.txt | https://example.com/seo/robots.txt |
https://blog.example.com/robots.txt | https://example.com/blog/robots.txt |
https://www.example.com/robots.txt | https://example.com/www/robots.txt |
**ファイル名は必ず「robots.txt」**とし、大文字小文字も正確に記述する必要があります。
「Robots.txt」や「ROBOTS.TXT」などの表記は認識されません。
サブドメインを使用している場合は、それぞれのサブドメインに個別のrobots.txtが必要です。
メインサイトのrobots.txtはサブドメインには適用されませんので注意してください。
ファイルの作成は、メモ帳やテキストエディタで十分です。
特別なソフトウェアは必要ありません。
文字コードはUTF-8で保存し、BOM(Byte Order Mark)は付けないようにしてください。
Search Consoleのrobots.txtテスター
Google Search Consoleには、robots.txtの動作を確認できる便利なツール「robots.txtテスター」が用意されています。
このツールを使用することで、設定内容が正しく動作するかを事前に確認できます。
テスター機能 | 詳細 |
構文チェック | robots.txtの記述ミスを検出 |
動作シミュレーション | 特定URLのブロック状況を確認 |
編集機能 | ブラウザ上で直接編集可能 |
リアルタイム反映 | 変更内容をすぐに確認 |
使用手順は以下の通りです。
- Search Consoleにログイン
- 対象サイトを選択
- **「レガシーツールとレポート」→「robots.txtテスター」**を選択
- テストしたいURLを入力
- 「テスト」ボタンをクリック
ブロックされているページは赤色で表示され、許可されているページは緑色で表示されます。
この視覚的な表示により、設定内容を直感的に理解できます。
設定後の動作確認手順
robots.txtファイルを設置した後は、正しく動作しているかの確認が重要です。
まず最初に確認すべきは、ファイルが正しく配置されているかです。
確認項目 | 確認方法 |
ファイルアクセス | ブラウザで直接URLを開く |
内容表示 | ファイル内容が正しく表示されるか |
文字化け | 日本語コメントが正しく表示されるか |
HTTPステータス | 200 OKが返されているか |
**ブラウザのアドレスバーに「https://yourdomain.com/robots.txt」**を入力し、ファイル内容が表示されることを確認してください。
404エラーが表示される場合は、配置場所やファイル名に問題がある可能性があります。
次に、Search Consoleのrobots.txtテスターを使用して、想定通りの動作をするか確認します。
複数のページをテストし、ブロックすべきページがブロックされ、許可すべきページが許可されているかを確認してください。
設定変更の反映には時間がかかる場合があります。
Googleのクローラーがrobots.txtを再度読み込むまで、数時間から数日程度かかることもありますので、慌てずに経過を観察することが重要です。
弊社では、クライアント様のrobots.txt設定後、必ず動作確認を行い、問題がないことを確認してからご報告するようにしています。
robots.txt作成時の注意点と制限事項
強制力の限界について
robots.txtの最も重要な制限として、**「強制力がない」**という点があります。
robots.txtは、あくまで**「お願い」や「推奨事項」**の性質が強く、すべてのクローラーが必ず従うわけではありません。
GoogleやBingなどの主要な検索エンジンは基本的にrobots.txtを尊重しますが、悪意のあるボットやスパムクローラーは無視する場合があります。
クローラーの種類 | robots.txt遵守度 |
Googlebot | 高い(ほぼ確実) |
Bingbot | 高い(ほぼ確実) |
主要検索エンジン | 高い |
スパムボット | 低い(無視することが多い) |
悪意のあるクローラー | 低い(意図的に無視) |
このため、機密性の高い情報を守りたい場合は、robots.txtに依存してはいけません。
パスワード認証や.htaccessによるアクセス制限、サーバーレベルでのIP制限などの技術的な保護手段を併用することが重要です。
また、robots.txtは誰でも閲覧可能であることも理解しておく必要があります。
「https://example.com/robots.txt」にアクセスすれば、設定内容が丸見えになってしまいます。
インデックス制御には使用しない
robots.txtに関する最も多い誤解が、**「インデックス制御ができる」**というものです。
しかし、robots.txtの役割はクロール制御であり、検索結果への表示(インデックス)を確実に防ぐことはできません。
robots.txtでブロックしたページでも、以下の条件下では検索結果に表示される可能性があります。
表示される条件 | 詳細 |
外部からのリンク | 他のサイトからリンクされている |
ソーシャルメディア | SNSで共有されている |
過去のインデックス | 既に検索エンジンに登録済み |
間接的な言及 | URLが他のページに記載されている |
検索結果に表示したくないページがある場合は、noindexメタタグを使用することが適切です。
html
<meta name=”robots” content=”noindex”>
noindexタグは、ページ自体にクローラーがアクセスできる状態で設置する必要があります。
robots.txtでブロックしてしまうと、クローラーがnoindexタグを読み取れなくなってしまいます。
ユーザーアクセスは制限されない
robots.txtはクローラーのみを対象としたファイルであり、一般ユーザーのアクセスを制限することはできません。
robots.txtでブロックしたページに、ユーザーは引き続き普通にアクセス可能です。
対象 | robots.txtの効果 |
検索エンジンクローラー | アクセス制限可能 |
一般ユーザー | 制限されない |
直接URL入力 | 制限されない |
リンクからのアクセス | 制限されない |
このため、会員限定コンテンツや有料ページの保護にrobots.txtを使用してはいけません。
これらのページを保護したい場合は、以下の方法を検討してください。
- ログイン認証システムの導入
- .htaccessによるパスワード認証
- サーバーレベルでのアクセス制限
- IPアドレスによる制限
弊社のWebコンサルティングでも、セキュリティが重要な案件では、適切な保護手段をクライアント様にご提案しています。
サブディレクトリサイトでの制限
サブディレクトリ型のサイト運営では、robots.txtの使用に制限があります。
サブディレクトリにrobots.txtを設置しても、検索エンジンは認識しません。
サイト構成 | robots.txt設置場所 | 効果 |
独自ドメイン | https://example.com/robots.txt | 有効 |
サブドメイン | https://blog.example.com/robots.txt | 有効 |
サブディレクトリ | https://example.com/blog/robots.txt | 無効 |
レンタルサーバーの共有ドメインを使用している場合も同様の問題が発生します。
例えば、「https://server.com/~username/」のような構成では、ユーザー独自のrobots.txtは設置できません。
この場合の対処法として、以下の方法があります。
- robots メタタグの活用
- 各ページにnoindexタグを設置
- 独自ドメインへの移行検討
- サブドメイン型への変更
特に企業サイトやビジネス用途では、SEOの自由度を確保するためにも独自ドメインの使用をおすすめします。
実際の記述例とベストプラクティス
基本的なrobots.txtのサンプル
実際のWebサイトでよく使用されるrobots.txtの記述例をパターン別に紹介します。
これらのサンプルを参考に、自サイトに適した設定を検討してください。
【パターン1:すべて許可(初期設定)】
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml
適用場面 | メリット |
サイト開設初期 | シンプルで設定ミスがない |
小規模サイト | 管理が簡単 |
ブログサイト | すべてのコンテンツを公開 |
【パターン2:管理画面等を制限】
User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /login/
Disallow: /*.pdf$
Sitemap: https://example.com/sitemap.xml
【パターン3:ECサイト向け設定】
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /search/?*
Allow: /
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/product-sitemap.xml
これらの設定により、重要な商品ページにクロールを集中させることができます。
大規模サイトでの活用事例
10,000ページを超える大規模サイトでは、より細かなrobots.txt設定が効果を発揮します。
実際の弊社クライアント様の事例(匿名化済み)をもとに、効果的な活用方法をご紹介します。
【不動産情報サイトの事例】
制御対象 | 記述例 | 効果 |
検索結果ページ | Disallow: /search/* | 無限ページ生成防止 |
古い物件情報 | Disallow: /old-properties/ | 過去データのクロール削減 |
PDF資料 | Disallow: /*.pdf | 帯域幅節約 |
ソート機能 | Disallow: /*sort=* | 重複コンテンツ回避 |
User-agent: *
Disallow: /search/
Disallow: /filter/
Disallow: /*sort=
Disallow: /*order=
Disallow: /old-properties/
Disallow: /*.pdf
Allow: /properties/
User-agent: Googlebot-Image
Disallow: /private-images/
Sitemap: https://example.com/sitemap.xml
Sitemap: https://example.com/properties-sitemap.xml
この設定により、重要な物件詳細ページのクロール頻度が約40%向上し、新規物件の検索結果反映が早くなりました。
【ニュースサイトの事例】
User-agent: *
Disallow: /archive/
Disallow: /draft/
Disallow: /*print=1
Allow: /archive/important/
User-agent: Googlebot-News
Disallow: /opinion/
Allow: /news/
Sitemap: https://example.com/news-sitemap.xml
よくある間違いと対処法
robots.txt設定時の典型的なミスとその対処法をまとめました。
これらのミスは、検索流入の大幅な減少につながる可能性があるため、十分注意してください。
よくある間違い | 影響 | 対処法 |
Disallow: / を誤記述 | サイト全体がブロック | Disallow: に修正 |
パスの記述ミス | 意図しないページがブロック | 正確なパス確認 |
ファイル名の間違い | robots.txtが認識されない | 「robots.txt」に統一 |
文字コードの問題 | 日本語コメントが文字化け | UTF-8で保存 |
【危険な設定例】
# これは間違い!サイト全体がブロックされる
User-agent: *
Disallow: /
【正しい設定例】
# 正しい記述:何も制限しない
User-agent: *
Disallow:
実際のトラブル事例として、弊社で相談を受けたケースでは、robots.txtの設定ミスにより3か月間で検索流入が80%減少したクライアント様がいらっしゃいました。
Search Consoleのrobots.txtテスターで事前確認を行うことで、このようなトラブルは防げます。
設定変更時は必ず以下の手順を踏むことをおすすめします。
- バックアップの作成
- テスターでの動作確認
- 段階的な設定変更
- 効果測定の実施
弊社では、robots.txt設定サービスも提供しており、安全で効果的な設定をサポートしております。
まとめ
robots.txtは、検索エンジンとWebサイトの良好な関係を築くための重要なツールです。
正しく設定することで、クロール効率の向上やサーバー負荷の軽減、重要なページへの検索エンジンの注目度向上などの効果が期待できます。
本記事で解説した主要なポイントを振り返ってみましょう。
- robots.txtはクロール制御ツールであり、インデックス制御ではない
- 小規模サイトでは必要性が低く、大規模サイトで真価を発揮する
- 設定ミスは検索流入の大幅減少につながる可能性がある
- 強制力に限界があり、セキュリティ対策としては不十分
- User-agent、Disallow、Allow、Sitemapの4要素が基本構成
特に重要なのは、**「何のためにrobots.txtを設置するのか」**という目的を明確にすることです。
単純に「SEOに良いから」という理由だけで設置するのではなく、自サイトの規模や特性を考慮して必要性を判断してください。
robots.txtの設定や運用でお困りの場合は、専門的な知識と経験を持つWebコンサルティング会社に相談することをおすすめします。
名古屋でWebコンサルティングを行う株式会社エッコでは、robots.txtの適切な設定から、総合的なSEO戦略まで幅広くサポートしております。
適切なrobots.txt設定により、検索エンジンとの良好な関係を構築し、Webサイトのパフォーマンス向上を実現しましょう。
設定後も定期的な見直しと最適化を行うことで、継続的な効果の向上が期待できます。