WordPressでアナリティクスから自分のアクセスを除外する!固定IPじゃなくてもOK
2018/08/29
タグ: アナリティクス, 中級, 初心者

自分でサイトをチェックしたり、ひとつの記事を書きあげるために何度もプレビューする方は多いはずです。
プレビューはパラメータが付きますので除外可能なのですが、デフォルトではビューとして都度カウントされます。
正確な解析を行うためには自分のアクセスは集計から除外したいですよね。
Googleアナリティクスには自分のアクセス(社内のアクセス)をカウントさせない方法があります。
他のアクセス解析についても同様の機能を備えているものは多いでしょう。
しかし、これらはIPアドレスでフィルタリングするため、固定IP環境でなくては基本的に除外できません。
このフィルタ設定については掃いて捨てるほど情報が多いので、とりあえずここでは割愛します(笑
「Google Analytics オプトアウト」というアドオンでブラウザ側でトラッキング情報を無効化する方法もありますが、今回はこれともちょっと違う視点で固定IPでも自分のアクセスを除外できる方法について紹介します。
「WordPressで構築している」
「固定IPではない」
「自分のアクセスを除外したい」
という方のための記事です。
といっても、とても簡単な方法です(笑
自分のアクセスを除外したいケースとは?
実際のところ、自分で日に数ページ眺める程度では大きな影響はないはずです。
それでは自身のアクセスが解析の問題になりそうなのはどういったケースでしょう?
- サイトのメンテナンス
- 記事執筆
とくに記事を書いている際のプレビューはかなりページビュー(PV)としてカウントされてしまいますね。

執筆中に増えていくページビュー
ちなみにプレビュー表示かどうかを判定するis_preview()
という関数があります。
これで条件分岐すれば、プレビュー以外の表示の際にアナリティクスの解析タグを出力することが可能です。
しかし、考えてみるともっとよい方法がありますね。
サイトのメンテナンス中はもちろん、記事の投稿中は当然ダッシュボードにログインしていますし、プレビュー表示もこの状態に含まれます。
つまり、「ログインしてないアクセスだけをカウントすればよい」ということです。
そして、WordPressにはログイン状態か否か判別できるis_user_logged_in()
という関数があります。
header.phpで非ログイン時のみ解析タグを出力する場合はこんな具合です。
<?php
if(!is_user_logged_in() ){
?>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXX-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXX-1');
</script>
<?php
}
?>
※</head>
直前あたりに記述します。
たとえば、get_option()
などを使い、ダッシュボード上でトラッキングコードを設定して出力できるテーマもあります。
<?php
if(get_option('analytics_code')){
echo stripcslashes(htmlspecialchars_decode(get_option('analytics_code'), ENT_QUOTES)).PHP_EOL;
}
?>
そのようなケースでは条件にis_user_logged_in()
を加えるだけでログイン状態にはタグを出力させないことができます。
<?php
if( !is_user_logged_in() && get_option('analytics_code')){
echo stripcslashes(htmlspecialchars_decode(get_option('analytics_code'), ENT_QUOTES)).PHP_EOL;
}
?>
ログイン状態を保持すれば100%自分のアクセスを除外できますし、ログイン状態を除外するだけでかなり自分のアクセスを除外することができるはずです。
アナリティクスを活用したいという方はぜひお試しください。
「プラグインでアナリティクスのコードを出力している場合はどうするのさ」という突っ込みが聞こえてきそうです...
そもそも、トラッキングコードを記述するためだけにプラグインが要るの?という気もしなくはないですが、ごくごくシンプルにプラグイン化してもよいのかもしれませんね(笑