entry-image

Feed にアクセス解析を行ってみる

自分のサイトがどのような解像度のディスプレイで、どのようなブラウザを利用している方が多いのかを調べるためにアクセス解析サービスは欠かせません。

feed リーダーや、あらゆる feed を活用したマッシュアップサイトの登場で、ページを通常の Web ブラウザで閲覧するとは限らない状況も増えてきました。feed が普及するにつれ、直接サイトを閲覧されない場合のアクセス数を知りたいときに、feed の購読状況を知ることができる FeedBurner のようなサービスを利用している方も多くいらっしゃるかと思います。

FeedBurner で feed のアクセス解析をする場合の問題

FeedBurner ではかなり詳細に解析できるようになっていますが、観測気球さんのエントリで そのまま FeedBurner の URI を RSS Auto-discovery で指定した場合に Yahoo! の検索ロボットが巡回対象とならないことを知りました。

主に以下のような場合は、検索エンジン用ロボットの巡回対象となりません。

  • RSSの書式に問題がある(例:channelやitemなどの要素が存在しない)
  • RSSの言語指定の記述が、日本語以外になっている(例:en-us、arなど)
  • RSSのアドレスが、ブログや各記事のドメインと異なる(例:RSSが外部サーバ上にある)

Yahoo! ヘルプ - Yahoo!ブログ検索

こういったこともあり、リダイレクトできるサーバであればあまり問題ではないかもしれませんが、自サイトドメインと異なる feed サービスを使いたくない場合もあります。

自サイトドメインで配信している feed でもアクセス解析を行いたい

とはいうものの、自サイトドメイン内で配信している feed に対するおよそのアクセス数は把握したいものです。そのような場合には、image 要素にサイトロゴを置いて解析を行う方法も良いかもしれません(feed へのロゴ設置方法は caramel*vanilla の lomo さんのところで詳しく書かれているので参考になるかと思います)。

ところが、image 要素の内容を表示しない feed リーダーも存在するので、実際に更新されたエントリを読まれているのかどうかの参考にならない場合があります。

description 要素に 解析用コードを埋め込む

そんなわけで、このサイトでは(あまり良い方法ではないかもしれませんが)RSS2.0 のdescription 要素に HTML を書けることを利用して、画像アクセス解析ができるコードを埋め込むようにしてみました。アクセス解析サービスを別で利用している方で、noscript 時に表示させるための画像(いわゆるウェブビーコン)を利用しています。

Movable Type の RSS2.0 テンプレートに埋め込んだ場合のコード

<description>
<$MTEntryBody encode_xml="1" convert_breaks="0"$>
<![CDATA[
<img src="解析用画像のパス" alt="analyzer" />
]]>
</description>

description 要素にそのまま HTML を記述するのではなく、必ず CDATA セクション(<![CDATA[]]>)の中に記述する必要があります。

Movable Type の Atom テンプレートに埋め込んだ場合のコード

<content type="html" xml:lang="<$MTBlogLanguage ietf="1"$>" xml:base="<$MTBlogURL encode_xml="1"$>">
<$MTEntryBody encode_xml="1" convert_breaks="0"$>
<$MTEntryMore encode_xml="1" convert_breaks="0"$>
<![CDATA[
<img src="解析用画像のパス" alt="analyzer" />
]]>
</content>

content 要素にそのまま HTML を記述するのではなく、必ず CDATA セクション(<![CDATA[]]>)の中に記述する必要があります。

この方法だと、画像を表示できる feed リーダーで読まれている場合には、解析ができるようになります。アクセス数の参考程度には使える方法だと思いますが、もっと合理的な方法がある気もしている(書いていて思いましたが、エントリを書くときに普通にスクリプトを埋め込めばいいかも、とも思ったり。でもその毎回の作業をしなくてすむからやっぱりいいのかな)ので今後も模索していこうと思います。

RSS リーダーという呼称のほうが感覚的に広く使われてきたように思うのですが、ひとくちに RSS とは言ってもバージョンによって語意が異なりますし、近頃の RSS リーダーと呼ばれるツールでは RSS1.0 や RSS2.0 をサポートしてきていることと、Atom も読めるリーダーが増えてきていることから、狭義の RSS という呼称よりも feed のほうが適切な気がしているので feed リーダーと書くことにします。また、「フィード」の呼称については antipop さんのエントリ で深く考察されているので参考にさせていただきました。

以下、RSS や Atom の概要・仕様を知るためにとても参考になったサイトです。

Commentscomment feed

* Gravatarに登録(FREE)するとあなたのアバターが表示されます。

Post a comment

コメント投稿フォーム:

Search this site

コトノハ - ○×ソーシャルで私が回答した最新のコト 5 件を表示しています。クリックすると別窓でその「コト」に移動します。

  • entry-image

    W-ZERO3[es] を数日使ってみた感想をまとめました。...

  • entry-image

    コトノハ Roll (コトノハのブログパーツ)が進化しました。...

  • entry-image

    Movable Type 3.3 から導入された Widget 機...