自社サイトのアクセスログを調べたら、AIが1件も記録されていなかった — ktrackgeo を公開しました
AI検索から自社サイトがどれくらい参照されているか、気にしている経営者は増えました。ところが測る方法を聞かれると、答えに詰まります。
先日、自社サイトのアクセスログを調べてみました。過去2か月ぶん、11,035行。GPTBot・ClaudeBot・PerplexityBot で検索した結果は——0件でした。
読まれていなかったのではありません。記録していなかったのです。
理由は2つあり、どちらも根が深い
① 解析ツールはボットを捨てる
Google Analytics はボットを除外します。これ自体は正しい設計です。人の行動を見たいのに、クローラーの巡回が混ざったら数字が歪みます。
ただしその結果、GPTBot や ClaudeBot が自社サイトを何回読んだかは、GA4 では原理的に見えません。Search Console も Google検索の実績だけなので、AI検索の動向は分かりません。
自社のログも同じでした。書き込む前にボットを弾いていたので、2か月ぶん1件も残っていなかった。
② タグを貼るだけでは、そもそも届かない
ボットを記録するように直しても、まだ0件でした。理由は単純です。
アクセス解析のタグは JavaScript です。クローラーは JavaScript を実行しません。
つまりタグ方式では、どう設定を変えてもクローラーは拾えない。サーバー側で記録する仕組みが要ります。PHPのページなら、ファイルの先頭に1行入れるだけです。
入れた直後から記録が始まりました。GPTBot 17回、ClaudeBot 1回。それまで完全に見えていなかったものです。
数字が食い違うのには理由があります
ついでに、GA4・Search Console・自社ログの3つを突き合わせてみました。当然のように食い違います。
| 過去30日 | |
|---|---|
| GA4 | セッション 6,137 |
| Search Console | クリック 270 |
| 自社ログ | 訪問回数 8,772 |
この差そのものが情報でした。
Search Console のクリックより、自社ログの「Google経由」のほうがずっと多い。調べると、Google は参照元として https://www.google.com/ というドメインだけを渡してきます。実際に738件すべてパスが / でした。自然検索・Discover・ニュース・広告の区別は原理的につきません。だから「Google検索から◯件」と書いてはいけない。正しくは「Google経由で◯件」です。
GA4より自社ログのほうが多い。主因は広告ブロッカーです。GA4 は外部ドメインを読むのでブロックされますが、自社ドメインの計測は残ります。差の割合が、そのままブロック率の目安になります。
この手の落とし穴を知らないと、素朴に数字を比べて誤った結論を出します。恥ずかしながら、私たちも一度やりました。
直す → 測る → 確かめる
もうひとつ分かったことがあります。実測だけでは足りません。
「AIが来ていない」ことは分かっても、何を直せばいいかが分かりません。逆に診断だけでは、直した効果があったのか確かめられません。
そこで診断も足しました。robots.txt でAIクローラーを拒否していないか、llms.txt があるか、構造化データが揃っているか——8つの観点で点を付けます。
実際に自社の1サイトを診断したら74点でした。指摘どおり llms.txt と構造化データを足したところ、94点に。診断→修正→再測定が1つの画面で回ります。
この診断には生成AIを使っていません。判定は事実の確認だけで済みますし、生成AIを挟むと結果が実行ごとにぶれて「直したのに点が下がった」が起きます。診断は決定的であるべきだと考えています。
ktrackgeo として公開しました
Kurage App Store で 55,000円(税込)、MIT License です。デモも触れます(https://proto.exbridge.jp/ktrackgeo/)。
- 診断 — AIに読まれる状態か(8観点・生成AI不使用)
- 実測 — 実際にAIが来たか(GPTBot / ClaudeBot / PerplexityBot などを個別に判別)
- 解析 — 人のアクセス、流入元、よく見られたページ
データベース不要・外部ライブラリ不要・外部API不要。PHPが動くレンタルサーバーにFTPで置くだけで、アクセスの記録が外部の事業者に渡りません。IPも保存しません(訪問者の区別はハッシュ)。
AIエージェント向けのスキルを2つ同梱しています。ひとつは設置用。もうひとつはGA4・Search Console と突き合わせて食い違いの理由を説明するもので、上に書いた読み方がそのまま入っています。
正直に書いておきます
AIクローラーを測るには、PHPページの先頭に1行入れる必要があります。タグを貼るだけでは原理的に拾えないので、静的HTMLだけのサイトでは、AIクローラーは測れません。人のアクセスと診断はそのまま使えます。
そして、販売しているのはプロトタイプで動作を保証していません。設置もつまずいたときの解決も、Claude Code などのAIエージェントに相談しながらご自身で進めていただく前提です。ノークレーム・ノーリターンでお願いしています。
その代わり中身は全部お渡しします。約1,300行、全部読める大きさです。読めないコードは変えられませんから。
AI検索経由の流入を気にしているなら、まず自社のログにAIが記録されているかを確かめてみてください。0件だったとして、それは「読まれていない」のか「記録していない」のか。私たちは後者でした。