FIRST CH TOOLS / 36 ROBOTS.TXT GENERATOR

robots.txt ジェネレーター

検索エンジンとAIクローラーに「どこを読んでよいか」を伝える robots.txt を、フォームを埋めるだけで作れます。GPTBot・ClaudeBot などの学習用クローラーだけを断り、AI検索のクローラーは通すといった書き分けもプリセットから選べます。できたファイルはサイトのルート(https://example.com/robots.txt)に置いてください。

1 — 基本のルール

2 — AIクローラー

クローラーは自分に一致するグループを1つだけ読みます。AI用のグループを作ると User-agent: * のルールはそのクローラーへ届かなくなるため、上のチェックを入れたまま使うことをおすすめします。

3 — サイトマップ

4 — 出力

robots.txt

    
0
行数
0
Allow / Disallow
0
拒否したAIクローラー
0
バイト
読み取りの結果

入力した内容がブラウザの外へ出ることはありません(組み立ても検査もこのページの中だけで動いています)。URLパラメータで直接呼び出せます: /robots-txt/?site=https%3A%2F%2Fexample.com&ai=training/robots-txt/?policy=custom&disallow=/admin/,/cart/&sitemap=https%3A%2F%2Fexample.com%2Fsitemap.xml

How to Use

  1. 基本方針を選ぶサイト全体を許可するか、一部のパスだけ拒否するかを選びます。管理画面やカートなど、検索結果に出しても意味のないパスは「クイック追加」から入れられます。
  2. AIクローラーを決めるプリセットで学習用だけ拒否・すべて許可・すべて拒否を切り替えられます。1件ずつ許可/拒否を変えることもできます。
  3. ルートに置くできた robots.txt をダウンロードし、サイトの最上位(https://example.com/robots.txt)にアップロードします。サブディレクトリに置いても読まれません。

About This Tool

robots.txt はクローラーへの通行の指示書です。サイトのルートに置かれたこのテキストファイルを、検索エンジンやAIのクローラーが最初に読みます。User-agent で相手を指定し、Disallow で読ませないパス、Allow でその例外を書きます。仕様は長く事実上の標準でしたが、2022年に RFC 9309 として正式な仕様になりました。

「AIに学習されたくない、でもAI検索には出したい」を書き分けます。AIクローラーは目的が3つに分かれています——モデルの学習用(GPTBot・ClaudeBot・Google-Extended など)、AI検索の索引用(OAI-SearchBot・PerplexityBot・Claude-SearchBot など)、利用者がURLを貼ったときだけ来る都度取得(ChatGPT-User など)です。このツールは目的ごとに扱いを分けたプリセットを持っているので、「学習は断るが、AI検索の結果には出したい」という一番多い要望をそのまま書けます。llms.txt ジェネレーターと対で使うと、断る相手と歓迎する相手の両方を宣言できます。

専用グループを作ると共通ルールが届かなくなる問題に対処します。クローラーは自分に一致するグループを1つだけ読み、残りは見ません。User-agent: *Disallow: /admin/ と書いてあっても、User-agent: GPTBot のグループを作った時点で GPTBot は /admin/ を読めるようになります。このツールは既定で共通の禁止パスをAIクローラーのグループへ書き写すため、この取りこぼしが起きません。

書き間違いをその場で指摘します。先頭の / の抜け、絶対URLをそのまま書いた行、空白を含むパス、パーセントエンコードしていない日本語のパス、同じ User-agent が2つのグループに出ている状態、Googlebot が読まない Crawl-delay、サイトマップの宣言漏れなどを「読み取りの結果」に出します。パスの先頭 / と絶対URLは自動で直します。

robots.txt を置いたら Search Console の robots.txt レポートで実際に読めているかを確認してください。サイトマップ自体を作るなら llms.txt と併せて、構造化データは JSON-LD生成、OGPは OGPメタタグ生成ウィザード が使えます。

robots.txt の落とし穴

Disallow は「検索結果から消す」ではない

Disallow: /secret/     ← クロールを止めるだけ
<meta name="robots" content="noindex">   ← 検索結果から消すのはこちら

Disallow はクローラーにページを取りに行かせないだけです。他サイトからリンクされていれば、中身を読まないままURLだけが検索結果に載ることがあります。しかも noindex を書いたページを Disallow で塞ぐと、クローラーが noindex を読めないため消えません。検索結果から消したいページは、クロールを許可したうえで noindex を付けます。

秘密のURLの置き場所ではない

Disallow: /admin-secret-2026/   ← 誰でも読める場所に住所を書いている

robots.txt は誰でも開けるファイルです。隠したいディレクトリ名を書くことは、その場所を公開するのと同じです。アクセスされて困るものは、パスワード・認証・IP制限で守ってください。robots.txt は行儀のよいクローラーへのお願いで、強制力はありません(悪意のあるクローラーは無視します)。

クローラーが読むグループは1つだけ

User-agent: *
Disallow: /admin/

User-agent: GPTBot
Disallow:          ← GPTBot は上の /admin/ を読まない(=入れてしまう)

クローラーは自分の名前に一致するグループを探し、見つかったらそのグループだけに従います。見つからなかったときだけ * のグループを使います。特定のクローラーへ例外を書くときは、共通の禁止ルールも一緒に書き写す必要があります(このツールは既定で書き写します)。

CSS・JSを塞ぐとページの評価が下がる

Disallow: /assets/    ← レイアウトが崩れた状態で評価される

Googlebot はページを実際に描画して評価します。スタイルシートやJavaScript、画像をまとめて禁止すると、崩れたページとして扱われ、モバイル対応の判定にも響きます。/wp-includes//assets/ をまるごと塞ぐ設定を見かけますが、いまは推奨されません。

場所とファイル名は変えられない

https://example.com/robots.txt        ← ここだけが読まれる
https://example.com/sub/robots.txt    ← 読まれない
https://sub.example.com/robots.txt    ← サブドメインは別ファイル

robots.txt はホストごとに1つ、ルート直下と決まっています。サブディレクトリに置いても無視され、サブドメイン(blog.example.com)やスキーム違い(http と https)はそれぞれ別のファイルとして扱われます。ファイル名は小文字の robots.txt で、大文字混じりは読まれません。

ワイルドカードと $ は「主要な」クローラーだけの拡張

Disallow: /*?utm_source=    ← ? 以降にパラメータの付いたURL
Disallow: /*.pdf$           ← .pdf で終わるURL

*(任意の文字列)と $(行末)は RFC 9309 に入り、Google・Bing・OpenAI などは解釈しますが、すべてのクローラーが対応しているわけではありません。対応していないクローラーは文字どおりの文字列として読むため、意図した除外になりません。

Crawl-delay を Googlebot は読まない

Crawl-delay: 10   ← Bing・Yandex には効く / Google は無視する

サーバーの負荷を下げるために書かれることの多い Crawl-delay ですが、Googlebot は解釈しません(Googleのクロール頻度は Search Console 側で調整します)。Bing・Yandex などは従います。値を大きくしすぎるとインデックスが進まなくなるため、必要なときだけ短い値を使ってください。

書いていないクローラーは許可されている

User-agent: GPTBot
Disallow: /
(ここに書かれていないクローラーは全部許可)

robots.txt は「書いていないものは許可」の仕組みです。名指しで拒否したクローラー以外は、新しく登場したものも含めてすべて通ります。「AIには一切読ませない」を徹底したい場合は User-agent: * 側で拒否する必要がありますが、それは検索エンジンも止めることを意味します。どこまで断るかは事業判断です。

From AI Agents

この生成ロジックは、MCP(Model Context Protocol)サーバー @first-ch/tools-mcprobotstxt_generate ツールとしても提供しており、ブラウザを使わずAIエージェントから直接呼び出せます。導入方法の詳細は AIエージェントからの使い方 を参照してください。

導入

claude mcp add firstch-tools -- npx -y @first-ch/tools-mcp

呼び出し例

# 学習用のAIクローラーだけ断る robots.txt を書き出す
robotstxt_generate(siteUrl="https://example.com",
                   sitemaps="https://example.com/sitemap.xml",
                   ai={"preset": "training"})

# 管理画面を塞ぎ、AIクローラーにも同じ禁止パスを書き写す
robotstxt_generate(disallow="/admin/\n/cart/", ai={"preset": "training"})

# 生成せず、AIクローラーの一覧(名前・提供元・目的)だけを見る
robotstxt_generate(listCrawlers=true)

Other Tools