別で運営しているサイトに、無料のアクセス解析ツールを入れました。どのボタンが押されているか知りたかったからです。
データが溜まるまで1〜2日と言われ、2日待って、開きました。画面のいちばん上に、こう書いてありました。
セッション 19
102件のボットセッションを除外しました
121件のうち102件がロボット。訪問の84%が、人間ではありませんでした。
そして残った19人のランキングを見たら、もっとすごいことが書いてありました。「よく見られたページ」の1位が、私自身だったんです。
先に結論をお伝えします。この日分かったのは2つです。①これまで眺めていた数字は8割以上が幻だった可能性が高い。②サイトのいちばんの常連は、サイトを作っている本人だった。どちらも、道具を入れるまで確かめる手段すらありませんでした。

一段目|84%がロボット。そして古い道具は、それを知らせなかった
実は、うすうす怪しいとは思っていました。
前から使っていた大手の解析ツールの数字が、ずっと不思議な形をしていたんです。直接流入が6割、滞在11秒、最多アクセスが想定外の国。「たぶんボットだろう」とは思っていました。
でも確かめる手段がありませんでした。その大手ツールには、ボットを除外して見せる機能が(少なくとも標準では)無いからです。
新しい道具は、何も設定していないのに、1行目でそれに答えました。「102件除外しました」。疑いが数字になった瞬間です。
これが意味することは重いです。過去に何ヶ月ぶんも積み上げてきた「訪問者数」は、大半がロボット込みの数字だった可能性が高い。分けてから見る話で「混ぜた平均は実在しない姿を描く」と書きましたが、今回は人間とロボットを混ぜていました。混ぜ物の比率が8割なら、もう別の何かの統計です。
二段目|残った人間の1位が、自分だった
ボットを除いた19人の「よく見られたページ」ランキングが、こうでした。
1位 (開発用アプリの画面)
2位 本物のページ
3位 本物のページ
4位 手元の確認用サーバー
5位 手元の確認用サーバー(別ページ)
6位 本物のページ
7位 手元の確認用サーバー(さらに別ページ)
1位・4位・5位・7位は、ページですらありません。私が動作確認に使っている手元の環境です。
この2日間、サイトに変更を入れるたびに「ちゃんと表示されるか」を手元で確認していました。その確認のたびに解析タグが動いて、私が「読者」として記録されていたんです。
「訪問者の7割が特定の国」「8割がPC」という不自然な内訳も、ぜんぶ説明がつきました。その特定の国のPCユーザーとは、私のことでした。
本当に怖いのは、古いほうの道具です
新しい道具は入れて2日なので、汚れも2日分で済みました。
でも古い解析ツールは、同じ穴を何ヶ月も開けたままでした。過去の動作確認のアクセスが全部そこに入っていて、過去の分析はすべて、その汚れの上でやっていたことになります。
ちなみにこの話、他人事ではありません。このブログ自体も1ヶ月ふりかえりで「28日間で25人」と報告しましたが、あの25人に私自身が何人分か混ざっていた可能性があります。数少ないほど、混入1人の影響は大きい。25人のサイトでは、自分が最大の読者になりえます。

直し方|「弾くリスト」ではなく「通すリスト」
対策はコード1行でした。ただしどちら向きに書くかで迷ったので、そこを書きます。
最初に思いつくのは「手元の環境からのアクセスを弾く」です。でも、こうしました。
×「手元の環境なら、記録しない」(弾くリスト)
○「本番のドメインのときだけ、記録する」(通すリスト)
理由はシンプルで、弾くリストは漏れるからです。手元のサーバーを弾いても、ファイルを直接開いた場合、番号で開いた場合、将来テスト用の環境を増やした場合——弾くべきものは増え続けます。
「通す1つ」を書くほうが、「弾く全部」を数えるより安全で短い。本番のドメインは1つしかないので、それ以外は自動的に全部止まります。在庫切れの話で書いた「列挙する型のルールはいつか尽きる」と同じで、列挙しない側に立つのが正解でした。
検証|「止まった」と「動いている」は別の検査
直したあとの確認で、もう2つ学びがありました。
①両方向を測る
| 確認したこと | 期待 | 結果 |
|---|---|---|
| 手元で開く | 止まる | 送信0件 ✓ |
| 本番で開く | 動く | 送信1件 ✓ |
「手元で止まった」だけ確認して安心すると、本番でも止めてしまっていた場合に気づけません。計測が静かに全停止しているのに「対策完了」と思い込む——それこそ、この連載で何度も書いた「エラーが出ない失敗」です。効かなくなったことと、効き続けていることは、別の検査でした。
②「動いているか」は、外に出た通信で測る
白状すると、検証の途中で一度誤判定しかけました。止まったかどうかを、最初はツール内部のデータが空かどうかで見ようとしたんです。すると2件入っていて、「まだ動いている」と判定しかけました。
実際には、その2件はツールが自分で入れる初期値で、外への送信はゼロでした。内部の状態は、外から見た事実の代わりになりません。「見えない」と「起きていない」の記事で「結果の側を見る」と書いたのと同じで、「動いているか」は、実際に外へ出た通信で測るのが正解でした。
あなたのサイトで、今日確かめられること
- 「そのデータ、あなた自身は含まれていませんか?」——記事を公開するたびに自分で表示確認しているなら、ほぼ確実に含まれています
- アクセスの少ないサイトほど、自分の混入が効きます——月25人なら、自分の確認10回で3割が自分です
- 解析ツールの「内部トラフィック除外」設定を確認する——多くのツールにあります。無ければ「本番だけ通す」の1行
- 直したら、数字の「きれいになった日」をメモする——それ以前の数字と比べてはいけないからです
特に最後の1つは大事です。計測の条件が変わった日をまたいで比較すると、1回に2つ変えた実験と同じで、何も結論できなくなります。
よくある質問
ボットのアクセスは、悪いものなのですか?
ボット自体は普通のことです。検索エンジンの巡回もボットですし、来ること自体に害はありません。問題は人間の数字と混ざったまま意思決定に使うことです。ロボット込みの「訪問者数」で一喜一憂したり、施策の効果を測ったりすると、実在しない読者に向けてサイトを直すことになります。
過去の汚れたデータは、捨てるしかないですか?
完全には直せません。私は「この日以前の数字は参考値」と線を引くことにしました。さかのぼって除去するより、きれいな計測を今日から始めるほうが確実です。測り始めた日ではなく、測り方が正しくなった日が、本当の起点だと思っています。
どの解析ツールを使えばいいですか?
ツール名より「ボット除外があるか」「内部トラフィック除外が設定できるか」の2点で選ぶのがおすすめです。今回うちで使ったのも無料ツールですし、大手ツールとの併用で互いの穴が見えました。1つの計器だけを信じない、というのが今回いちばんの収穫かもしれません。
まとめ|測る道具には、最初に自分が映る
- 解析を入れたら訪問の84%がロボットだった。古い道具にはそれを知る術が無かった
- 残った人間のランキング1位は、動作確認をしていた自分だった
- 本当に怖いのは何ヶ月も同じ穴が開いていた古い道具。過去の分析は汚れの上に立っていた
- 対策は弾くリストではなく通すリスト。「通す1つ」は「弾く全部」より安全で短い
- 止まったことと、動き続けていることは別の検査。両方向を測る
- 「動いているか」は内部の状態ではなく外に出た通信で測る
アクセス解析を見ているすべての方に、1つだけ質問を置いて終わります。
その数字に、あなた自身は含まれていませんか。私は含まれていました。それも、1位で。

