大問題の予兆? Google Analyticsのアクセス解析に対するスパム攻撃
SEOmozに初めてのブログ記事を投稿する前に、1つはっきりさせておきたいことがある。
僕は悪玉SEOではない。僕たちは顧客のために不正なことはやらないし、正直言って、プライベートな時間にだってそういうことはまずやってない。オンライン上で行われているいかがわしい行為について説明する前に、この点だけははっきりさせておこうと思ってね。
アクセス解析ツールに対するスパム攻撃とは何かを説明する前に、まず、JavaScriptを利用したアクセス解析システムの仕組みを、手短に説明しておこう。
JavasSriptを利用したアクセス解析の概要
JavaScriptによるアクセス解析は、ウェブサイトの訪問者を追跡する方法として非常にありふれたものだ(「ビーコン型」と呼ばれるタイプのアクセス解析ツール)。Google Analyticsもこの方法を利用している。
Google Analyticsを使ってサイトのアクセス解析をするには、自分のサイトで調査をしたい各ページに、短いJavaScriptのコードを書き込んでおくだけでいい。このコードは、グーグルのサーバーに置かれているJavaScriptのファイルをブラウザに読み込ませて、ウェブサイトの訪問者にクッキーを渡す。JavaScriptに設定するちょっとしたパラメータと、そしてこのクッキーの組み合わせによって、自分のサイトを訪れた訪問者の行動を追跡してくれるんだ。
(注釈:JavaScriptを利用した解析の仕組みをわかりやすく示す簡単なフローチャートを入れたかったのだが、いいのが見つからなかった!)
では、僕たちの言う「追跡」とは、正確にはどういうものだろうか? まず、各訪問者が自分のサイトを訪れるたびに、次のような情報が記録される。
- 訪問者が使用しているOS
- 訪問者が使用しているブラウザ
- 訪問者が使用しているディスプレイの解像度
- 訪問者がどこからそのページに飛んできたのか
- そのセッションにおける訪問者の滞在時間
- 訪問者がアクセスしたページ
これ以外にも、たくさんの情報が記録される。
こんな話は今さらする必要もないだろう。このブログの読者なら、Google Analyticsがどのようなもので、それがどのように機能するのか知っているはずだ。だから、その話はこの辺までにしておこう。
だがここで、JavaScriptを利用したアクセス解析とログファイルを利用したアクセス解析にはある違いが存在することに注目してもらいたい。それは、「JavaScriptを利用した解析では、検索エンジンのロボットによるアクセスを追跡できない」という点だ。
ログファイルによるアクセス解析は、検索ロボットのアクセスも表示するのが普通だ(だから、気をつけないと、不要な情報がデータに紛れ込んでしまうことになるよ!)。
こういう違いがあるのは、検索ロボットがJavaScriptを実行してくれないからなんだ。これについては、「検索エンジンに優しいデザインの基本——『検索エンジン最適化の初心者ガイド』改訂版#4-1」を読んだ人ならもう知っているよね? ナビゲーションにJavaScriptを利用してはいけないというのは、基本事項の1つだ。検索エンジンのロボットはJavaScriptを実行しないので、JavaScriptで生成したリンクを見ることができない(注意:検索ロボットが実行できるようなJavaScriptコードもごくわずかながら存在する。ただ、解析スクリプトを実行できないのは確かだ)。したがって、ロボットのアクセスは解析データに表れない。
アクセス解析スパムとは
さて、みんながこうした事情を理解し、気分も乗ってきたところで、次の2点を頭に入れてもらいたい。
- 解析ツールが拾い集める訪問者についての情報は、改ざんすることが可能である
- JavaScriptを実行してウェブサイトをインデックス化するロボットを作成することは可能である
理論上、他人のサイトを訪問してJavaScriptを実行し、本物の訪問者のように見せかけるロボットの作成を防ぐ手立ては存在しない。自分のサイトへのトラフィックを基に、適切な割合でブラウザやOS、言語などをごまかすことによって、ロボットのアクセスを他のトラフィックに紛れ込ませることさえ可能だ。さらに、決められた時間だけサイト内をクロールさせ、直帰率100%を回避することもできる。結局のところ、こうした行為を検知することは非常に困難だろう。
なぜそんな面倒なことをするのかって? こうしたことを実施するには、いくつかの目的がある。
- サイトの評価を上げるために、サイトへのトラフィックを自然な方法で水増しする
- 競合相手の解析データを歪曲する
- ウェブマスターの好奇心を逆手にとって、スパムページへのアクセスを促す
ごまかすのが一番難しいのはIPアドレスだろう。もっとも、それさえ決して不可能というわけではない。
アクセス解析スパムの実例
こうしたことが決して起こらないとか、うまくいきっこないと思う人たちのために、僕自身のブログへのトラフィックを見てみよう。
疑わしいサイトのURLは、http://iamready4u.synthasite.com/ だ。
このサイトを訪問してみると、自動生成のコンテンツと、僕のサイトへの自動生成リンクのようなものがある。これが本物のトラフィックだとは、僕には信じがたい(かといって、本物でないという確信も持てないでいる。おかげで、全体的な考察がいっそう厄介なことになっているんだ)。
これはウェブスパムの未来像なのだろうか?
アクセス解析ツールに対するスパム攻撃は、ログファイルを利用した解析ではしばらく前から存在が知られていた。それは、ログファイルベースの解析用パッケージの中には、インデックス可能な普通のページからアクセスの多いリファラーにリンクするものがあるためだ。つまり、ロボットでスパム行為のためのアクセスを繰り返せば、自分のサイトに対するリンクを相手のサイトに作らせることができたんだ。
しかし、JavaScriptを利用したアクセス解析ツールに対してもスパム攻撃が仕掛けられるようになったのであれば、まったく異なる世界が開けることになる。特に、Google Analyticsが普及した現状においてはね。
これは次世代のスパムになりうるのだろうか? グーグルは「スパムトラフィック」に対して予防策を講じるだろうか? あるいは、もうすでに実行しているのだろうか?
僕個人の感想として、解析ツールに対するスパム攻撃については、おそらく、今は非常に小さな問題なので、たいした対策がとられているとは思わない。だけど、もしこれが今後1年で大きな問題に発展したとしても、僕は驚きはしない。
結論としては、解析ツールに対するスパム攻撃から身を守るためにできることはあまり多くない。僕に思いつく最高の戦略は、2種類の解析ツールを並行して使用し(できれば、それぞれ違う方法でトラフィックを記録するタイプのもの。たとえば、JavaScriptベースの解析とログファイルベースの解析など)、何かおかしなところがないか両方の結果を比較してみるというものだ。これが上手くいったとしても、歪曲されたトラフィックを発見するのは難しいだろうが、実際のところスパマーの多くは怠惰で、トラフィックを十分にランダム化しないだろうから、注意深く調べれば奇妙なデータが見えてくるだろう。
コメント
翻訳の表現や質はなんとかなりませんか?
いつも興味深くWeb担当者Forumの記事を拝読しております。
記事の内容は特に難易度の高いものではなく、情報として大変参考になるのですが…
海外の記事の翻訳の仕方について、いつもその日本語表現に疑問を感じています。
たとえば、当記事内で非常に目に付いた表現をリストアップしてみると…
~と思ってね。
うまくいきっこない
~なっているんだ。
~ことができたんだ。
~においてはね。
僕は驚きはしない。
海外ドラマの俳優の台詞でもあるまいし、わざわざこんな表現を用いることはありませんし、大変読みづらいだけでなく、せっかくの記事が軽薄なものになりさがってしまうと危惧する読者も多いと存じます。
翻訳を担当されている株式会社ガリレオ様には、ぜひとも善処くださいますよう、切に希望します。