はじめての robots.txt ― 「正しい置き方・書き方・確認方法」

3 min 87 views
robots.txtの説明

robots.txt は「クロール制御」の指示書

robots.txt は検索エンジンのクローラーに “どのURLをクロールしてよいか” を伝えるファイルです。

インデックス除外(検索結果から消す)用の仕組みではありません。

ページを検索結果から外したいなら noindex(メタタグ/HTTPヘッダー)や認証保護を使います。

どこに置く?設置ルールの基本

  • ファイル名は robots.txt(拡張子は .txt)
  • プロトコル+ホスト+ポート単位のルートに配置(例:https://example.com/robots.txt)。
  • サブディレクトリでは不可。
  • サブドメインごとに別ファイルが必要。

主要ディレクティブ(書式と意味)

User-agent: <クローラー名 または * >
Disallow:  <パス(先頭は/)>
Allow:     <パス>
Sitemap:   <絶対URL>
  • User-agent: どのクローラー向けのルールか(* は全クローラー)。
  • Disallow: クロール禁止にするパスを 大文字小文字を区別して指定。空の値は「すべて許可」と同義。
  • Allow: より具体的な許可Disallow を部分的に上書き(Google は Allow をサポート)。
  • Sitemap: サイトマップの 絶対URL を記載。複数記載OK、別ホストのサイトマップも可。

補足:sitemap に列挙したURLが Disallow を上書きすることはありません。

まずはこの3パターン(テンプレそのまま使えます)

1) 基本:すべて許可+サイトマップ案内

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

ポイントDisallow: を空にする=全許可。Sitemap は絶対URLで。

2) 管理画面や検索結果ページを除外

User-agent: *
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /search
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml

ポイント:AJAXエンドポイントなど必要な資源を Allow で戻す。

Allow はより具体的な一致が優先されます。

3) ディレクトリ全体を除外しつつ、一部だけ許可

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

ポイント:ディレクトリ丸ごと禁止→配下の特定パスだけ許可、のよくある組み合わせ。

よくあるつまずき(初学者がハマりやすい順)

  1. インデックス除外と混同
     Disallow は「クロール禁止」であって「検索結果から消す」ではありません。非公開にしたいなら noindex や認証を。
  2. sitemap を相対パスで書く
     Sitemap: /sitemap.xml はNG。必ず絶対URLで。複数・別ホストもOK。
  3. 大文字小文字のミス
     /File.asp/file.asp は別物。意図通りにブロックされません。
  4. 「全部禁止」をうっかり本番に適用
     Disallow: / は全ブロック。メンテ時の一時設定をそのままデプロイしないように。
  5. AIクローラー対策を忘れる
     昨今は各社のAIクローラーを User-agent 指定で弾く運用も増えています(ただしすべてのボットが robots を守るわけではない)。

いまの「正しい確認方法」:テスターの事情と代替手順

  • 旧版の Search Console「robots.txt テスター」は終了。現在は URL 検査ツールで「このURLが robots でブロックされていないか」を確認するのが公式推奨です。さらに、Googleが公開しているrobots.txt オープンソースパーサーでローカル検証も可能。
  • 外部の検証ツール(TechnicalSEO、Screaming Frog など)も補助として有用。
  • Search Console の 設定>robots.txt レポートから、Google が見ている robots.txt の取得状況・到達性エラーも確認できます。

User-agent の粒度について(知っておくと安心)

Google には検索や広告品質確認など用途別のクローラーがあります(例:Googlebot、広告品質確認の AdsBot-Google-Mobile-Apps など)。

特定の用途だけ許可/禁止したいときは 対象の User-agent トークン名でグループを分けて記述します。

サイトマップとの付き合い方(2025年のベスト)

  • CMS が自動生成するサイトマップを Search Console の「サイトマップ」から登録robots.txt にも絶対URLで併記。大規模サイトは インデックスサイトマップで分割。
  • 別ホストにサイトマップを置いてクロスサブミットも可能(所有権検証が前提)。

実運用チェックリスト

  • https://example.com/robots.txt に到達できる
  • 本番環境に Disallow: / を残していない
  • 重要ページや重要リソース(CSS/JS/画像)を誤ってブロックしていない
  • Sitemap:絶対URL、複数あれば複数行で列挙
  • URL 検査ツールで要のURLをライブテスト
  • (必要に応じて)主要AIクローラーのブロック行を追加し、ポリシーを文書化

まとめ

  • robots.txt はクロールの交通整理。インデックス除外は別手段。
  • 設置はルート直下、書式は大小区別・絶対URLのSitemapが基本。
  • テストは URL 検査ツール+外部検証で堅実に。旧テスター前提の手順は更新しよう。

付録:AIクローラーをまとめて断る例(任意)

すべてのクローラーが順守するとは限りません。

スクレイパー対策は WAF 等と併用を。

User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: PerplexityBot
Disallow: /
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml
関連記事