2009年7月24日金曜日

金曜日, 7月 24, 2009
Google Blogger は Feedburnerを導入した後に、設定画面の「サイトフィード」で RSSをFeedburnerにネイティブに置き換えることができます。いちいち relタグで Feedburner の RSS を追加する必要も無いので便利なのですが、同じ Google のウェブマスターツールに標準のサイトマップを登録するとエラーになってしまうという問題もあるようです。

この回避方法と、ついでに RSS 上に表示できる件数を変えてしまう方法についてご紹介します。

Google Blogger のサイトマップを Google ウェブマスターツールや Yahoo! サイトエクスプローラーに送信するときは RSS Feed (Atom) をそのままサイトマップとして利用します。

・http://blogname.blogspot.com/atom.xml
・http://blogname.blogspot.com/feeds/posts/default?alt=rss

このいずれかをGoogleウェブマスターツールのサイトマップに追加するのですが、Feedburner を導入し、Google Blogger の管理画面からサイトフィードを Feedburner に置き換えた直後から、ウェブマスターツールのサイトマップにエラーが発生するようになってしまいます。

これと同じ現象かは確認が取れていませんが、ブログランキングやブログティレクトリでブログの RSS を指定したときも同じようにエラーで最新記事が取得されないことがあるようです。

Feedburner導入後のサイトマップエラー
Feedburner に登録した直後から上図のように、atom.xml でも feeds/posts/default でも両方でサイトマップが認識されなくなります。

Google ウェブマスターツールでサイトマップを送信するとき、このエラーを回避するためにはリダイレクトをさせないパラメータを追加した記述を送信するようにします。
atom.xml?redirect=false


RSSの表示件数を指定するパラメータもあります。
atom.xml?redirect=false&max-results=500

&max-results=500 を付加する事で RSSリーダーなどに送り込む記事件数を最大500件まで増やすことができます。

実際にこのパラメータを付加してサイトマップを送信してみましたが、443件のURLが送信できたブログもありました。もちろん送信したところでインデックスに登録される件数が増えるとは限りません。

FeedBurner の容量制限は最大 512KB

上記の &max-results=500 はブログの記事を最大500件まで取得するというオプションです。それ以上の記事がある場合は max-results の件数を以下のように追加します。
atom.xml?redirect=false&max-results=500 atom.xml?redirect=false&max-results=500&start-index=501 atom.xml?redirect=false&max-results=500&start-index=1001
1行目は記事を500件まで、記事が500件以上ある場合は2行目を追加、1,000件以上ある場合は3行目を追加していきます。

但し、FeedBurner が取得できる記事件数を増やすと FeedBurner の容量制限に掛かることがあります。

記事のテキストサイズや添付している画像サイズなどが異なるので、一概に何件まで登録可能とは言えないと思いますが、512KBの制限を超えると FeedBunerが「新しい」記事を取得しなくなるので要注意です。

新しい記事を取得しなくなっていることには、なかなか気が付かないものです。たまたまFeedBurnerにサインインしてエラーが表示されていて初めて気が付いたということもあります。

私の例では、10個ほどのブログのフィードを Yahoo! Pipes で結合して、FeedBurner に登録していましたがエラーになっていました。

Blogger の場合、ダッシュボード(管理画面)から出力するフォードの設定ができます。
[設定]-[その他]-「サイトフィード」-「ブログフィードの許可」で、例えば「追記の区切りまで」に変更して、スリム化する方法もあります。

このBlogger側での設定を変更したら、FeedBurner に Ping を打ち、エラーが回避できているか確認します。

0 comments:

コメントを投稿