私たちがどんなに嫌おうと、事実として、インターネットはスパムで溢れかえっています。

サーバーを利用してリクエストを送信するスパムもあれば、ユーザーを利用して不正なマルウェアやウィルスを送りつけるものもあります。

そんなスパムの種類の一つに、リファラースパムと呼ばれるものがあり、その対策がされていないWordPressサイトに悪影響を及ぼします。さらに、このスパムはGoogleアナリティクスのシステムに侵入し、検索結果の表示順位を下げてしまったり、不利な状況をつくってしまったりします。

このスパムを完全になくすことは不可能です。しかし、リファラースパムの対策をすることは可能です。

GoogleアナリティクスとWordPressサイトからリファラースパムを排除するのが一番です。では、そのためにはどうすればよいのでしょうか?

対策についてはこの後すぐにご説明しますが、まずは、リファラースパムとは何か、そしてそれがサイトにどのような影響を及ぼすかをもう少し詳しくご紹介します。

リファラースパムとはなにか?

リファラースパムとは、迷惑参照サイトURLを利用して、繰り返しウェブサイトのリクエストを送信する迷惑行為で、通常、スパマーが宣伝したいサイトが参照サイトになります。

Googleアナリティクスでは次のように表示されます。

Googleアナリティクスでのリファラースパムの表示
Googleアナリティクスでのリファラースパムの表示

リファラースパムの目的は一つ、検索エンジン対策です

次のような仕組みとなっています。

  • スパマーが検索結果で上位に表示させたいサイトがある。
  • スパマーはそのサイトにリンクした迷惑参照サイトURLを使用して複数のリクエストを送信する。

簡単に言うと、ユーザーに価値のあるコンテンツを提供することなく、検索エンジンからのサイトの評価を改善しようとしています。あなたのサイト上で誤ってこれらのアクセスログや統計を公開してしまうと、意図していなくてもスパマーが宣伝したいサイトにリンクしてしまうことになります。

すると、あなたのサイトは質の悪いサイトにリンクしていることになります。そして、スパムサイトの検索結果順位向上を助けてしまう可能性もあります。

Googleアナリティクスには他にもたくさんのスパムサイトが
Googleアナリティクスには他にもたくさんのスパムサイトが

また、あなたが中身のないサイトへリンクしているとGoogleが判断すると、今後、検索結果の表示順位が下がってしまうことがあります。

ここで使用されるボットが実際にあなたのサイトを訪問することはありません。実際にはJavaScriptのトラッキングコードを使い、直帰率など参考になるエンゲージメント指標を覗き見します。

ゴーストやリファラースパムの仕組みを示す図
ゴーストやリファラースパムの仕組みを示す図(画像参照元:magistrateinc.com)

Googleやその他の検索エンジンはこのようなスパムサイトを排除するために様々な努力をしていますが、間違いなく問題が起きないように自ら策を講じるのがいいでしょう。

たくさんの劣悪なサイトにリンクを貼ると、検索エンジンはあなたが意図的にそれを行っていると判断してしまいかねません。

なぜリファラースパムと呼ばれるのか?

このスパムには、Googleアナリティクスとの関わりから名前がつけられています。スパマーは、多くのサイト所有者が別のサイトからのトラフィックの流入状況を確認したがるということを利用します。

Googleアナリティクスには参照元のレポートがあり、トラフィックがどこから最も流入しているかを確認することができます。

あなたのサイトのアクセスログから、あるユーザーが参照元のレポートを見たとします。Googleアナリティクスの参照元一覧を確認している時に、迷惑サイトのリンクをクリックしてしまうかもしれません。

だれがクリックしたとしても必ず悪影響を及ぼすことになります。

ボットによるトラフィックを排除するメリットは?

ボットによるトラフィックやリファラースパムがあったとしてもそれほど深刻ではないと考える人もいるかもしれません。しかし、ボットによるトラフィックの多さを知れば、決して深刻でないとは言えなくなるでしょう。

