フレームページのページビューを正しくカウントするには? [アクセス解析Q&A]
質問:ナビゲーション部分がフレームで固定して表示されるようなWebサイトの場合、固定部分のページビューを、アクセス解析でカウントしないようにすることはできますか?
答え可能ですが、少し集計の設定や計測タグの実装などで工夫が必要です。
解説まずフレーム構造についてお話ししよう。下図のようなページがあったとする。
「index.html」がこのページ全体を指定するファイルで、一般に「親フレーム」と呼ぶ。index.htmlには、「子フレーム」であるtop.html、left.html、content.htmlを所定の位置に表示する指定だけが記述されている。index.htmlがリクエストされると、子フレームのファイルを呼び出し、所定の位置に表示する。このケースでは上部(top.html)と左側(left.html)がメニューなどのナビゲーションに利用され、実際変化するコンテンツは右下の部分(content.html)だけである。
普通「ページビュー」はhtmlファイルのリクエスト数をカウントするので、このケースでは、index.htmlをリクエストすると、合計4つのhtmlファイルが呼び出され、4ページビューとなってしまう。サイト運営者がこのページではcontent.htmlだけをカウントすべきだと考えるのは正しい判断だ。これが質問の状況になる。
サーバ・ログ型での対応
まずサーバ・ログ型のアクセス解析ツールの場合で考えてみよう。アクセス解析ツールが対応していれば、特定のファイル名だけ集計から除外するといった設定を施す。この場合では、index.html、top.html、left.htmlの3つを除外ファイル名として指定することになる。もし様々なページで異なるパターンのフレーム構造を利用している場合は、これらを漏れなく除外指定しなければならない。
JavaScript型計測タグでの対応
次にJavaScript型の計測タグを使ったアクセス解析ツールの場合で考えてみよう。JavaScript型の計測タグとは、通常htmlファイルの</body>の直前に所定のJavaScriptを記述して、ブラウザ側でページを閲覧した時点でその閲覧記録を送るという手法である。
今回のケースでは、JavaScriptの計測タグをcontent.htmlだけに実装すればよいということなる。計測対象外のhtmlファイルには計測タグを実装しないということで対処するわけだ。
しかしcontent.htmlにタグを実装する場合には注意が必要である。通常、子フレームの参照元(リファラー)は親フレームになるので、この場合content.htmlの参照元が常にindex.htmlとなってしまう可能性がある。マーケターが知りたいのは、content.htmlの参照元でなく、index.htmlの参照元のはずだからだ。このままでは参照元データとして使えない。ツールによっては、JavaScriptでdocument.referrer(単なる参照元情報)でなく、top.document.referrer(親フレームの参照元情報)を取得するように計測タグを実装できるものもあるし、親フレームのindex.htmlの方にも計測タグを実装することを薦めているツールもあるので、詳しくはツール・ベンダーに確認してみよう。
できるだけフレームは使わない方がいい
フレームを使用したWebページだと、サーバ・ログ型でもJavaScript型でもいろいろと気をつけなければならないし、検索エンジン対策上もあまり好ましくない。なぜなら、検索エンジンのロボットは、ページごとに巡回してインデックスするため、例えば子フレームのcontent.htmlだけが検索結果ページに表示されてしまうこともままあるからだ。この場合、content.htmlにはナビゲーションが一切ないので、検索エンジンからやって来たユーザーはサイト内の他のページを閲覧することなく、直帰してしまうことになる。
最近は、こうした事情からフレーム構造の利用は減ってきたが、このような弊害もあるので、これからWebサイトを作ろうという方は、フレームで構成されたページは極力作らないことだ。また古いページでフレーム構造になっているものがあれば、フレームを使わないページに作り直すのがよいだろう。
ソーシャルもやってます!