AI Bot Access Checker について
AI Bot Access Checkerは、13種類のAI・検索クローラーがURLにアクセスできるかを調べ、robots.txtの規則とサーバーやファイアウォールによる拒否を区別します。ウェブツール、REST API、リモートMCPサーバーとして利用できます。
主な機能
- 0113種類のクローラーUser-Agentを確認
- 02クローラーとブラウザーの応答を比較
- 03robots.txtとサーバーの拒否を報告
- 04REST APIとウェブインターフェース
- 05読み取り専用のMCPツール
活用シーン
- 01AIクローラーがページにアクセスできない原因の調査
- 02ファイアウォールやレート制限の応答確認
- 03robots.txt変更前のクローラーアクセス確認
MCP 対応
`https://tools.seopaslaugos.io/mcp`のリモートMCPサーバーは、読み取り専用の`check_ai_bot_access`ツールを提供します。確認対象のURLにリクエストを送信します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://tools.seopaslaugos.io/mcpclaude mcp add --transport http io-seopaslaugos-ai-bot-access-checker https://tools.seopaslaugos.io/mcp{"mcpServers":{"io-seopaslaugos-ai-bot-access-checker":{"type":"http","url":"https://tools.seopaslaugos.io/mcp"}}}Cursor で開く{"servers":{"io-seopaslaugos-ai-bot-access-checker":{"type":"http","url":"https://tools.seopaslaugos.io/mcp"}}}VS Code で開く{"mcpServers":{"io-seopaslaugos-ai-bot-access-checker":{"type":"http","url":"https://tools.seopaslaugos.io/mcp"}}}{"mcpServers":{"io-seopaslaugos-ai-bot-access-checker":{"serverUrl":"https://tools.seopaslaugos.io/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
AI Bot アクセスチェッカー
ChatGPT、Claude、Perplexity、Google は実際にページへアクセスできるでしょうか? このツールは、1 つの URL に対して 13 種類の AI および検索クローラーをチェックし、それぞれについて、robots.txt にブロックされているのか、通常のブラウザーではページを取得できる一方で サーバーまたはファイアウォール に拒否されているのかを知らせます。
- ウェブ版: seopaslaugos.io/en/tools/ai-bot-access-checker
- REST API:
https://tools.seopaslaugos.io/v1/check?url=example.com(OpenAPI) - リモート MCP サーバー:
https://tools.seopaslaugos.io/mcp(Streamable HTTP、ツールcheck_ai_bot_access) - エージェントスキル:
skills/ai-bot-access-check/SKILL.md
無料、キー不要、MIT ライセンスです。
理由
robots.txt は全体の半分にすぎません。共有ホスティングのセキュリティルール(ModSecurity)、キャッシュされていないページに対してボットへ 429 を返すレートリミッター、CDN のボット設定(Cloudflare による AI クローラーのブロック)は、多くの場合デフォルトで、robots.txt が読み取られる前に AI クローラーを拒否します。そのため、サイト所有者は ChatGPT がサイトに「アクセスできない」と言う理由に首をかしげます。ほとんどのチェッカーは robots.txt を読むだけですが、このツールは各ボットとしてページにもリクエストを送り、ブラウザーの場合と応答を比較します。
チェック対象のボット
| ボット | 提供元 | 用途 |
|---|---|---|
| GPTBot | OpenAI | トレーニング |
| OAI-SearchBot | OpenAI | ChatGPT の検索インデックス |
| ChatGPT-User | OpenAI | ユーザーからの依頼に応じたリアルタイムのアクセス(OpenAI によると、robots.txt は 適用されない場合があります) |
| ClaudeBot | Anthropic | トレーニング |
| Claude-SearchBot | Anthropic | Claude の検索インデックス |
| Claude-User | Anthropic | ユーザーからの依頼に応じたリアルタイムのアクセス |
| PerplexityBot | Perplexity | Perplexity の検索インデックス |
| Perplexity-User | Perplexity | ユーザーからの依頼に応じたリアルタイムのアクセス(Perplexity によると、robots.txt は 一般に無視されます) |
| Googlebot | Google 検索、AI Overviews、AI Mode | |
| Google-Extended | Gemini のトレーニングをオプトアウト(robots.txt のトークンのみ。検索には影響しません) | |
| bingbot | Microsoft | Bing の検索インデックス |
| Applebot-Extended | Apple | Apple のモデル学習をオプトアウト(robots.txt のトークンのみ。Apple の検索には影響しません) |
| CCBot | Common Crawl | 公開トレーニングコーパス |
使い方
REST
curl "https://tools.seopaslaugos.io/v1/check?url=example.com&format=text"
curl "https://tools.seopaslaugos.io/v1/check?url=https://example.com/pricing&bots=GPTBot,ClaudeBot"
AI bot access for https://www.example.lt/
Browser baseline: HTTP 200
robots.txt: found (HTTP 200)
GPTBot BLOCKED (server/firewall) - Gets a Cloudflare block page (HTTP 403) instead of the page.
OAI-SearchBot BLOCKED (server/firewall) - Gets a Cloudflare block page (HTTP 403) instead of the page.
Claude-User ALLOWED
Googlebot ALLOWED
...
MCP(Claude Code、Cursor、ChatGPT、任意の MCP クライアント)
{
"mcpServers": {
"ai-bot-access-checker": { "type": "http", "url": "https://tools.seopaslaugos.io/mcp" }
}
}
Hermes Agent
hermes plugins install ai-bot-access-checker
このパッケージは Agent Plugins v1 バンドルです。plugin.json、mcp.json(リモート Streamable HTTP サーバー、キー不要、ローカルプロセス不要)、および skills/ 内のスキルが含まれます。唯一のツールは読み取り専用です。チェックを依頼された URL に対し、tools.seopaslaugos.io から HTTP リクエストを送信します。
エージェントスキル
skills/ai-bot-access-check をエージェントのスキルフォルダーにコピーするか、ClawHub からインストールしてください。このスキルは curl で REST API を呼び出すため、MCP のサポートは不要です。
結果
access | 意味 |
|---|---|
allowed | robots.txt で許可されており、サーバーはブラウザーと同様に応答します |
blocked_by_robots | Disallow ルールが適用されています(ルールとユーザーエージェントグループを含みます)。ChatGPT-User と Perplexity-User については、提供元が robots.txt を無視する場合があるとしています。その旨は robots.vendorNote に記載されています |
blocked_by_server | robots.txt では許可されていますが、サーバーが User-Agent を拒否しています:403、429、接続切断、チャレンジまたは CAPTCHA ページ |
inconclusive | ファイアウォールが偽装した Googlebot も拒否するため、クローラーの IP を確認します。実際のクローラーはアクセスできる可能性があります |
suspicious | HTTP 200 ですが、ブラウザーの応答サイズの 5 分の 1 に満たない状態です |
page_error | 通常のブラウザーでも失敗します |
仕組みと制限事項
- robots.txt は RFC 9309 に従って解析されます。最も具体的なユーザーエージェントグループが適用され、重複するグループは統合されます。最長一致が優先され、同じ長さで一致する場合は Allow が優先されます。
*と$のワイルドカードに対応しています。robots.txt が 4xx の場合は制限なし、5xx の場合は全面的に拒否として扱われます。 - ページは Cloudflare のネットワークから、デスクトップ Chrome の User-Agent で 1 回、各ボットについては公開されているボットの User-Agent で 1 回ずつリクエストされます。
- リクエストはベンダーの IP 範囲からは送信されません。User-Agent によるブロック(ほとんどのホスティングファイアウォール)は検出されます。クローラーの IP を検証するファイアウォールについては、推測で判定せず
inconclusiveと報告します。 - レート制限は、呼び出し元 IP あたり毎分 20 回、すべての呼び出し元を合わせて、チェック対象のウェブサイトあたり毎分 6 回の新規チェックです。これにより、チェッカーを使ってサイトに大量のリクエストを送ることはできません。結果は URL ごとに 10 分間キャッシュされます。
セキュリティ
- ドメイン名を含む、ポート 80/443 の公開
http/httpsURL のみがチェック対象です。IP リテラル(ドット区切り、10 進数、8 進数、16 進数、IPv6)、localhostと予約済み TLD、プライベートアドレスを指すワイルドカード DNS ホスト(nip.io、sslip.io、など)、認証情報を含む URL、チェッカー自身のホストは拒否されます。 - リダイレクトは手動で追跡され(最大 5 回)、各リダイレクト先も同じ方法で検証されます。そのため、公開ページからチェッカーを内部アドレス、別のポート、またはチェッカー自身の API に転送することはできません。
- 各レスポンスの読み取りは最大 64 KiB です。各リクエストは 10 秒後にタイムアウトします。
- robots.txt の照合には、作業量の予算と行数、ルール数、パターン長の上限を設けた線形ワイルドカードマッチャーを使用します。そのため、悪意のある robots.txt によって Worker が停止することはありません。予算を使い切った場合、結果は inconclusive と表示されます。
- チェック対象サイトから取得したテキスト(robots.txt のルール、URL、ヘッダー)は、利用者や AI エージェントに返す前に、制御文字と双方向テキスト制御文字を除去し、長さを制限します。
- MCP バッチは最大 10 メッセージ、
tools/callは 1 件に制限されます。リクエスト本文は最大 16 KiB です。 - キー、Cookie、ユーザーデータは保存されません。結果は URL のみをキーとしてキャッシュされます。
問題を見つけましたか?Issue を作成するか、[email protected] までメールでご連絡ください。
独自に実行する
npm install
npm test # robots.txt parser tests
npx wrangler dev # local Worker on :8787
wrangler.toml のルートを変更した後、npx wrangler deploy でデプロイします。
作者
リトアニアの SEO スペシャリスト、Mantas Tamošaitis が作成しました。seopaslaugos.io で、サービス事業者やオンラインショップ向けに Google 検索と AI 検索での可視性向上に取り組んでいます。Issue とプルリクエストを歓迎します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。