グーグルアナリティクスの入口分析にRSSを追加したらエラーになった、atom.xmlに追加記入するタグに注意

この記事は約9分で読めます。

Analyticsrssグーグルアナリティクスで分析すると、検索エンジン、参照サイト、ノーリファラーの3つがWEBサイトの入口になっていることがわかる。現在、第4の入口としてRSS(atom.xmlやindex.rdfなど)が増えているためRSSの分析もほしいところだ。そこで、Analytics日本版公式ブログで公開されている「RSSフィードとアクセス解析」の情報をもとにRSSを追加した。しかしこれがエラーとなりなかなか収束しない。どうもatom.xmlに追加記入するタグの書き方に注意が必要なようだ。

上のグラフでは「その他」と黄色く表示されているのがRSSでのアクセスになっている。13という数字は実際よりもかなり少ないと推測できるが、0でもない。だから計測できている環境もあるということだ。実際に遠田は、ファイヤーフォックスのigoogleでRSSを読んでいるがこの環境では問題なく閲覧できていた。

ではなにが問題なのか?

Analytics日本版公式ブログでは、「RSSフィードとアクセス解析(その2) -Movable TypeでRSSをトラッキングする方法-」にて次のように紹介されている。

Movable TypeでRSSをトラッキングする方法
Movable Type の標準配信フィードであるATOMとRSS2.0の場合に分けてそれぞれどの箇所にパラメータを付加するかを例示いたします。いずれの場合も、RSS 経由であることがわかるように、Google Analyticsの仕様に合わせて、”?”以降ではじまるパラメータを付加します。

(A) ATOM の場合
1 下記のコードを見つけます。
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$> " />

2 下記の例のように、上記コードへパラメータを付与します。
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$> ?utm_source=website&utm_medium=rss" />
* utm_source=websiteの”website”部分は、お客様のウェブサイト名など任意のものをご利用ください。

3 ファイルを再構築します。

ところが、この指摘どおりにatom.xmlを再構築するとうまくいかない。

11月初旬に当ブログでこの処理をしたところ、「RSSが読めなくなった」という苦情が寄せられるようになった。

原因は「&」。
「&」だけではだめで「&amp;」というように
「amp;」を加える必要があるということだった。

問題の行は
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>?utm_source=website&utm_medium=rss" />
である。
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>?utm_source=website&amp;utm_medium=rss" />
としなければならないようだ。

エラーの原因はこれだけでないかもしれない。当ブログはココログなので、ムーバブルタイプ(MT)ではなくタイプパッドが元になっている。ほとんどMTと同じようにカスタマイズできるが、一部にMTタグがうまく表示できないことがあった。タイプパッド独自のタグしか使えないなにかの理由があれば、追加修正が必要になる。
しばらくこれで様子をみることにする。

▼現状のatom.xml
<?xml version="1.0" encoding="utf-8"?>

<feed xmlns="http://www.w3.org/2005/Atom">
    <title><$MTBlogName remove_html="1" encode_xml="1"$></title>
    <link rel="alternate" type="text/html" href="<$MTBlogURL encode_xml="1"$>" />
    <link rel="service.post" type="application/x.atom+xml" href="<$MTCGIPath$>atom/weblog/blog_id=<$MTBlogID$>" title="<$MTBlogName encode_html="1"$>" />
    <id>tag:<$MTAtomFeedIDBase$>:weblog-<$MTBlogID$></id>
    <updated><MTEntries lastn="1"><$MTEntryDate timezone="UTC" format_name="W3CDTF"$></MTEntries></updated>
<MTBlogIfDescription>
    <subtitle><$MTBlogDescription remove_html="1" encode_xml="1"$></subtitle>
</MTBlogIfDescription>
    <generator uri="http://www.typepad.com/">TypePad</generator>
<MTEntries>
    <entry>
        <title><$MTEntryTitle remove_html="1" encode_xml="1"$></title>
<link rel="alternate" type="text/html" href="<$MTEntryPermalink encode_xml="1"$>?utm_source=website&amp;utm_medium=rss" />
        <link rel="service.edit" type="application/x.atom+xml" href="<$MTCGIPath$>atom/weblog/blog_id=<$MTBlogID$>/entry_id=<$MTEntryID$>" title="<$MTEntryTitle encode_html="1"$>" />
        <id>tag:<$MTAtomFeedIDBase$>:post-<$MTEntryID$></id>
        <published><$MTEntryDate format_name="W3CDTF"$></published>
        <updated><$MTEntryDateModified timezone="UTC" format_name="W3CDTF"$></updated>
        <summary><$MTEntryExcerpt remove_html="1" encode_xml="1"$></summary>
        <author>
            <name><$MTEntryAuthor encode_xml="1"$></name>
        </author>
<MTEntryCategories>
        <category term="<$MTCategoryLabel encode_xml="1"$>" />
</MTEntryCategories>
<MTWeblogOwnerHas field="feeds_full_content">
<MTWeblogIfFullRSSContent>
    <$MTEntryAtomContent disable_mp3player_convert="1"$>
</MTWeblogIfFullRSSContent>
</MTWeblogOwnerHas>
<MTEntryEnclosures>
        <link rel="enclosure" type="<$MTEntryEnclosureMIMEType$>" href="<$MTEntryEnclosureURL encode_xml="1" $>" length="<$MTEntryEnclosureLength$>" />
</MTEntryEnclosures>
    </entry>
</MTEntries>
</feed>

▼参考サイト
Analytics 日本版 公式ブログ
 RSSフィードとアクセス解析(その2) – Movable TypeでRSSをトラッキングする方法 –
タスクマザー
 Google Analyticsで「Movable TypeでRSSをトラッキングする方法」が上手くいかない?

とくに解決方法を具体的にアドバイスしてくれたタスクマザーの中野治美さんには感謝。あなたは本当にすばらしい人です。ありがとうございます。