健全なボット、悪意のあるボット、そして人間の割合
健全なボット、悪意のあるボット、そして人間の割合(画像参照元:voluum.com)

ボットによるトラフィックの56%近くは不正な目的で使用されています。あなたのアナリティクスデータを覗き見するだけでなく次のようなことにつながる可能性があります。

  • DDoS攻撃につながり得る
  • SEOとサイトの評判に悪影響が出る
  • アカウントが乗っ取られることがある
  • 金銭的な損失が出る可能性がある

そこまでの悪影響を及ぼさなかったとしても、意図せずスパムサイトにリンクし、検索結果の表示順位が下がってしまう可能性もあります。

さらに、健全なるサイト所有者たるもの、質の高いコンテンツを作成するものであり、スパムによる劣悪リンク大量発生を阻止する義務があります。

スパムはインターネット利用者のスムーズな検索を妨げます。最終的には、あなたか、もしくはあなたのサイトを訪問した人がリファラースパムのリンクをクリックしてしまい、有害なコンテンツを含むサイトへ誘導されてしまう可能性もあります。

Googleアナリティクスでリファラースパムを排除する方法

Googleアナリティクスのスパムを防止する方法やポイントは次の通りです。

それぞれを詳しく見ていきましょう。

1. Googleアナリティクスの設定でメジャーなボットやスパイダーを除外する

Googleアナリティクスのスパムを排除する高度な方法をご紹介する前に、まずは「管理」>「ビュー設定」>「ボットのフィルタリング」から設定できる機能を利用してみましょう。

Googleアナリティクスのボットフィルタリング機能
Googleアナリティクスのボットフィルタリング機能

ボックスにチェックを入れて、画面の一番下の「完了」ボタンをクリックします。

2. Googleアナリティクスの結果からスパムボットをフィルタリングする

技術的な変更を加える時、何か問題が発生した場合に元どおりに復元できるようバックアップを必ず作成するかと思います。

Googleアナリティクスにも同じことが言えます。フィルタをかけた結果と見比べて、うまくフィルタリングされているかどうか確認できるよう、フィルタをかけていないビューを保存しておきましょう。フィルタがうまく機能しなかった場合の復元にも使えます。

Googleアナリティクスでフィルタなしのビューを設定する

管理から、3列目にある「ビュー設定」をクリックします。

Googleアナリティクスでフィルタなしのビューを設定する
Googleアナリティクスでフィルタなしのビューを設定する

次に「ビューをコピー」をクリックし、フィルタの適用されていないビューとして「フィルタなし」などの名前をつけます。

Googleアナリティクスで新しいビューをコピーで作成し名前をつける
Googleアナリティクスで新しいビューをコピーで作成し名前をつける

次にメインの管理画面に戻り、ビューのセクションの「フィルタ」をクリックします。

備考:こちらは「アカウント」列にある「すべてのフィルタ」とは別です。

Googleアナリティクスでフィルタを作成する
Googleアナリティクスでフィルタを作成する

赤い+フィルタを追加」ボタンをクリックします。

Googleアナリティクスで新しいフィルタを追加し、名前をつける
Googleアナリティクスで新しいフィルタを追加し、名前をつける

ここから、複数のスパムフィルタを設定しGoogleアナリティクスからスパムを排除することができます。

作成したそれぞれのフィルタを試してみて、うまく機能するかどうか確認してみましょう。問題ないことが確認できたら、「保存」をクリックします。

Googleアナリティクスで設定できるスパムフィルタの種類について簡単にご紹介します。

気をつけるべきスパムの種類とそれを除外する方法

一般的なスパムは3種類あります。それぞれの説明と、除外する方法を簡単にご紹介します。

ゴーストスパム

ゴーストスパムとは、ハッカーが自分のサイトにアクセスさせようとして、Googleアナリティクスに挿入する不正なデータのことです。

Googleアナリティクスでゴーストスパムを見つけるには、次の操作を行います。

「ユーザー」>「ユーザーの環境」>「ネットワーク」>「ホスト名」

