First CH Appsサーバー処理を伴う小さなアプリ置き場

EN

First CH Apps / robots.txt テスター

robots.txt テスター

URLとクローラー名を入れると、そのサイトの /robots.txt を取得して「このURLをこのUAでクロールしてよいか」を判定します。判定はGoogleのマッチング仕様(最長一致が勝ち・同着ならAllowが勝つ)に準拠し、効いた規則と負けた規則を行番号つきで表示します。構文の警告つき。

一覧から選ぶか、完全なUA文字列を貼り付けてください(照合に使う名前を自動で取り出します)。

robots.txt を作る側はこちら

書き方が分かったら、tools.first-ch.com の robots.txt ジェネレーターでフォームから生成できます(完全に端末内で処理され、ファイルは送信されません)。AIクローラーの許可・拒否にも対応しています。

robots.txt ジェネレーター(tools.first-ch.com)へ →

AIクローラーをまとめて確認するなら

GPTBot・ClaudeBot・PerplexityBot など主要AIクローラーを1体ずつ一覧で確認したい場合は、AIクローラー許可チェッカーが使えます(このアプリは1体を深掘りする側です)。

AIクローラー許可チェッカーへ →

SERVER PROCESSING — サーバーへ送るもの・保存するもの

送るもの: 入力されたURLとUser-agent名だけ。当社サーバー(Cloudflare Workers)が、そのサイトの /robots.txt を公開ページとして1本取得します(1回の判定で外部への取得は最大3本=DNS 2本+robots.txt 1本)。入力されたURL自体は取得しません。

保存するもの: ありません。判定はリクエストの中だけで完結し、URL・UA・判定結果ともデータベース(KV/D1)へ書き込みません。処理が終わった時点でメモリから消えます。

返すもの: 可否の判定、効いた規則のパターンと行番号、構文警告(該当箇所の先頭60字まで)、Sitemap行(先頭5件)だけです。取得した robots.txt の原文は再配信しません。

注意: 取得は公開GETのみで、社内ネットワーク・localhost・プライベートIP宛のURLは受け付けません。ログイン後にしか見られないサイトは判定できません。

APIとして使う

POST /robots-tester/api/test に JSON({"url": "https://example.com/admin/", "userAgent": "Googlebot"})またはフォームを送ると、同じ判定結果を JSON で返します。

robots.txt はクローラー側の自主的な遵守が前提の取り決めです。Disallow は「取得しないでほしい」という申し入れであって、アクセスを止める効力はありません(確実に止めるにはサーバー側でのUAブロックや認証が必要です)。

パスの照合は大文字・小文字を区別します(`/Admin/` と `/admin/` は別物です)。ワイルドカードは `*`(任意の文字列)と末尾の `$`(終端)だけが特別扱いされます。

この判定はGoogleのマッチング仕様に準拠しています。他社のクローラーは細部(`$` の解釈・グループの選び方)が異なる場合があります。