先週、自分のサイトのアクセスログから、AIクローラーの訪問回数とAIサービスからの流入を数えて、archives/137として公開した。あのとき「Refererに記録されたAIサービスのドメインは0件だった」と書いた。今日、その「0件」を、もう一度確かめにいった。
結論を先に書く。数字は変わらなかった。5日前に9種類のドメイン・クローラー名で確かめた「0件」は、今日、探す種類を73種類に増やしても、やはり0件のままだった。だが、この作業には意味があった。数字が変わらなかったことよりも、「何種類 探した0件だったのか」を、これまで一度も自分の記事に書いていなかったことに気づいたからだ。数を増やすこと自体よりも、増やした数を書くことのほうが、後になって役に立つ。この記事は、その気づきの記録だ。
5日前に自分が書いた「0件」を、今日もう一度開いた
WEBディレクターの仕事では、「確認済みです」という一言が、そのまま次の判断の土台になる。だが「確認済み」という言葉には、確認した範囲が書かれていないことが多い。自分の過去記事も同じだった。archives/137を読み返して、そのことに気づいた。
archives/137に書いた数字を、そのまま引用する
archives/137では、当サイトの本番サーバーのアクセスログ52日分(当時の対象期間)を対象に、AIクローラーの訪問をUser-Agent(アクセスしてきた側が名乗る名前)で数えた。結果は、CCBotが136回、ClaudeBotが95回、YouBotが60回、Bytespiderが38回、OAI-SearchBotが2回、GPTBotは0回で、合計331回だった。同じ期間で、Refererの欄(人がリンクをたどって来たときに記録される項目)にAIサービスのドメインが記録されていた行は、0件と書いた。ChatGPT-User・Perplexity-User・Claude-Userという、対話中にユーザーが開いたページを読みに行くタイプのクローラーも、52日間で0件だった。
この数字自体を、今日ここで訂正するつもりはない。当時のログを、当時の方法で正しく数えた結果だ。今日確かめ直したいのは、数字そのものではなく、「0件」の隣に何が書いていなかったか、という点だった。
あのとき使った探索リストは、9種類だった
archives/137のRefererの節を数え直すと、実際に名前を挙げて検索していたAIサービスのドメインは、chatgpt.com・perplexity.ai・claude.ai・gemini.google.com・copilot.microsoft.comの5つだった。訪問回数の側で名前を挙げていたクローラーの種類(CCBot・ClaudeBot・YouBot・Bytespider・OAI-SearchBot・GPTBotの6つに、0件だった11種類を加えた17種類)とは、対象がそもそも別の集計だ。Refererだけに絞ると、実際に検索した対象は5つのドメインに、ChatGPT-User・Perplexity-User・Claude-Userという名乗り3つを加えても、おおよそ9種類前後にとどまる。「9種類前後」というあいまいな書き方になるのは、当時の記事に「何種類 探したか」という数字そのものが、一度も書かれていなかったからだ。
これは責める話ではない。「0件でした」と書くとき、探した対象の数まで書く習慣は、これまでの記事のどれにも無かった。今日、その習慣を作る。
「何種類 探したか」を書いていない報告は、後から確かめようがない
「探して見つからなかった」と「そもそも探していない」は、結果だけを見るとどちらも「0件」という同じ形をしている。この2つを区別する唯一の手がかりは、「何を、何種類、探したか」という記録だ。その記録が無いと、後から同じ調査をやり直したときに、結果が変わったのか、探した範囲が変わっただけなのか、判断がつかなくなる。
今日、73種類に増やして確かめ直した結果も、また「0件」だった。もしこの記事に「73種類で確かめた」と書かず、ただ「今日もAIサービスからの流入は0件でした」とだけ書いたら、5日前の記事とまったく同じ強さの主張に見えてしまう。だが実際には、9種類で確かめた0件と、73種類で確かめた0件は、同じ「0件」でも、その裏にある確からしさがまったく違う。この違いを次に読む人(未来の自分を含む)に伝える唯一の方法が、探した数を書くことだった。
これは自分のサイトの内輪の話にとどまらない。社内やクライアントへの報告書に「AIサービスからの流入は確認できませんでした」と書くとき、その一文だけでは、報告を受け取った側は「もう調べ尽くした」のか「主要な数社だけ見た」のか、区別できない。次に別の担当者が同じ調査をして「実は流入がありました」と言い出したとき、前の報告が間違っていたのか、探した範囲が違っただけなのかを、報告書の文面だけでは判定できない。探した数を書くという小さな一手間は、この種の食い違いを防ぐ、いちばん安価な保険になる。
探す種類を、9種類から73種類に増やす
今回対象にしたのは、当サイトの本番サーバーのアクセスログ、2026年7月13日から2026年9月3日までの52日間、ファイル数53(当日分1・圧縮済み過去分51・当日ローテーション分1)、合計15,620行だ。archives/136〜138が対象にした期間(2026年7月8日〜8月29日)とは、開始と終了がどちらも数日ずれている。過去のログをもう一度開き直したのではなく、今日という時点から見て直近の窓を、新しく切り出した。
この15,620行すべてに対して、Referer欄(引用符区切りで位置を特定した項目)を対象に、生成AI検索サービスのドメイン名とサービス名を、これまでより広く探した。内訳は、ドメイン形式が56種類、接尾辞を外した裸のサービス名(トークン)が17種類、合わせて73種類になる。
生成AI検索サービスのドメイン形式 56種類
ドメイン形式で探した56種類のうち、主なものを挙げる。chatgpt.com・chat.openai.com・openai.com・perplexity.ai・claude.ai・anthropic.com・gemini.google.com・bard.google.com・copilot.microsoft.com・you.com・phind.com・poe.com・kagi.com・felo.ai・genspark.ai・komo.ai・andisearch.com・duckduckgo.com・grok.com・x.ai・meta.ai・mistral.ai・huggingface.co・character.ai・cohere.com・groq.com・deepseek.com・qwen.ai・notebooklm.google.comなど。5日前(archives/137)に名前を挙げていたのはこのうち5つだけで、残り51種類は、今回はじめて対象に加えた。
接尾辞を外した裸のトークン 17種類
ドメインの形をしていない、サービス名そのものの文字列も別に17種類用意した。Perplexity・ChatGPT・Copilot・Gemini・GPT-4・GPT-5・OpenAI・Claude・MetaAI・Grok・Mistral・DeepSeek・Qwenなど。これはURLの形になっていない、サービス名の言及そのものがReferer欄に紛れ込んでいないかを確かめるためのものだ。実際にはReferer欄にサービス名の単語だけが入ることはまず無いが、「探していないから見つからなかった」という状態を減らすため、念のため加えた。
73種類とも、Referer欄では0件のままだった
73種類のドメイン形式・トークンすべてについて、Referer欄だけを対象に検索した結果、ヒットは0件だった。9種類で確かめた5日前と、結果としては変わらない。
探す前に、必ず見つかるはずの文字列で試す
0件という結果が、本当に「無い」のか、検索の仕組み自体が壊れていて何も拾えていないだけなのかは、見た目だけでは区別できない。そこで73種類の検索を実行する前に、必ずヒットするはずの文字列で、同じ検索の仕組みを先に試した。使ったのは、当サイト自身のドメイン名(website.usersupports.com)だ。結果は388件のヒットで、これは記事内を移動する読者の記録として自然な数字だった。この388件を確認してから、本題の73種類の検索に進んだ。もしこの時点で0件が返っていたら、検索の仕組み自体を疑うところだった。
同じ73種類を、行全体で探すとどうなるか
ここまではReferer欄だけを対象に検索していた。archives/136で書いたとおり、アクセスログの1行には、Referer(紹介元)とUser-Agent(訪問者の名前)という、意味の違う項目が同居している。1行をまるごと1本の文字列として検索すると、この2つが区別なく混ざる。今回はその教訓をすでに知っていたので、Referer欄だけに絞って検索していた。だが、もし今回もし欄を区切らずに検索していたら、73種類という広い語彙は、どれくらいの混ざりを生んでいたのか。それを確かめるため、同じ73種類のドメイン形式を、あえて行全体に対しても検索してみた。
3,287行がヒットした
行全体で検索すると、Referer欄では1件も出なかった73種類の中から、3,287行がヒットした。だがこの3,287件は、5つのドメイン形式だけで説明がついた。
| ドメイン形式 | Referer欄 | 行全体 | 差の正体 |
|---|---|---|---|
| www.bing.com | 0 | 3,107 | bingbotが自分の説明ページのURLを名乗った行 |
| anthropic.com | 0 | 95 | ClaudeBotが自分の連絡先メールを名乗った行 |
| you.com | 0 | 60 | YouBotが自分の説明ページのURLを名乗った行 |
| duckduckgo.com | 0 | 23 | DuckDuckBotの自己申告 |
| openai.com | 0 | 2 | OAI-SearchBotが自分の説明ページのURLを名乗った行 |
| 合計 | 0 | 3,287 |
Referer欄と行全体での検索結果を比べた表。3,287件の差は、この5種類のドメイン形式だけで説明がついた。
全部、User-Agent欄の中で、botが自分の名前を名乗っていた
3,287行を1件ずつ開いて確かめたところ、すべてがUser-Agent欄の中に含まれていた。たとえばbingbotは、自分の名前と一緒に「+http://www.bing.com/bingbot.htm」という説明ページのURLを書き添えている。ClaudeBotは「+claudebot@anthropic.com」という連絡先を、OAI-SearchBotは「+https://openai.com/searchbot」という説明ページのURLを、それぞれ書き添えている。これはarchives/136で見つかったYouBotの「+https://docs.you.com/youbot」とまったく同じ形だ。人がbing.comやanthropic.comのページから、リンクをたどって当サイトに来た記録は、この3,287行の中に1件も含まれていなかった。
クローラーが自分の名前と一緒に説明ページのURLを書き添えるのは、当サイトが何かを設定しているからではなく、クローラー側の作法だ。「あなたのサーバーに負荷をかけて申し訳ない、これは何のアクセスか知りたければこちらへ」という、いわば身分証の役割を果たしている。行儀の良いクローラーほど、この形で自己申告を書き添える傾向がある。皮肉なことに、その行儀の良さが、行全体を検索する側からすると、いちばん紛らわしい情報源になっていた。
この結果は、archives/136の発見と同じ形をしている。だが規模が違う
archives/136では、you.com・GPTBot・ClaudeBot・Googlebotの4つのタグページ・ドメインで、行全体の検索とReferer欄だけの検索の差を確かめている。あのときの差は、you.comの60件、GPTBotタグページの6件、ClaudeBotタグページの7件、Googlebotタグページの11件、合わせて84件だった(訪問者名の欄で数え直した差分のみを合計した数字)。今回の3,287件は、その約39倍にあたる。
語彙が大きくなるほど、混ざる数も大きくなる
この39倍という数字は、当サイトの見落としが増えたことを意味しない。今回はReferer欄だけに絞って検索していたので、実際には1件も混ざっていない。この数字が示しているのは、「もし欄を区切らずに検索していたら」という仮定の下で、探す語彙を9種類から73種類に増やしたことが、混ざりのリスクをどれだけ大きくしていたか、という規模の話だ。語彙を広げる作業と、欄を区切って正しい場所だけを見る作業は、必ずセットでなければならない。今回は先にarchives/136で欄を区切る作業を身につけていたので、語彙を広げても実害は出なかった。もし順番が逆で、欄を区切る前に語彙だけを73種類に広げていたら、3,287件という数字を「AIサービスから3,287件の訪問があった」と読み違えていたかもしれない。
5日前の「12種類が0件」というリストは、実は全部を確かめていなかった
archives/137では、52日間で1回も訪問がなかったクローラーとして、12種類の名前を挙げていた(ChatGPT-User・Perplexity-User・Claude-User・Claude-SearchBot・PerplexityBot・anthropic-ai・Google-Extended・Applebot-Extended・meta-externalagent・cohere-ai・DuckAssistBot・GPTBot)。この12種類は、いずれも「AIクローラーとして名前が知られているもの」という基準で、あらかじめ選んでいたリストだった。今日、User-Agent欄そのものを、あらかじめ選んだリストに頼らず、全行から機械的に抜き出して数え直した。
今日、User-Agent欄を全部数えたら、25種類の名前が新しく出てきた
結果、当サイトのログに実際に記録されていたUser-Agentの署名は31種類だった。このうち、archives/137で名前を挙げていたのは6種類(訪問があった側)と、上記の12種類(0件だった側)の一部を合わせても、17種類にとどまる。残りの25種類は、5日前の記事では一度も名前を挙げていなかった。
| User-Agent | 52日間の件数 | 種別 |
|---|---|---|
| MJ12bot | 717 | SEO分析ツールの巡回 |
| DotBot | 702 | SEO分析ツールの巡回 |
| DataForSeoBot | 646 | SEO分析ツールの巡回 |
| Applebot | 538 | Apple(Siri・Spotlight向け検索収集) |
| jscrawler | 474 | 運営元不明・未確認 |
| Scrapy | 459 | 汎用スクレイピングツール |
| Baiduspider | 387 | 百度(Baidu)の検索エンジン |
| SemrushBot | 248 | SEO分析ツールの巡回 |
| GeneralCrawlBot | 93 | 運営元不明・未確認 |
| facebookexternalhit | 90 | Facebookのリンクカード生成 |
| Twitterbot | 45 | X(旧Twitter)のリンクカード生成 |
| Googlebot | 27 | Googleの検索エンジン |
| Go-http-client | 17 | 汎用プログラミング言語のHTTPクライアント |
| ZentenaBot | 15 | 運営元不明・未確認 |
| trendictionbot | 6 | メディア分析ツールの巡回 |
| Python-requests | 5 | 汎用プログラミング言語のHTTPクライアント |
| YandexBot | 2 | Yandex(ロシアの検索エンジン) |
| AutoBacklinksBot | 2 | 被リンク調査ツールの巡回 |
| Java | 2 | 汎用プログラミング言語のHTTPクライアント |
| QueritBot | 1 | 運営元不明・未確認 |
| JimmySearchBot | 1 | 運営元不明・未確認 |
| meta-externalagent | 1 | Meta(AI学習データ収集の可能性) |
| QlyzeBot | 1 | 運営元不明・未確認 |
5日前の記事では名前を挙げていなかった、当サイトのログに実際に記録されていたUser-Agent。ほとんどがSEO分析ツール・検索エンジン・汎用クライアントで、AIの学習データ収集を目的とすると読めるものは1種類だけだった。
そのうち、AIに関係しそうな名前は1つだけだった
この25種類のうち、MJ12bot・DotBot・DataForSeoBot・SemrushBot・AutoBacklinksBotはSEO分析ツールの巡回、Baiduspider・Googlebot・YandexBotは検索エンジン、Go-http-client・Python-requests・Javaは汎用のプログラム言語が最低限の設定のままアクセスしたときに残る、素の署名だ。facebookexternalhit・TwitterbotはSNSのリンクカード生成用で、これも人の訪問そのものではない。Applebotは検索収集用として知られているが、Appleは学習データ収集の可否をApplebot-Extendedという別の署名で分けて表明している。今回集計したApplebot(538件)がどちらの用途かは、この記事の集計だけでは切り分けられていない。jscrawler・GeneralCrawlBot・ZentenaBot・trendictionbot・QueritBot・JimmySearchBot・QlyzeBotの7種類は、今回運営元を確認できなかった。この中にAIの学習データ収集を行うものが混ざっている可能性は否定できない。25種類のうち、名前からAIに関係すると読めるのは、meta-externalagent(1件)だけだった。
5日前の記事は、嘘を書いていたわけではない。「名前を挙げて確認した範囲では0件だった」という言い方をすれば正確だった。だが実際の書き方は「52日間で1回も訪問がなかった」という、確認した範囲を超えて聞こえる言い方になっていた。範囲を書かずに結論だけを書くと、自分で確かめた以上のことを言ってしまう。
「運営元不明・未確認」とした7種類についても、正直に書いておく。名前から用途を推測することはできる。jscrawlerやGeneralCrawlBotは、名前の作りから見て汎用の収集ツールに見える。だが名前から推測した用途を、確認できた事実として扱うと、また同じ間違いを別の形で繰り返すことになる。今回は、確認できたものと、名前から推測しただけのものを、分けて書いた。分からないものは「分からない」のまま記録に残す方が、後から見返したときに役に立つ。
「探す数を増やす」ことと「探す場所を変える」ことは別の作業
ここまでの作業を振り返ると、今日やったことは2種類に分かれる。1つは「同じReferer欄の中で、探す語の数を9種類から73種類に増やす」こと。もう1つは、73種類とも0件だったことを確かめただけで、それ以上は進めていない。この2つ目の作業は、まだ手を付けられていない。
増やしたのは、同じ欄を探す語の数
73種類への拡張は、Referer欄という同じ場所を、より広い語彙で探す作業だった。この作業によって、5日前より確からしさの高い「0件」を出すことはできた。だが、探している場所そのものは変わっていない。
変えていないのは、Refererが送られてこない経路そのもの
archives/138で書いたとおり、Refererヘッダーは、ブラウザやアプリの設定次第で送られてこないことがある。アプリ内ブラウザや、一部のプライバシー設定を有効にした環境では、実際にリンクをクリックして来た場合でも、Referer欄は空のままになる。これは9種類で探そうが73種類で探そうが、Referer欄そのものを見ている限り、絶対に見つけられない経路だ。語彙をどれだけ広げても、この壁は越えられない。今日確かめたのは、「9種類でも73種類でも同じ結論になる」という、探す数を増やす作業の限界そのものでもあった。
UTMパラメータという、まだ着手できていない宿題
Refererが送られてこない経路を捉える、別の測定手段が必要だという指摘は、当サイトの過去記事でもすでに出ていた。
archives/136・archives/138が予告していた「別の測定手段」
archives/136は「紹介元だけに頼らない測定手段を用意することは、まだできていない」と正直に書いていた。archives/138も「Search Console・GA4の『参照元』の数字と、今回のサーバーログを、まだ突き合わせていない」と、宿題として残していた。今回、73種類に検索の対象を広げる作業は進めたが、この2つの宿題には、まだ手を付けられていない。🔧 UTMパラメータの導入は、まだ着手できていない。
UTMパラメータは、リンクの末尾に付ける、計測用の目印だ。もしAIサービスの回答画面に、当サイトへのリンクをUTMパラメータ付きで置いてもらえる経路があれば、Refererが送られてこない環境でも、URLのパラメータという形で、その経路からの訪問を捉えられる可能性がある。ただし、これは当サイト側が発リンクにUTMを付ける話ではなく、当サイトへ向かうリンクの側にUTMが付いているかどうかの話であり、当サイトの一存だけで解決できる話ではない。AIサービスがどのような形でリンクを生成しているかは公開されていないことが多く、UTMを付けてもらう経路そのものが、まだはっきりしていない。今できることとして、Search Console・GA4の「参照元」の数字と、今回のようなサーバーログの数字を、同じ期間で並べて突き合わせる作業は、次に手を付けるつもりだ。
これは「探す数を増やす」作業とは、別の軸の宿題だ。73種類への拡張は、今日1日で終わった。だがUTMパラメータの検討や、Search Console・GA4との突き合わせは、当サイトの外側にある仕組みや、複数のツールの数字を並べる作業を伴うため、今日1日では終わらない。数を増やす作業は速く終わり、場所を変える作業は時間がかかる。この2つを同じ「確認しました」という一言でまとめてしまうと、実際にはまだ終わっていない、時間のかかる方の作業が、終わったことになってしまう。
今日から自分のサイトでできること
ここまでの内容を、実際に手を動かして確認できる形に落とし込む。
まず5分でできること
- 「◯◯からの流入は0件でした」と書いた自分の過去の記事を1本探す
- その記事に、探した対象の数(何種類のドメイン・クローラー名を検索したか)が書かれているかを確認する
- 書かれていなければ、今からでも「◯種類で確認した」という一文を追記する
- 気になる生成AIサービスのドメインを5つ選び、自分のログのReferer欄だけを対象に検索する
- 同じ5つを、行全体に対しても検索し、件数の差があるかを確認する
継続してやるなら
- あらかじめ選んだリストに頼らず、User-Agent欄の値を全行から機械的に抜き出し、種類ごとに件数を数える
- 出てきた名前を1つずつ検索し、AIの学習データ収集を目的とするものかどうかを確認する
- 運営元が確認できない名前は、「不明」のまま記録に残す(推測で埋めない)
- 次に同じ集計をするときのために、今回何種類を対象にしたかを、集計結果と一緒に書き残す
- Referer欄で拾えない経路があることを前提に、UTMパラメータのような別の測定手段を検討する
- 当サイトが公開している🔧 WEBサイト総合分析・レポートツールで、サイト全体の状態も定期的に確認する
Search Consoleの数字を同じ期間で並べたい場合は、🔧 Search Consoleの見方に迷ったらこちらの解説ツールも使える。AIにページが読まれているかどうかを別の角度から確認したい場合は、構造化データはAIに読まれているのか? ── ChatGPTの実験結果と、それでもマークアップを続ける理由もあわせて読んでほしい。あちらは構造化データという別の切り口から、AIとの関係を扱っている。
当サイトの現在地
self-proof-loopの規律に従って、当サイト自身の実施状況を正直に書く。
✅ Referer欄を、73種類のドメイン形式・トークンで検索し直した
✅ 同じ73種類を行全体でも検索し、3,287件の差がすべてUser-Agent欄由来であることを1件ずつ確認した
✅ User-Agent欄を、あらかじめ選んだリストに頼らず全行から抜き出し、31種類の署名を確認した
🔧 UTMパラメータの導入は、まだ着手できていない
🔧 Search Console・GA4の「参照元」の数字と、サーバーログの突き合わせは、まだ行っていない
🔧 jscrawler・GeneralCrawlBot・ZentenaBot・trendictionbot・QueritBot・JimmySearchBot・QlyzeBotの7種類は、運営元をまだ確認できていない
今回できたのは、「探す語彙を73種類に増やし、0件のままであることを確かめた」ところまでだ。探す場所そのものを増やす作業(UTM・GA4との突き合わせ・不明な署名の正体確認)は、次の宿題として残っている。
5日前、9種類で「0件」と書いた。今日、73種類で確かめ直しても、やはり0件だった。この記事で本当に変わったのは、数字ではない。「何種類 探した0件か」を書く、という一文だけだ。次にこの数字を確かめ直すときは、今日の73種類という数字と比べて、増えたのか、同じなのか、書いてあることで初めて分かる。数字は、探した範囲を書かない限り、比べようがない。
この記事自体も、いずれ同じ形で見落とされる側になりうる。73種類という数字を、いつか誰かが「たった73種類しか探していなかった」と読み直す日が来るかもしれない。それでいい。73という数字を書いておけば、その日、次に確かめる人は、73より多いのか少ないのかを、迷わず比べられる。数字を残すことの意味は、その数字が最終的な答えになることではなく、次に確かめる人が、比較する起点を持てることにある。
関連 archives(連載軸として読む)
- archives/137「AIは331回来た。人は1人も連れてこなかった ── 52日分のログで、AIクローラーの訪問と流入を分けて数える」 ── 今回「0件」の根拠として引用した回。探した対象の数を書いていなかった、その記事そのもの
- archives/136「『AIからの流入60件』を数え直したら、60件ともAIが自分の名前を名乗った文字列だった ── ログを行全体で探すと、正反対の2つが混ざる」 ── 行全体で探す危うさを、最初に見つけた回。今回の3,287件は、この教訓があったから読み違えずに済んだ
- archives/138「外部から来た人は19人だけだった ── アクセスログの『参照元』の95.1%は、自分のサイトからの移動だった」 ── 同じ52日分のログを、参照元という別の切り口で掘った回。UTMの宿題も、ここで先に書かれていた
- archives/121「『守る側』が動けなくなった週 ── 大手メディアのGoogle遮断検討と、同じクローラーという壁」 ── AIクローラーを一律に遮断せず、検証してから個別に許可する立場を書いた回
- archives/125「Googleが見せたのは表示回数までだった ── 生成AIパフォーマンスレポートの『半分』と、自分で測る指標が止まっていた93日」 ── 公式ツールにも見える範囲と見えない範囲があると書いた回
出典
- Anthropic Help Center: Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Perplexity Documentation: Crawlers
- Common Crawl: CCBot
- Bing Webmaster Help: Which crawlers does Bing use?
- Google Search Central: Overview of Google crawlers
- You.com Documentation: YouBot
- Dark Visitors: Bytespider
WEBサイト