クローラー
TooruBot — Tooru のクローラー
アクセスログでこの User-Agent を見つけた方へ。何をしているクローラーか、何を取りに行くか、止める方法を説明します。
User-Agent
TooruBot/1.0 (+https://tooru.ai/bot)Tooru のクローラーはこの文字列で名乗ります。規則を書くときは先頭の「TooruBot」で一致させてください。
運営者
Tooru(tooru.ai)は、Web サイトが AI 検索や AI エージェントにどう読まれているかを診断するサービスです。運営は株式会社アンタイプ(東京都港区)です。
いつ来るか
Tooru の利用者が URL の診断を依頼したとき、またはサイトを登録してページの一覧づくりを依頼したときだけです。TooruBot が自分から Web を巡回することはなく、下で説明する API の記述と MCP サーバーの確認を除き、依頼されたページから先のリンクをたどることもありません。同じサイトへは Tooru の利用者全体で同時に 1 本だけ、ページとページの間は 1 秒以上(robots.txt に Crawl-delay があればその秒数)あけて取得します。
何を取りに行くか
診断するページごとに:
- そのページの HTML(サーバーが返したまま)。JavaScript は実行せず、画像・スタイルシート・スクリプトも読み込みません。
- ページごとではなくサイトごとに 1 回: 最初に診断したページの URL をもう 1 回、「Accept: text/markdown」付きで(Markdown 版を出しているかの確認。下のサイトのファイルと一緒に取り、同じように使い回します)。
- サイトのルートにある次のファイル(まとめて 1 回取り、ページごとには取り直さず、最大 10 分間使い回します):
/robots.txt/llms.txt/llms-full.txt/.well-known/mcp/server-card.json/.well-known/mcp.json/.well-known/mcp/.well-known/oauth-protected-resource/.well-known/api-catalog/.well-known/agent-card.json/.well-known/ucpサイトマップは、先に robots.txt の Sitemap: 行に書かれたもの(同じサイトのものを先頭から 3 本まで)を試し、次に下の場所をこの順に 1 本ずつ試して、サイトマップとして読めたところで止めます:
/sitemap.xml/sitemap_index.xml/wp-sitemap.xml/sitemap-index.xml次の場合に限り、要求を少し追加します(どれも 5 秒で打ち切ります)。こうした宣言やリンクの無いサイトには 1 本も送りません:
- 上の MCP のファイルのどれかが MCP のサーバーカードだったとき: カードに書かれた MCP サーバーの URL へ、JSON-RPC の「initialize」(名乗りは「TooruBot」)を POST で 1 回送り、サーバーが応答するかを確かめます。サーバーは別のホストのこともあります。それ以外は送らず、転送は同じオリジンの中だけ追います。カードに旧方式(HTTP+SSE)の入口しか無いときは送りません。
- その MCP サーバーが 401 か 403 を返したときだけ: OAuth の発見のために GET を最大 2 回 — 保護リソースのメタデータ(WWW-Authenticate ヘッダーに書かれた URL、無ければ MCP サーバーのホストの /.well-known/oauth-protected-resource。上で取ったファイルと同じなら取り直さない)と、認可サーバーのメタデータ(そこに書かれた認可サーバー、無ければ MCP サーバーのホストの /.well-known/oauth-authorization-server)です。
- ページに API の記述へのリンク(<link rel="service-desc">、または openapi.json・swagger.yaml・/v3/api-docs のようなパスや Swagger UI / Redoc のページへのリンク)があるときだけ: そのリンクを 2 本まで、Swagger UI / Redoc のページに記述の URL が書かれていればもう 1 本取得します。2 MB を超える応答は打ち切ります。
ページの一覧づくりを依頼されたときは、サイトマップ(robots.txt に書かれたもの・下の慣習の場所・利用者が追加したもの)と、llms.txt に書かれたリンクも読みます。
/sitemap.xml/sitemap_index.xml/wp-sitemap.xml/sitemap.xml.gz所有者が Tooru で所有を確認したドメインに限り、トップページを診断するときに、トップページを http:// で 1 回(https:// へ転送しているかの確認)と、/.well-known/security.txt を 1 回取得します。
「変わっていない」と答えるかを確かめるため、同じページを If-None-Match / If-Modified-Since を付けてもう 1 回取得します(最初の応答に ETag か Last-Modified があったときだけ・1 回の診断でトップと最大 4 ページだけ)。2 回目の応答は 1 KB までしか読みません。
存在しないページに 404 を返しているかを確かめるため、存在しないはずの URL(/tooru-check- のあとにランダムな英数字)を、1 回の診断で 1 回だけ取得します。応答は 1 KB までしか読みません。アクセスログに 404 として残ることがあります。
時間切れは HTML が 10 秒、その他のファイルが 5 秒です。5 MB を超える応答は打ち切ります。ページは 1 つずつ順番に診断します。
拒否されたとき
所有者が Tooru で所有を確認したドメインに限り、ページが 401・403・406・429 を返すか、ボット対策のチャレンジを返したときだけ、同じ URL を一般的なブラウザの User-Agent で 1 回だけ取り直します。それ以外のドメインでは、拒否されたらそこで止め、別の名前で取り直すことはしません。目的は、利用者に「TooruBot だけが拒否されている」のか「ブラウザ以外がすべて拒否されている」のかを伝えることです。ブラウザでの取得に成功した場合は、上のファイルと追加の要求もブラウザの User-Agent で送ります(原因が 1 つなのに指摘が複数並ばないようにするため)。それ以外の再試行はしません。
何を残すか
各項目の判定結果と、ページの短い要約(題名・説明文・見出し・ナビゲーションの文字・本文の先頭 1,500 字・構造化データの型・サイトのアイコンの URL)です。HTML そのものと、robots.txt・llms.txt・/.well-known/ のファイルの本文、MCP サーバーの応答や API の記述の本文は残しません(残すのは、その URL・MCP サーバーが名乗った名前と版・判定の結果だけです)。結果は診断を依頼した Tooru の利用者のもので、その利用者がアカウントを削除すると消えます。
どこから来るか
Vercel の基盤から送られます。IP アドレスは固定ではなく公開もしていないので、User-Agent で識別してください。
TooruBot-Observer(引用元の確認)
TooruBot-Observer/1.0 (+https://tooru.ai/bot)2 つの場合に来ます。① Tooru の利用者が「AI の答えの引用元を確かめる」を依頼したとき、AI(ChatGPT・Claude・Gemini・Perplexity の API)が答えの根拠として引用したページを取りに行きます。② 業界ごとの傾向を測る定点観測として、主要な株価指数(日経 225・TOPIX プライム・S&P 500・NASDAQ 100 など)の構成企業や、非上場の大手企業・注目のスタートアップ(J-Startup・ユニコーン)・大学・高専の公式サイトを、原則として月に 1 回、トップページと、そこからリンクされた主要ページ(メニューなど)4 枚まで(計 5 ページ)取得します。採点の方法を改めた月だけは、新しい方法で測り直すためにもう 1 回取得します(月 2 回まで)。どちらも巡回はせず、それ以外のリンクはたどりません。同じ URL は月に 1 回まで(採点の方法を改めた月の定点観測だけ 2 回まで)、同じサイトは全体で月 30 ページまで(その月は定点観測の 5 ページの取り直しが加わります)、ページとページの間は 1 秒以上(Crawl-delay があればその秒数)あけて、1 つずつ順番に取得します。
ほかのサイトの記事(まとめ記事・比較サイトなど)は、robots.txt とそのページの HTML だけを取ります。利用者が競合として登録したサイトのページは、TooruBot の診断と同じもの(上の「何を取りに行くか」)を取ります。
robots.txt について: 「User-agent: TooruBot-Observer」と「User-agent: TooruBot」(そのグループが無ければ「*」)の両方を読み、どちらかで Disallow されていれば取得しません。TooruBot-Observer だけを断れば、このサイトの所有者が Tooru で自分のサイトを診断すること(TooruBot)は止めずに、引用元の確認だけを断れます。拒否されてもブラウザの User-Agent での取り直しはしません。
Tooru に残すのは判定結果だけです(記事に載っていた会社の名前・診断の各項目の判定)。記事の本文は、名前の照合のために観測用の端末に最大 31 日置き、その後消去します。Tooru のサーバーやデータベースには置きません。
Tooru が運営する観測用の端末(日本国内の回線)から送られます。止める方法は TooruBot と同じです(下の「止める方法」。User-Agent は先頭の「TooruBot」で一致させれば両方を止められます)。
止める方法
サーバー・CDN・WAF の設定で User-Agent「TooruBot」を拒否してください。上で説明したブラウザ UA での 1 回の取り直しも止めたい場合は、下の連絡先へご連絡ください。
robots.txt について: TooruBot は robots.txt を守ります。「User-agent: TooruBot」(そのグループが無ければ「*」)で Disallow されたページは取得せず、Crawl-delay は 60 秒まで守ります。規則を知るために、robots.txt 自体は常に読みます。
診断の対象から外してほしい場合は、ドメインを添えて support@tooru.ai へご連絡ください。除外リストに登録すると、解除のご依頼があるまで、Tooru のどの利用者も(所有確認をした利用者も含めて)そのドメインを診断・ページの一覧づくり・登録できなくなります。