Google アナリティクス:リファラスパム対策

Google アナリティクス:リファラスパム対策

author : koki

publish date :

last update : 2015-07-02

Google アナリティクスを導入している知り合いから、リファラスパムの被害の相談があったのでリファラスパム対策を共有します!

被害の出ているGoogle アナリティクスを見てみると、謎のサイトからの流入アクセスが大量にありました。アクセス元のページを確認してみても、異国のECサイトだったり、広告がぎっしり詰まったゴミページだったりします・・・

リファラスパムについて

リファラスパムはサイト管理者向けのスパムで、スパマーがGoogle アナリティクスのトラッキングコードを悪用しアクセスログを残す方法や、任意のURLをリファラーにセットし、いろんなサイトにひたすらアクセスする方法でログを残し、ログを見た管理者にあたかも自分のサイトへのリンクが設置されているかのように思わせて管理者を誘導する最近ちょっと流行っているスパム行為です。
ひどいサイトは複数のサブドメインからのアクセスもあります。

リファラスパム自体は有害なものでは無いのですが、アクセスログが汚れてしまうのと、リファラーを辿ってしまった自分を激しく後悔してしまいます。

スパムサイトからのアクセスを遮断

アクセスログを汚してくれるスパムサイトからのアクセスを遮断してしましょう。
アクセスを遮断する方法としては、Google アナリティクス上で設定する方法と.htaccessを使った方法の2通りあります。

Google アナリティクス上で設定する方法

Google アナリティクスでは2通りの設定ができます。

  • 自分のサイトだけで計測する
  • 特定のリファラを除外する

フィルタの設定をしても過去のログにフィルタの内容を反映させることはできません

自分のサイトだけで計測する

自分のサイトだけで計測するように設定するだけで、ほとんどのリファラスパムからのアクセスを遮断することができます。
この設定をすることによって、Google アナリティクスのトラッキングコードの悪用されてもアクセスログに残らなくなります。

設定方法は、「アナリティクス設定」→設定したいアカウントを選択し、右カラムの「ビュー」の項目より「フィルタ」をクリックします。

「新しいフィルタ」をクリックし、

  1. 「フィルタ名」に適当な名前を入れ
  2. 「定義済み」、「ホスト名へのトラフィック」、「等しい」を選択
  3. 「ホスト名」に自分のドメインを入れる
  4. 「保存」をクリック

公開しているURLがhttp://www.example.com/の場合は「www.example.com」
http://example.com/の場合は「example.com」と入力してください

正規表現も使用可能です

「カスタム」を選ぶと正規表現で指定することもできます。

複数のサイトで同じトラッキングコードを使用している場合は正規表現で指定すれば問題ありません。
下記はhttp://www.goma.pwhttp://test.goma.pwの2つでアクセス解析をできる例です。

特定のリファラを除外する

この方法で対応する場合は、リファラスパムしてくるドメイン毎にフィルタを作成しないといけないので、複数のサイトを管理していてどれにもリファラスパムされている場合は地獄のような作業です・・・

「新しいフィルタ」をクリックし、

  1. 「フィルタ名」に適当な名前を入れ
  2. 「カスタム」を選択
  3. 「参照」を選択
  4. 「フィルタパターン」に除外したいドメインを記入
  5. 「保存」をクリック

この設定でリファラーが「semalt.com」のものはアクセスログから除外されます。

「既知のボットやスパイダーからのヒットをすべて除外します」の設定

念のため、Google アナリティクスが検知したボットやスパイダーを除外する設定を有効にしておいたほうがいいかもしれません。

設定は、右カラムの「ビュー」の項目より「ビュー設定」からできます。

「既知のボットやスパイダーからのヒットをすべて除外します」にチェックを入れ、「保存」をクリックするだけです。

.htaccessを使った方法

リファラーにリファラスパムのドメインを含む場合は403 Forbiddenとさせてしまう方法です。
この記述方法でサブドメインからのリファラーも遮断できます。
.htaccessの方法の場合、下記コードを書き足してサーバーにアップしてください。
それだけで完了です!

# block access from spam sites
SetEnvIfNoCase Via pinappleproxy spammer=yes
SetEnvIfNoCase Referer semalt.com spammer=yes
SetEnvIfNoCase Referer social-buttons.com spammer=yes
SetEnvIfNoCase Referer humanorightswatch.org spammer=yes
SetEnvIfNoCase Referer o-o-6-o-o.com spammer=yes
SetEnvIfNoCase Referer aliexpress.com spammer=yes
SetEnvIfNoCase Referer darodar.com spammer=yes
SetEnvIfNoCase Referer pizza-tycoon.de spammer=yes
SetEnvIfNoCase Referer hundejo.com spammer=yes
SetEnvIfNoCase Referer hvd-store.com spammer=yes
Order allow,deny
Allow from all
Deny from env=spammer

簡単な説明ですが、「semalt.com」や「social-buttons.com」などでリファラスパムしてくるドメインを指定しています。
これ以外のドメインを追加したい場合は、11行目以降に下記フォーマットで追記していってください。

SetEnvIfNoCase Referer [追加したいドメイン] spammer=yes

リファラスパムドメインを晒します

ここに今までアクセスのあったリファラスパムを記載しときます。

スパムドメイン記載日
semalt.com2015/03/27
social-buttons.com2015/03/27
humanorightswatch.org2015/03/27
o-o-6-o-o.com2015/03/27
aliexpress.com2015/03/27
darodar.com2015/03/27
pizza-tycoon.de2015/03/27
hundejo.com2015/03/27
hvd-store.com2015/03/27
specialdessous.com2015/03/30
burger-imperia.com2015/03/30
free-social-buttons.com2015/07/02
100dollars-seo.com2015/07/02
event-tracking.com2015/07/02
Get-Free-Traffic-Now.com2015/07/02
videos-for-your-business.com2015/07/02
success-seo.com2015/07/02
duckduckgo.com2015/07/02
semaltmedia.com2015/07/02

にしても、リファラスパムとは姑息なアクセス稼ぎな方法だな~。