あなたのサイトに関わっているホスト名の一覧が表示されます。あなたのサイトのドメインサブドメインと、Googleアナリティクスと連携した他の全てのサービスが表示されます。

見覚えのないものがあれば、ゴーストスパムの可能性があります。

ゴーストスパムを除外するには、自分のアカウントに属するホスト名とそうでないものを振り分けるフィルタを作成します。

Googleアナリティクスでゴーストスパムを除外する手順
  1. 有効なホスト名の一覧を用意します。
  2. 各ホスト名を|で区切り、全てのピリオドとハイフンの前に\を挿入します。(例:kinsta\.com|youtube\.com)
  3. 次に、Googleアナリティクスのアカウントを開き、「管理」の画面を開き、該当のビューを選択します。
  4. 「フィルタ」を開き「フィルタを追加」をクリックします。
  5. フィルタに名前をつけ、フィルタの種類は「カスタム」を選択し、「一致」から「ホスト名」を選びます。
  6. ホスト名を正規表現で「フィルタ パターン」に入力し、新しいフィルタがきちんと機能するかどうか確認するために「このフィルタを確認する」をクリックします。
  7. 「保存」をクリックしたら完了です。

次の方法で、ゴーストスパムに対してさらに強力な対策をすることもできます。

Googleアナリティクスから、「ユーザー」>「テクノロジー」>「ネットワーク」を開きます。

画面をスクロールし、「ホスト名」を「プライマリディメンション」に指定し、結果が月ごとに表示されるような設定にします。

Googleアナリティクスでホスト名をプライマリディメンションに指定
Googleアナリティクスでホスト名をプライマリディメンションに指定

ホスト名の一覧を確認し、正規のものを特定しメモしておきます。

ここで重要なのは有効なホスト名の一覧を作成することです。次に「設定」画面上部から「管理」タブへ移動し、「フィルタ」をクリックします。

Googleアナリティクスで有効なホスト名の一覧を作成
Googleアナリティクスで有効なホスト名の一覧を作成

「フィルタを追加」>「カスタム」>「一致」を選択します。許可するホスト名を入力する欄が表示されます。ここでは各ホスト名の前に^を、後ろには$を付け加えて表記します。

複数のホスト名を|で区切ります。

Googleアナリティクスにカスタムフィルタを追加する
Googleアナリティクスにカスタムフィルタを追加する

「保存」をクリックして完了します。Googleアナリティクスの管理画面に変更が反映されるまでに24時間程度かかる場合があります。こちらのスパムゴーストリファラーサイトの一覧も一度ご覧ください。

ここにあるものは全てGoogleアナリティクスから除外すべきでしょう。

スパムクローラー

スパムクローラーとはボットによって生成されるスパムで、サイト上で自動タスクを実行しながらサイトとログ情報を閲覧します。このボットはrobots.txtで設定したルールなどを無視してページをクロールします。

Googleアナリティクスでスパムクローラーを除外する手順

Googleアナリティクスでこの数年で検知されたスパムクローラーを排除するための次の正規表現を用いてカスタムフィルタを作成します。

正規表現その1

(best|dollar|success|top1)\-seo|anticrawler|^scripted\.|semalt|forum69|7makemon|sharebutton|ranksonic|sitevaluation|dailyrank|vitaly|profit\.xyz|rankings\-|dbutton|uptime(bot|check|\.com)

正規表現その2

Datract|hacĸer|ɢoogl|responsive\-test|dogsrun|tkpass|free\-video|keywords\-monitoring|pr\-cy\.ru|fix\-website|checkpagerank|seo\-2\-0\.|platezhka|timer4web|share\-buttons|99seo|3\-letter|top10\-way

カスタムフィルタの作成手順は次のとおりです。

  1. Googleアナリティクスアカウントを開く。
  2. 「管理」から「フィルタ」を選択し、「フィルタを追加」をクリック。
  3. フィルタに名前をつけ、フィルタの種類は「カスタム」を選択し、「除外」をクリック。
  4. 「フィルタ フィールド」を「キャンペーンのソース」に設定し、上記の正規表現の一つ目を入力。
  5. フィルタを確認し「保存」をクリック。
  6. 正規表現その2でも同じ手順を踏む。
