FeedburnerがYahoo!ブログ検索にインデックスされない件

FeedburnerがYahoo!ブログ検索にインデックスされないらしいので解決法を考えてみました。

(参考:Googleが「Feedburner」を買収?)

Feedburnerがインデックスされない原因は、Yahoo!ブログ検索が『RSSのアドレスが、ブログや各記事のドメインと異なる』場合インデックスしないというポリシーで運営されているからのようです。

Yahoo!ブログ検索にポリシーを変更してもらうのが一番いいのですが、そうも言ってられないので解決法を考えてみました。

Yahoo!ブログ検索のボットのユーザーエージェントは『Y!J-BSC』らしいので、それで条件分岐したら大丈夫と思います。
(参考:Y!J-DSCとY!J-BSC - Yahoo! JAPAN独自のクローラー)

オートディスカバリーの設定(header要素内のalternateのlink要素)を以下のように変更します。

追記

ソースを修正しました。(5/25 0:00)

<link rel="alternate" type="application/atom+xml" title="Atom" href="<?= (strpos($_SERVER['HTTP_USER_AGENT'],'Y!J-BSC')===0)?"通常配信しているフィード":"Feedburnerのフィード"; ?>" />

PHPで動いているのでWordpressはこれで問題ありません。

Movable Typeに関しては.htaccess内に以下の一文を追加してください。

AddType application/x-httpd-php .htm .html

インデックスされるか検証は、まだしてないのであしからず。
さっそくインデックスされました。Yahoo!は仕事がはやい

追記

指摘を受けて
strpos($_SERVER['HTTP_USER_AGENT'],'Y!J-BSC')
 ↓
strpos($_SERVER['HTTP_USER_AGENT'],'Y!J-BSC')===0
に修正しました。

ボクの方、修正前のコードで検証してますので、修正前でも大丈夫なようですが、よくわからないのでちょっと調べてみます。

関連エントリー

Livedoor Readerを薦める理由
フィードの最適化
WordPressにRSSリーダーを追加する
FeedBurnerでRSSの閲覧状況を把握する
リンク元アクセス解析track feedを設置する。

スポンサードリンク

«そろそろPHPの良いところも一言いっておくか | メイン | CSS Nite in Osaka Vol3 & premium»