IPアドレスやユーザー定義を使わずに簡単に自アクセスを除外する方法(Googleアナリティクス版)

IPアドレスが変わる場合でも除外出来ます。

PHPを使っていますので、プログラミング知識が必要だったり、外部のサーバーをお持ちでない場合には使えませんが、一旦設置してしまえば気軽に使えますので、制作会社の方が、クライアントにも薦められるコードにしました。

自アクセスの除外のデモをまずはどうぞ

以下のURLを入力し、あなたのサイトにアクセスしてみて下さい。Yahoo!のところをご自身のものに変えればOKです。

//www.kagua.biz/jogai.php?url=http://www.yahoo.co.jp

どうでしょうか。普通に表示されたと思います。翌日、あなたのGoogleアナリティクスを見てみて下さい。後述の操作で、ホスト名を見ると、www.kagua.bizが記録されているはずです。

つまり、カスタムフィルタで、これを除外すればいいのです。

自アクセス除外のスクリプトを考えたきっかけ

Googleアナリティクスのカスタムフィルターは、特定のアクセスを除外したくとも、意外と選択肢が少ないものです。

IPアドレスが固定であれば、(最近は入力フォーム形式になったので)最も除外しやすいと思います。しかし、IPアドレスが変わってしまうモバイルなどの場合、ちょっと難しい。

また、ユーザー定義で一度クッキーに記録しておき、それを除外する方法もあります。こちらは、Cookieに記述するための自分達しか知らないページを作る必要性があります。

他の方法を試案しようにも、そもそもカスタムフィルターで除外する際には、以下の項目でなければ対象に出来ない・・・。普通のサイトですと、キャンペーンとかeコマースとか馴染みが少ないかと。

まあ勿論、ブラウザを偽装するアドオンなどで、任意のブラウザ名でアクセスして、それを除外してもいいのですが、なかなか他の人にはススメ辛いですよね。そこで思い立ったのがホスト名を使うことでした。

Google Analytics のホスト名とは

皆さんも、このパラメータを不思議に思ったことはありませんか?

◆Google Analytics でホスト名を見る
(旧バージョン)ユーザー>ネットワーク環境>ホスト名
(新バージョン)ユーザー>ユーザーの環境>ネットワーク>(表示中のセグメント)ホスト名

自分サイトのドメイン、あるいはGoogle翻訳など、2〜3サイトくらいしか表示されずに、何だろうなぁと不思議に思った人も多いのではないでしょうか。

実はこれ、どのホスト(ドメイン)上でリクエストがあったかを記録するパラメータなのです。

リクエストのレベルでコールされないとイケナイので、iFrameで別ドメインを呼び出す程度では記録されないのです。ですから、Google翻訳のように本文を変えるようなサイトですと、記録されているわけですね。

たった数行のプログラムで除外できます

PHPには、file_get_contents()というファイルを読み込む便利な命令があるので、これを使います。

jogai.phpのあと?url=の後にアクセスしたいURLを書いてアクセスすれば、そのホスト経由でのアクセスになります。これで、カスタムフィルターでホスト名除外すればOKです。手入力で1ページづつURLを調べるのでしたら、4、5行目さえ必要ありません。

◆jogai.php
<?php
$url = $_GET[‘url’];
$buf = mb_convert_encoding(file_get_contents( $url ), ‘UTF-8’, ‘auto’);
$rpr = ‘<a href=”設置ドメイン/jogai.php?url=’ .$url; //サイト内リンク変換用
$newstr = str_replace(‘<a href=”‘, $rpr, $buf); //サイト内リンク変換用
echo $newstr;
?>

あとは、サイト内リンクの記述法則を考慮して、HTML内の<A>タグを、全てそれ経由に書き換えればOKです。

・・・と簡単そうに書きましたが、そのあたりはサイトによってまちまちだと思いますので、上記コードで対応していないことを列挙しますね。

・文字コード変換に対応していません。※UTF-8のサイトは大丈夫。
・サイト内の回遊は、Aタグで、<a href=”〜”となっているURLを変換していますので、それ以外の表記をされてますとスルーされてしまいます。
・Flash、jQuery など高度な遷移は非対応。
・サイト内リンクの表記ぶれも非対応(/hoge.html、と./hoge.htmlなど)。

まだまだやることはたくさんありますが、この方法を書いているエントリーもあまり見ないので、書いてみました。

自分のアクセスを遮断する設定例

ですから、後はカスタムフィルタに除外の設定をすればOKです(以下は例)。予め複製したプロファイルにかけるなどして、原本のプロファイルは残しておくと良いでしょう。

Googleアナリティクスのホスト名に、経由したドメインが記録されたことを確認してから、それをそのまま設定すれば確実です。
 

書くことが思いつかない人のための文章教室 (幻冬舎新書)
近藤 勝重
幻冬舎
売り上げランキング: 6