Feedburnerを利用し独自ドメインでRSS配信

最近RSSフィード を使ってフィード配信をするのが、ブログを中心に普及してきました。Feedburnerを利用してフィード配信をすると色々な機能も利用できて便利ですが、フィードのアドレスが自分のドメインと異なり不具合も起こります。フィードアドレスを独自ドメインに変更する方法を試してみました。

FeedBurnerを利用してフィードを配信する問題点

RSSフィードの画像

FeedBurnerというところでRSS フィード楽天 の支援をしてくれます。ping送信も簡単にできます。FeedBurnerが提供しているスマート・フィードの機能を利用すると、配信されているコンテンツの規格が自動的にすべてのRSS形式に対応するように変換してくれます。また、規格の厳しいXMLファイルの不具合も検証できます。

私はグーグルのアドセンスをやっているので、フィード向けアドセンスも利用したいと思い、FeedBurnerを利用しました。尚、フィード向けアドセンスは2012年12月で終了します。

FeedBurnerを利用する場合、RSSフィードのXMLファイルを各ページからリンクさせるには、次のようにFeedBurnerで発行されているフィードのアドレスをヘッドタグ内で指定してやります。

<link rel="alternate" href="http://feeds.feedburner.com/****" type="application/rss+xml" title="RSS" />

この方法だとフィードアドレスが feedburner.com となり、独自ドメインとは違うファイルを参照することになります。このドメインが違うとYahooブログ検索で不具合になるとの情報もあります。

とにかく、他のドメインではなく、独自のドメインのアドレスの方がSEOでも問題が無いことは確かです。

FeedBurnerでMy Brandの利用方法

マイ・ブランドとは、FeedBurnerのサービスを独自ドメインで利用することができる機能で無料で提供されています。マイ・ブランドを利用すると、フィードに関連したリソース(トラフィック測定、広告、スタイルシート等)は独自ドメイン上に置かれているように見えます。これによりユーザビリティーが飛躍的に向上します。

まず、FeedBurnerのマイフィードにログインします。次に右上のマイアカウントをクリックして、マイ・ブランドを選びます。そこに書かれた手順に従って設定を行ないます。

ドメイン名ごとにDNSレコードのCNAMEエントリを作成します

私はバリュードメインでホームページを作成しているので、バリュードメインのDNSの設定で次のように設定しました。CNAME(Canonical Name)というのは、自分の管理外のドメインへの転送に使います。

cname feeds null.feedproxy.ghs.google.com.

FeedBurnerの指示は feeds CNAME となっていますが、バリュードメインのDNS設定ではこの順番を逆にします。また、「CNAME」は「cname」と小文字にします。FeedBurnerの指示では null.のところが次のように *******.と表示されている場合もありますが、どちらでも良いようです。最後のドットも忘れないようにします。

cname feeds *******.feedproxy.ghs.google.com.

サブドメインでもFeedburnerを利用していても、設定はひとつだけでかまいません。

FeedBurnerのMy Brandでフィード固有のドメイン名を入力します

ここは次のようにドメインの前にfeeds.を付けるだけです。エラーになっていてもそのままで2~3時間すると正常になります。ここもサブドメインでもFeedburnerを利用していても、設定はひとつだけでかまいません。feeds.mydomain.jp/****とする必要はありません。もし、そのような設定にしても後で勝手に修正されます。

feeds.mydomain.jp

マイブランドでフィードが配信されていることを確認します

ブラウザで http://feeds.mydomain.jp/**** と独自ドメインのアドレスを入力して、従来のFeedBurnerのフィードと同じものが表示されていることを確認します。「****」の部分はFeedBurnerから発行されているフィードアドレスの「/」より後ろの部分です。もちろん、従来のフィードアドレスでもフィードは配信されますので、従来のフィード読者には何の迷惑も掛けません。

RSSフィードのXMLファイルを各ページからリンクさせます

RSSフィードのXMLファイルを各ページからリンクさせるには、従来はFeedBurnerで発行されているフィードのアドレスをヘッドタグ内で指定してやりましたが、これを次のように、独自ドメインのフィードアドレスに変更します。

<link rel="alternate" href="http://feeds.mydomain.jp/****" type="application/rss+xml" title="RSS" />

フィード・ティッカーを利用している場合の変更点

フィード・ティッカーを利用すると、ホームページ上で最新5記事の情報を表示することができます。登録されたブログやホームページの最新記事をGIFアニメーションで表示します。

この場合の変更点は、上記のアドレス変更と同様にします。つまり次のようにフィード・ティッカーのリンク先を feeds.feedburner.com/**** から feeds.mydomain.jp/**** に変更します。

<a href="http://feeds.mydomain.jp/****"><img src="http://feeds.feedburner.com/****.*.gif" alt="mydomain.jp" /></a>

オリジナルフィードを公開している場合のフィードリダイレクト

FeedBurnerに登録しているオリジナルのフィードアドレスを公開している場合は、これをマイブランドの独自ドメインのフィードアドレスにリダイレクトします。

.htaccess ファイルを使って次の例のようにリダイレクト(転送)します。

redirect 301 /rss.xml http://feeds.mydomain.jp/****

オリジナルのフィードアドレスを公開していない場合は何もする必要はありません。もし公開していた場合は、そのオリジナルのフィード アドレスではPingされないので、更新情報を受け取ることができません。

FeedBurner経由の長いアドレスを本来の短いURLにまとめる方法

FeedBurner経由でホームページにアクセスすると、URLの末尾に「?utm_source=feedburner&以下略」という長い文字列が自動的に付加されています。このアドレスが一時的にせよ検索で登録されたり、誰かにブックマークされたり、外部リンクとして紹介されたりしてSEO上でも不具合なことになります。

つまり期待しているURLとは異なるURLで登録されてしまいます。これを一つのアドレスにまとめる方法としては、次のようにhtaccessを使ってFeedBurner経由でアクセスした際には「?utm_source=feedburner&以下略」を取り除いたURLにアクセスさせるようにする方法もあります。

RewriteCond %{QUERY_STRING} utm_source=
RewriteRule ^(.*)$ /$1? [R,L]

FeedBunner経由でも長いアドレスにならない根本解決方法

しかし、もっとスマートで良い方法がありました。それはFeedBurnerのレポート集計の画面の一番下のFeedBurnerスタッツをクリックすると、記事の「クリックスルー集計」の下に「Track clicks as a traffic source in Google Analytics」というのがあり、このチェックを外せば本来の短いアドレスとなり全く問題ありません。

この長いアドレスはGoogle Analyticsで解析する時に必要なのもので、本来の短いアドレスでFeedBurnerでも集計ができるのでチェックを外しても何の問題もありません。