Skip to content
検索します

robots.txtとは — 仕組みと使い方

robots.txtはサイトのルートに置かれるプレーンテキストファイルで、User-agent、Disallow、Allow、Sitemap といったクローラー向けのクロールルールを宣言します。クロール挙動を制御し、インデックス化に影響を与えることはありますが、ランキングを直接決定するものではありません。

Robots.txt: What It Is and How It Works

robots.txtとは?

robots.txt(Robots Exclusion Protocol)はホストのルート(例: https://example.com/robots.txt)に置かれるプレーンテキストファイルで、User-agent(ウェブクローラー)向けの簡潔なクロール指示を記載します。公開かつ機械で読み取れるもので、認証や隠蔽を行いません。クローラーはサイト所有者が回避または優先してほしいパスを学ぶためにrobots.txtを参照します。

robots.txtがSEOで重要な理由

robots.txtはクロールを制御します。クロールとはサイトを発見し取得する工程で、検索エンジンがサイトとやり取りする際に。クローラーが URL の取得をブロックされると、meta robots のようなページ内指示やインデックス化に必要なページコンテンツを確認できないことがあります。つまり robots.txt は間接的にインデックス化に影響を与える可能性がありますが、ランキング順を直接決めるものではありません — ランキングはインデックス後に多くのシグナルを使って決定されます。robots.txt はサーバー資源を守ったり、重複や内部ツールのページのクロールを避けたり、正しいレンダリングに必要な資産へクローラーがアクセスできるようにするために使いましょう。

robots.txtの仕組み

クローラーは同一ホストの他のページをリクエストする前に /robots.txt を取得し、最初にマッチした User-agent のスタンザ(セクション)とその指示を適用します。主要クローラーがサポートする一般的なディレクティブには User-agent、Disallow、Allow、Sitemap があります。パターンマッチングや追加ディレクティブの対応はクローラーごとに異なります。Google は * や $ といったパターンを認識し、ドキュメントに従った Allow/Disallow の優先ルールを尊重します。

一般的なディレクティブと例

最小限のrobots.txt例:

User-agent: *
Disallow: /private/
Allow: /public/
Sitemap: https://example.com/sitemap.xml

補足:robots.txtはサイトのルートに配置してください。robots.txt が HTTP 404 を返す場合、多くのクローラーは「制限なし」と扱います。取得できない、またはサーバーエラーを返す場合はクローラーの挙動が異なることがあるため、誤って広範囲をブロックしないようテストと監視を行ってください。Google 固有の挙動や例については Google の robots.txt ドキュメントを参照してください。

robots.txtのタイプ

目的に応じて様々な書き方があり、以下はよく使われるアプローチとその利点・欠点です。

- サイト全体のブロック (Disallow: /)
メリット: ホスト全体へのクローラーアクセスを即時に防げる。
デメリット: コンテンツや資産の取得を阻止し、公開ページのインデックス化を止める可能性がある。

- パス指定のルール (Disallow: /private/)
メリット: 内部や管理用パスを除外しやすい。
デメリット: robots.txt は公開されるため、機密パスを記載して“隠す”手段にはしないこと。

- User-agent 指定ルール (User-agent: Googlebot)
メリット: 特定のクローラー向けに挙動を調整できる。
デメリット: メンテナンスが増える。非標準のディレクティブを無視するクローラーもいる。

robots.txtの始め方

1) クロールから保護すべき箇所(サーバー負荷が高い領域、ステージング用パス)とクロール可能にしておくべきもの(公開ページ、レンダリングに必要な CSS/JS)を決める。
2) サイトのルートに robots.txt というプレーンテキストファイルを作成する。運用環境にデプロイする前にローカルやステージングでテストする。
3) 下の技術チェックリストでデプロイと検証を行う。ファイルはシンプルに保ち、将来のメンテナが意図を理解できるよう User-agent ごとのルールを文書化しておく。

よくある robots.txt のミス

• 機密データを隠すために robots.txt に頼る — robots.txt は公開されるため、セキュリティ用途には使わない。認証を使うかリソースを削除すること。
• レンダリングに必要な CSS/JS をブロックする — 検索エンジンがページのレイアウトや内容を正しく理解できなくなる恐れがある。
• meta noindex を含むページをブロックする — Googlebot がページを取得できないと meta robots:noindex 指示を確認できない。
• robots.txt をサブパスに置く(例: /blog/robots.txt) — クローラーはルートレベルのファイルのみを参照します。

• 構文エラーや誤ったHTTPステータスコード — ファイルは適切に HTTP 200 で返されるようにする。

