AIクローラのアクセス数: 店のページへ向かうクローラの列と robots.txt の柵の横で、GOAT君 が来訪を記録した板を見ているアイキャッチ(出典: Cloudflare, Inc.)
クローラの来訪を数える

うちの小さな店のサイトにも、ChatGPT や Claude のクローラは来ているのか。来ているなら何回で、robots.txt の指示を守っているのか。サイトを Cloudflare に通していれば、この問いには画面の数字で答えられます。Cloudflare のドキュメント「Analyze AI traffic」は、AI Crawl Control の数字で、AI クローラがサイトとどうやり取りしているかが分かると書いています。

ただし、この画面はどのサイトにもあるわけではありません。Cloudflare を使っていないサイトには、この記事の画面はありません。この記事では、画面が使える条件、回数を見るタブ、robots.txt の違反を見るタブを順に見ます。止めるか通すかの判断はCDN でのブロックの記事、各社のクローラ名と robots.txt の書き方はOpenAI のクローラの記事とClaude・Perplexity のクローラの記事で扱っています。

AI Crawl Controlの画面が使える条件

Cloudflare のドキュメント「Get started」は、AI Crawl Control を使う前提として次の 3 つを挙げています。

  1. Cloudflare のアカウントを作る
  2. ドメインを Cloudflare につなぐ
  3. ドメインのトラフィックが Cloudflare を経由する(プロキシされる)状態にする

3 つ目が抜けると、クローラのアクセスは Cloudflare を通りません。

無料プランで見えるのは直近24時間

Get started によると、無料プランの Metrics タブは、過去 24 時間の数字だけを表示します。同じページのプラン比較の表は、全プランの欄に「Maximum 24-hour analytics window」と書いています。期間を設定で変えられるのは、Bot Management を付けた Enterprise プランの欄です。

無料プランは名乗るクローラだけを数える

Get started によると、無料プランでは、AI クローラかどうかをユーザーエージェントの文字列で判断します。この方法で見つかるのは、よく知られていて自分から名乗るクローラです。Get started のプラン比較の表では、全プランの欄の検出方法はユーザーエージェントの文字列です。Bot Management の検出 ID を使う高度な検出は、Bot Management を付けた Enterprise プランの欄にだけあります。

名乗らないアクセスを数から外す例は、ほかの調査にもあります。Vercel が MERJ と行った調査「The rise of the AI crawler」は、Microsoft Copilot を集計から外した理由を「it lacks a unique user agent for tracking」と書いています。

AIクローラのアクセス数を確かめる3つのタブ

Analyze AI traffic は、AI Crawl Control の数字が Overview・Crawlers・Metrics の 3 つのタブにあると書いています。Get started の手順も、Overview で全体を見てから Metrics で細かい内訳を見る順に並んでいます。

AIクローラのアクセス数: Overview・Crawlers・Metrics・Directives の 4 つのタブを、運営会社ごとの回数から robots.txt の違反まで見る順に並べた図(出典: Cloudflare, Inc.)
AI Crawl Controlの画面を読む順

Overviewで運営会社ごとの回数を見る

Overview タブは、AI クローラの動きをひと目で見る画面です。Analyze AI traffic によると、先頭の要約では次の 5 つが見られます。

  • 総リクエスト数
  • その増減
  • 最も多い状態コード
  • 最も取られたパス
  • リクエストの多いクローラの動き

運営会社ごとのまとまりもここで見られます。Analyze AI traffic は、クローラを会社ごとに並べる欄について「Explore crawlers organized by company (OpenAI, Microsoft, Google, ByteDance, Anthropic, Meta) with allowed requests, referrals (paid plans only), and activity change percentages.」と書いています。「ChatGPT のクローラは来ているか」は OpenAI の行、「Claude のクローラは来ているか」は Anthropic の行で見当が付きます。ただし、この欄の数は許可したリクエスト(allowed requests)です。止めたアクセスやエラーになったアクセスを含む全件は、Metrics タブの All requests で見ます。参照(referrals)、つまり AI の画面からサイトへ来た訪問の数は、有料プランだけの欄です。

Crawlersでクローラ名と回数を見る

Crawlers タブは、クローラ 1 つずつの一覧です。Analyze AI traffic によると、列は次の 5 つです。

  • Crawler: クローラ名
  • Operator: 運営会社
  • Data transfer: 転送量
  • Requests: リクエスト数
  • Action: Allow か Block か

Action の列で Block を選ぶと、そのクローラを止める設定になります。

Metricsで状態コードとよく取られたパスを見る

Metrics タブでは、回数の内訳を時間の流れで見ます。Analyze AI traffic によると、表示は 3 つに切り替えられます。

  • All requests: 止めたアクセスとエラーになったアクセスを含む全件
  • Allowed requests: 成功の応答(状態コード 200〜299)を返したアクセス
  • Data transfer: 許可したアクセスの転送量