言語設定スパム

言語設定スパムは通常、特定の主張、サイトや商品の宣伝を目的としたものです。thenextweb.com、lifehacker.com、reddit.comなど、実在するサイトを装いレポートの「言語」の欄に表示されるよう操作が加えられています。

Googleアナリティクスでゴーストスパムを除外する手順
  1. Googleアナリティクスアカウントを開く。
  2. 「管理」から「フィルタ」を選択し、「フィルタを追加」をクリック。
  3. フィルタに名前をつけ、フィルタの種類は「カスタム」を選択し、「除外」をクリック。
  4. 「フィルタ フィールド」を「言語設定」にし、「フィルタ パターン」に以下を入力。\s[^\s]*\s|.{15,}|\.|
  5. フィルターを確認し「保存」をクリック。

3. ドメインの.htaccessファイルを編集するかNginxでルールを追加する

レンタルサーバーでcPanelが採用されている場合、リファラースパムを排除するのに効果的な方法として.htaccessファイルを編集できます。このファイルはサーバーを制御するのに使用されるもので、あらゆるドメインやIPアドレスからのスパムを排除することができます。

.htaccessからスパムトラフィックを排除するのは効果的(ただしサイトを破損してしまわないよう注意が必要)
.htaccessからスパムトラフィックを排除するのは効果的(ただしサイトを破損してしまわないよう注意が必要)

この方法では、サイトでリファラースパムのドメインをブロックできるだけでなく、サーバーから排除することができます。こうすることで快適なサーバー速度が維持できます。

.htaccessファイルからスパムを排除する方法

例えば、Semalt、free-traffic.xyz、buttons-for-website.comを排除したいとします。サイトの.htaccessファイルに次のコマンドを追記します。

## SITE REFERRAL BLOCK
RewriteCond %{HTTP_REFERER} semalt\.xyz [NC,OR]
RewriteCond %{HTTP_REFERER} free-traffic\.xyz [NC,OR]
RewriteCond %{HTTP_REFERER} buttons-for-website\.com [NC,OR]
RewriteRule .* – [F]

このコマンドの意味が分からない方もいらっしゃるかと思いますので、順にご説明します。

  • NCによりコマンドはケース・インシティブ(大文字か小文字かを問わない状態)になります。そのため、SeMalT.comやFree-Trafficもフィルタリングされます。
  • ORは複数のリファラーが排除されることを意味します。
  • 最後の行は、あなたのサイトにアクセスしようとして拒否されたドメインにどのようなことが起こるかを指定しています。
  • Fはfail(失敗する)を意味し、リファラーに403エラーが表示されるようになります。

ただし、.htaccessファイルを編集する際は十分に注意が必要です。

1文字間違った場所に入力したり、誤ってスペースを1つ多く入力したりするだけで、サイトが機能しなくなる危険性があります。

Nginxでスパムを排除する手順

ご利用のレンタルサーバーがApacheではなくNginxを利用している場合、.htaccessファイルを編集することができないため、Nginxでリファラーからのリクエストを排除するためのルールを設定しなければなりません。

if ($http_referer ~* "bad-site-to-block\.com") {
    return 403;
}

Kinstaのお客様の場合、ルールを追加するにはサポートチームまでお問い合わせください。

4. 外部ツールを利用してリファラースパムを排除する

WordPressユーザーの場合、WordPressのGoogleアナリティクス用リファラースパム対策プラグインを使用しボットトラフィックをブロックすることもできます。

最もおすすめなのは、リファラースパムを監視してサイトから排除してくれるSucuriです。さらに、このプラグインはオールインワンのセキュリティ対策ソリューションでもあるため、DDoS攻撃からもサイトを保護してくれます。

Sucuriほどの機能は必要ない方はGoogleアナリティクスの競合ツールであるPiwikを開発しているMatomoが提供しており、一般公開されたリファラースパマーの一覧を活用したプラグインであるStop Referrer Spamが便利です。