robots.txt の検証:技術チェックリスト

robots.txt をデプロイ・更新した後に以下のチェックを実行してください。各項目は検証場所と合格条件を示します。**ファイル到達性** — 検証先: curl -I https://example.com/robots.txt — リクエストが HTTP 200 を返し、期待する内容が取得できれば合格。
**正しいディレクティブ** — 検証先: curl https://example.com/robots.txt または ブラウザで view-source — User-agent/Disallow/Allow の行が方針と一致していれば合格。
**レンダリング資産をブロックしていないか** — 検証先: Chrome DevTools の Network と Coverage、またはクローラーシミュレータで取得 — レンダリングに必要な CSS/JS が Disallow されていなければ合格。
**Google によるブロック確認(自サイト)** — 検証先:
Google Search Console

URL Inspection — 検査で URL がクロール可能で "Blocked by robots.txt" と表示されていなければ合格。
**外部クロールチェック** — 検証先: curl やサードパーティのクローラーでブロック対象の URL をリクエストし、ページが 200 を返すがクローラーはアクセスを拒否されたことを確認 — 挙動が期待通りであれば合格。
**サイトマップの存在** — 検証先: robots.txt の内容と Google Search Console の Sitemaps レポート — robots.txt にサイトマップ URL が記載されているか、Search Console で送信・受理されていれば合格。

robots.txt を検証するためのツールとコマンドcurl(ヘッダのみ): curl -I https://example.com/robots.txt — HTTP ステータスとレスポンスヘッダを返す。curl(ファイル全体): curl https://example.com/robots.txt — 内容を出力して確認する。Chrome DevTools: ファイル URL を開くかページのネットワークリクエストを確認して資産が許可されているかを確かめる。Google Search Console の URL Inspection: 自分の所有する URL について、Google がページを確認できているか、robots.txt によってブロックされていないかを報告します。Bing Webmaster Tools

Site Explorer は、検証済みサイトに対して Bing がファイルをどのように扱ったかを表示できます。サーバーログを使い、どの User-agent が robots.txt をリクエストしたか、頻度を確認しましょう。サポートされるディレクティブや優先順位の権威ある詳細については公式ドキュメントを参照してください:

https://developers.google.com/search/docs/advanced/robots/intro

テクニカル SEO ガイドを読む

よくある質問

Q: robots.txt でページをブロックしたら検索結果から消えますか?
A: robots.txt でのブロックはクローラーがページを取得するのを防ぐため、通常ページ内のシグナルは確認されません。ブロックされたページは外部のシグナル(URL のみの登録)に基づいて検索結果に表示されることがありますが、キャッシュスニペットやレンダリング済みのコンテンツは表示されません。削除をリクエストするには自分の URL についてインデックス削除ツールを使用してください。メタデータでインデックス制御をしたい場合は、クローラーが meta robots:noindex を確認できるようページをクロール可能にしてください。

Q: robots.txt で特定のボットをブロックできますか?
A: 既知のクローラーを対象に User-agent 指定のスタンザを追加できます。ただし robots.txt はエチケットに基づく仕組みで、善良なクローラーは従いますが悪意あるボットは無視する可能性があります。より強固な保護が必要なら認証、IP フィルタ、ファイアウォールを使ってください。

Q: robots.txt にサイトマップを含めるべきですか?
A: robots.txt に Sitemap: https://example.com/sitemap.xml を記載するのはクローラーにサイトマップの位置を伝える便利な方法です。管理しているサイトは Google Search Console に直接サイトマップを送信することも忘れずに。Q: robots.txt はプロトコルとホストごとに適用されますか?
A: はい。robots.txt はホストとプロトコルごとに取得されます: https://example.com/robots.txt は http://example.com/robots.txt や https://sub.example.com/robots.txt

。ファイルはサイトで使っているスキームとホストと同じ場所に置いてください。Q:mobile-first indexingは robots.txt にどのように影響しますか?
A: Google はモバイル版を主な基準として使用しており、
クロールとインデックス

. 2024年7月以降、Google はデフォルトで Googlebot Smartphone を使って Search 用にサイトをクロールしています。robots.txt がモバイルで提供されるページ上の、正しいレンダリングとインデックス化に必要なリソースを意図せずブロックしていないかを確認してください。Q: 公式ガイダンスはどこで見つけられますか?
A: 詳細は Google の robots.txt ドキュメントを参照してください:https://developers.google.com/search/docs/advanced/robots/intro および Schema.org と W3C の関連リソースを参照してください。

質の高いバックリンクで権威を高める

関連用語