JavaScriptとは
前回説明したようにアクセス解析には、下記の2種類あります。
- サーバに記録されたアクセスログを解析するタイプ
- ページに解析用のタグを埋め込むタイプ
このうち「ページに解析用のタグを埋め込むタイプ」のアクセス解析ツールは、ページ内に指定されたタグを記述するだけで、アクセス解析を行うことができるものです。例えば、Google Analyticsの場合、以下のようなタグを記述することになります。
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-53636-1";
urchinTracker();
</script>
この貼り付け用のタグは、JavaScriptでできているということも前回紹介しました。それでは、JavaScriptとはいったい何なのでしょうか。JavaScriptは一言で言ってしまえば「プログラミング言語」です。Webサイトを構築するに当たっては、さまざまなプログラミング言語が使われています。単なるHTMLで構成されて、誰がいつアクセスしても、まったく変わらないデータを表示させるだけの「静的ページ」でなければ、あるURLにアクセスした際には、Webサーバ側のプログラムが実行され、表示する内容を生成しています。
「CGI」という言葉を聴いたことがあるかもしれませんが、これはWebサーバ側でプログラムを実行する方法のひとつを指す言葉です。そしてサーバ側ではJavaやPHP、PerlやRubyといった言語で書かれたプログラムが実行され、その結果がアクセスしてきた「クライアント」に返されます。第1回で解説した、Webページへのアクセスでは「サーバ」と「クライアント」が登場することを思い出してください。Webサイトを構成するプログラムの多くは、サーバで実行され、その結果だけがクライアントに返されるのです。
クライアントで実行されるJavaScript」の特徴
しかし一方で、JavaScriptはクライアント側で実行されるプログラミング言語です。プログラムはHTMLなどのデータとともにクライアント(ブラウザ)に送信され、ブラウザがそのプログラムを実行するようになっています。
「クライアントで実行されるJavaScript」の特徴は、サーバ側で処理されるプログラムにはできないさまざまなことを可能にしています。例えばJavaScriptを使うことで、サーバにアクセスしたり、ページを切り替えなくても、ページ内のデータを書き換えることができます。最近では、JavaScriptを使ってページ内でアニメーションなどの視覚効果をもたせることや、Ajaxと呼ばれる、JavaScriptでサーバとのやり取りを行って、ページを切り替えずに内容を書き換えるテクニックなどは、もはや当たり前になってきています。例えば「Gmail」という、Googleが提供するメールサービスがありますが、このサービスでは、ページの切り替えはほとんど起こらず、JavaScriptを使って内容の書き換えを行っています。
このように、JavaScriptはブラウザ側で実行される言語です。そしてアクセス解析も、ブラウザを操作している人の行動や状況を解析するものですから、「JavaScriptを使ってアクセス解析をする」というのは非常に理にかなった方法なのです。ちなみに、Flashを利用することでも、ブラウザ内でプログラムを実行することができます。Flashを利用したアクセス解析ツールも存在します。
Flashを利用したアクセス解析ツールの中には、ほかのFlashムービーに埋め込むことで、Flashムービー自体のアクセスを解析できるものも存在します。Flashムービーを多用したページの場合、ページ遷移がほとんどなく、サーバ側でアクセスを記録したり、JavaScriptを使ってアクセスを解析するのが難しいことも多いのですが、こうしたツールを使うことで、その問題を回避することができます。Flashムービー自体のアクセスを解析できるツールには、例えばMochiBotなどがあります。
JavaScriptを使ったアクセス解析でできること
ではJavaScriptを利用したアクセス解析では、どのような利点があるのでしょうか。