他にもいくつかプラグインはありますが、しばらくアップデートされておらず、ご利用のWordPressのバージョンと互換性がないかもしれません。また、古いソフトウェアを使用するとセキュリティ上の問題が発生する可能性があります。それでも試してみたいという方のために念のためご紹介します。

新しいプラグインをインストールする前には、万一問題が発生した場合に元どおりに復元できるように必ずバックアップをとるようにしてください。

Googleアナリティクスのスパムに関するよくある質問

ここからはGoogleアナリティクスのスパムに関するよくある質問をいくつかご紹介します。

Googleアナリティクスで見つかったスパムサイトは訪問しても問題ない?

最初にこれだけは覚えておきましょう。リンクをクリックしてはいけません。

ウェブサイトを訪問してしまうと、相手の思惑通りです。代わりに、サイトにクオーテーションマークをつけてGoogleで検索してみましょう。

Googleでスパムリファラーサイトを検索し、他のサイトで摘発されているかどうか確認する
Googleでスパムリファラーサイトを検索し、他のサイトで摘発されているかどうか確認する

こうすることで、サイト自体を訪問せずにそのサイトに関する情報を他のページで参照することができます。サイトがGoogleアナリティクスのスパムである場合、他の誰かがそのことについて情報を公開している可能性が高いです。

Googleアナリティクスでスパムをフィルタリングすることがなぜ重要か?

Googleアナリティクスのデータ(また、サイトのアナリティクス全般)はサイトのパフォーマンスを追跡し、どのようなことが訪問者の関心を引くのか確認する有効な手段です。何が有効か分かるだけではなく、何が有効でないか(つまり改善できる部分)を知ることもできます。

しかし、その中にリファラースパムが混ざっていると、データの正確性が損なわれてしまいます。

セッションの大部分がボットによる意味のない訪問かもしれません。

Googleアナリティクスで見るSemaltによるスパムトラフィック
Googleアナリティクスで見るSemaltによるスパムトラフィック

Googleアナリティクスで正確なデータが得られないと、間違った判断をしてしまう可能性があります。データが不正確だと、物事を間違って解釈してしまいかねません。

例えば、特定のページが訪問者に人気だと考えて、その改善に多くの時間やお金を費やしたとします。しかし、そのトラフィックの大半がボットによるものだとしたら、改善のために時間やお金をかける意味は全くありません。

アナリティクスから正確で役に立つ洞察を得るために、スパムボットをフィルタリングしデータを整理しましょう。

過去のGoogleアナリティクスのデータからスパムを排除することは可能?

スパムフィルタは将来的なデータからスパムを排除することはできても、過去のデータに適用することはできません。

フィルタを設定すると、その日以降のスパムはフィルタリングされますが、過去のデータはそのままです。これまでのデータにはボットによる不正確なデータが残ったままになります。

とは言え、これは必ずしも悪いことではありません。Googleアナリティクスからスパムデータを排除する前と後を比較することができます。

Googleアナリティクスでスパムトラフィックを排除する前と後を比較
Googleアナリティクスでスパムトラフィックを排除する前と後を比較

スパムフィルタを適用する前と後の分析データを比較することで「どれだけのトラフィックがボットによるものだったか」を知ることができ、サイトに関するより正確な洞察が手に入ります。

まとめ

残念ながら、スパムを完全に排除するのは不可能です。しかし、Googleアナリティクスのデータへの影響を制御することはできます。

スパムをブロックし、優れたサイトを作成するのに必要な正確なGoogleアナリティクスのデータを獲得するには、適切なフィルタ、プラグイン、技術的ノウハウを駆使するのが一番です。

あなたのお勧めするGoogleアナリティクスのスパム排除方法はなんですか?是非お聞かせください。

Matteo Duò Kinsta

Head of Content at Kinsta and Content Marketing Consultant for WordPress plugin developers. Connect with Matteo on Twitter.