アクセス解析がずっと0だった。原因は広告ブロックでした
自分のブログにアクセス解析を入れました。設置も済んだ。試しに自分でサイトを開いてみる。解析画面を見る——0。
何度開いても0のまま。設定を間違えたのかと思って見直しても、タグはちゃんと入っている。ここから原因究明が始まりました。結論だけ先に言うと、悪いのは解析ツールでも設定でもなく、計測のやり方そのものでした。
最初に疑ったこと(そして全部ハズレ)
順番に潰していきました。
- タグの設置ミス → ページのソースを見たら、ちゃんと入っている
- ドメインの設定ミス → 合っている
- 反映の遅れ → 数十分待っても0
ここで手詰まりになり、ブラウザがサーバーと何を通信しているかを直接見ることにしました。すると、計測用のスクリプトの読み込みがエラーで失敗しているのが分かりました。
犯人は広告ブロック
原因はシンプルでした。ブラウザの広告ブロック機能が、計測スクリプトを遮断していたんです。
よくあるアクセス解析は、ページに小さなプログラムを埋め込んで、訪問者のブラウザから「見にきました」と報告させる仕組みです。この報告を送るのはブラウザ側。つまり、ブラウザが送るのを拒否したら、それで終わり。サーバー側は何も知りません。
そして広告ブロッカーやプライバシー保護機能は、まさにこの手の報告を止めるためにあります。悪意はなく、仕様通りの動作です。
厄介なのは、この取りこぼしが自分では見えないこと。「アクセスが少ないな」と思っている数字が、実はブロックされた分を丸ごと欠いているかもしれない。特にIT系やAI系の話題は、そういう機能を使っている読者の割合が高いと言われます。自分のサイトは、まさにその領域でした。
解決策:ブラウザに頼らず数える
考え方を変えました。ブラウザに報告させるのをやめて、サイトに届く手前の通り道で数える方式にしたんです。
具体的には、サイトへのアクセスをいったん中継サービス(自分が使っているドメイン管理サービス)経由にして、そこを通った回数をそのまま記録してもらう形にしました。訪問者のブラウザが何をブロックしようと、そもそもサイトを見るには必ずそこを通るので、数を取りこぼしません。
切り替え後に確認したら、ちゃんとアクセスが記録されていました。設置してから今日までの分が、正しく積み上がっている。
切り替えでハマった点
ひとつだけ注意が要りました。中継を有効にする前に、暗号化通信(HTTPS)の設定を先に正しくしておく必要があったことです。
ここを間違えると、サイトが延々と転送を繰り返して表示できなくなる、という事故が起きます。順番を守れば何も起きません。逆に言えば、順番を間違えると一時的にサイトが落ちます。私は先に設定を確認してから切り替えたので、無事でした。
学んだこと
計測は「入れたら終わり」ではなく、「本当に数えているか」を確かめて初めて終わりです。0という数字を見たとき、私は最初「まだ誰も来ていないんだな」と解釈しかけました。実際は「来ているのに数えられていない」だった。この二つは天と地ほど違います。
数字が出ない時に「人が来ていない」と結論づける前に、計測そのものを疑う。これは今後もずっと使える教訓になりました。
もうひとつ。今回のようなブラウザ側の計測は手軽ですが、限界があります。手軽さと正確さは別物で、どちらが要るかは目的次第。私の場合は、少ないアクセスを正確に把握したかったので、正確さを取りました。
まとめ
- アクセス解析が0でも、来ていないとは限らない
- よくある解析方法は、広告ブロックで普通に取りこぼす
- 通り道で数える方式にすれば、ブロックの影響を受けない
- 切り替え時は暗号化設定の順番に注意
サイト全体をどう構築したかは 自動更新ブログを作った全記録 に書いています。運用でつまずいた話は 1ヶ月止まっていた件 のほうが生々しいかもしれません。