状態コードの分布のグラフでは、4xx に止めたアクセスが入ります。Analyze AI traffic は 4xx を「Client errors (including 403 blocked and 402 payment required)」と書いています。

4xx が多いだけで、店のサイトが壊れているとは限りません。Vercel の調査によると、nextjs.org では ChatGPT のフェッチの 34.82%、Claude のフェッチの 34.16% が 404 のページに当たっていました。Vercel と MERJ の同じ調査では、nextjs.org への Googlebot のフェッチのうち 404 は 8.22% でした。Vercel の調査は、404 が多いことについて、AI クローラの URL の選び方に改善の余地があると見つつ、正確な原因は分かっていないと書いています。

Analyze AI traffic によると、Most popular paths の表は、AI クローラによく取られたページの一覧です。Analyze AI traffic によると、Download CSV を選ぶと、絞り込みを当てた状態のまま数字を書き出せます。

見たいこと 数えられるもの 数えられないもの
来ているか 名乗る AI クローラのリクエスト数(全プラン) 名乗らないアクセス(Bot Management を付けた Enterprise プラン以外)
いつ来たか 直近 24 時間の推移(全プラン) 24 時間より前の推移(Bot Management を付けた Enterprise プラン以外)
何を取ったか よく取られたパスと状態コード 取ったページが AI の回答に使われたか
人が来たか AI の画面からの参照(有料プラン) 参照の数(無料プラン)

robots.txtを守っているかをDirectivesタブで見る

robots.txt を守っているかは、AI Crawl Control の Directives タブで見ます。Cloudflare のドキュメント「Directives」は、このタブで robots.txt へのリクエストの様子、ファイルが取れているか、指示に反したクローラが分かると書いています。

タブの先頭には、Cloudflare に robots.txt を管理させる設定(Managed robots.txt)が有効かどうかも出ます。Directives によると、有効にすると、学習に使われる主な AI クローラを止める行を Cloudflare が robots.txt に入れます。この行も、下の違反の表で比べる相手になります。

robots.txtが取れているかを先に見る

違反を見る前に、robots.txt そのものがクローラに届いているかを確かめます。Directives によると、Robots.txt availability の表は、ホスト名ごとの robots.txt へのリクエスト数と状態を示します。表は、状態コードが 400 未満のリクエストを Successful、400 以上を Unsuccessful に分けて数えます。

Directives によると、Status の列が 404 Not Found なら、robots.txt のファイルを作って指示をはっきり示します。ファイルがあるのに Unsuccessful が多いときは、WAF のルールなどのセキュリティ設定が robots.txt へのアクセスを止めていないかを確かめるよう、Directives は書いています。

違反の表で見る4つの列

Robots.txt violations の表は、robots.txt で禁止したパスを取りに来た AI クローラの一覧です。Directives によると、列は次の 4 つです。

列 中身
Crawler 違反したクローラ名(下に運営会社)
Path 禁止されていたのに取りに来たパス
Directive そのパスを禁止した robots.txt の行
Violations 選んだ期間の、その組み合わせへのリクエスト数

違反の数は今のrobots.txtで過去を数え直した値

違反の数を読むときは、計算のしかたに注意が要ります。Directives によると、違反の表が過去のアクセスと比べる相手は、今の robots.txt です。

そのため、robots.txt を変えた直後は、違反の数が増えて見えることがあります。Directives の例では、Disallow の行を足すと、そのパスへの過去のアクセスが、当時は違反でなくても違反として数えられます。

AIクローラのアクセス数: robots.txt に禁止の行を足した直後に違反の数が増えて慌てた GOAT君 が、今のルールで過去のアクセスを数え直した値だと気づく 4 コマ(出典: Cloudflare, Inc.)
足した日より前も数えられる

違反を見つけたあとの3つの手

違反したクローラを見つけたときの手として、Directives は次の 3 つを挙げています。

  • Crawlers タブで、そのクローラを止める
  • Cloudflare WAF で、そのクローラ向けにパスを限ったルールを作る
  • Redirect Rules で、そのクローラをサイトの別の場所へ案内する

robots.txt だけで足りる場面もあります。Vercel の調査は、クロールされたくないサイト向けの助言で「The robots.txt file is effective for all measured crawlers.」と書いています。どの手を選ぶかは、止めたときの副作用と合わせてCDN でのブロックの記事で整理しています。

まとめ

Cloudflare を通しているサイトなら、AI Crawl Control の画面で AI クローラの回数と robots.txt の違反を確かめられます。見る場所は次の 4 つです。

  • Overview で運営会社ごとの回数を見る
  • Crawlers でクローラ名ごとの回数を見る
  • Metrics で状態コードとよく取られたパスを見る
  • Directives で robots.txt が取れているかと違反を見る

無料プランの数字は、直近 24 時間に名乗って来た AI クローラの数です。数字を何日か見て、止めたいクローラと通したいクローラを分ける段階まで来たら、次は止め方とその副作用を決める番です。