WordPressのプレビューをGoogle Analyticsから除外する

WordPressにGoogle Analyticsを設定したはいいけど、
プレビューまでアクセスにカウントされてしまうの何とかしたいなー、という時、
パパっと除外設定してしまいましょう。

結論から言いますと、Google Analytics側の設定ではできないです
もしかしたら、やり方あるのかもだけど、そこ深く掘るより、
そもそも自分のアクセスの時はGAタグ埋め込まないようにした方が楽だな、ってことで、
WordPress側で除外するよう設定します。

そもそものGoogle Analyticsの設定方法はこちらをご参考ください。

ちなみに、Google Analyticsでの除外設定方法は、設定>ビュー設定のフィルタから可能です。
サブディレクトリなどを除外対象にはできるのですが、WordPressのプレビューの場合、
http://morinohito.site/?p=416&preview=true
こんな感じで、クエリパラメータでの判断になるため、フィルタではできないのです。
もーしかしたら、やり方はあるのかもしれません。念のためw

さらに、調べてみると、レポートの表示からクエリパラメータを除外する設定方法も出てきます。
ビュー設定から、除外するURLクエリパラメータに、
p,previewと入力すれば、確かに、レポート表示からは除外されます。
ただ、それではアクセスはカウントされてるので、目的とは異なってしまいます。

なので、WordPress側で、自分のアクセス時はGAタグが埋め込まないようにしましょう!
もーーしかしたら、GA側の設定でもできるかもしれません。何度も言いますが(笑

・is_user_logged_in()を利用する

WordPressの関数で、is_user_logged_in()というものがあります。
これを利用すると、今、自分がWordPressにログイン状態かどうか判断ができます。
関数リファレンス/is user logged in

なので、

<?php if( !is_user_logged_in() ) : ?>
ここにGoogle Analyticsのトラッキングコードを記述
<?php endif; ?>

これで、自分がWordPressにログインしている時はトラッキングコードが埋め込まれないようになります。

・is_preview()を利用する

他にも、is_preview()関数もあります。
Function Reference/is preview
こちらは、プレビュー状態かどうかを判定できますので、同じように、

<?php if( !is_preview() ) : ?>
ここにGoogle Analyticsのトラッキングコードを記述
<?php endif; ?>

とやっても良いかもしれないですね。
この場合は、ログイン状態関係なく、プレビューURLの時はトラッキングコードが埋め込まれなくなります。

プレビューURLだけでなく、自分のアクセス(ログイン状態でのみ)自体、Google Analyticsで集計させたくない場合は、前者が良いかと思います。

以上、お疲れ様でしたー!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です