前回の記事(【ついに成功】 Yahoo! ブログ検索にインデックス! 〜 WordPress を Yahoo! ブログ検索させる方法 その 9 〜)にてこの blog を Yahoo! ブログ検索へインデックスさせることに成功しましたが、無駄な改変が多いような気がして、改めて WordPress を Yahoo! ブログ検索にインデックスさせる方法を、まっさらなデフォルトのテーマにて検証してみました。 Yahoo! ブログ検索にインデックスさせることに成功したのでまとめを記載しておきます。
ポイントは 2 点 3 点です。
1) Ping の送り先
2) ヘッダ内の RSS 1.0 の記載
3) 記事修正時に Ping を送らないようにする ※ 2009.12.1 追記しました
以下、上記 2 点の詳しい説明。
1) Ping の送り先
→ Kuwata ’ s Blog くわぶろ:それでも Yahoo! ブログ検索にインデックスされない・・・という方へ
上記サイトを参考に Ping の送り先は下記のようにします。
http://api.my.yahoo.co.jp/rss/ping?u= 最新記事の URL
上記をブラウザのアドレス欄に打ってみてください。
Refresh requested: http://www.1010uzu.com/ ○○○○
Blog Search: Successfully refresh requested
My Yahoo! RSS reader: Refresh requested.
About “ Blog Search ” , see “ http://blog-search.yahoo.co.jp/ ”
About “ My Yahoo! RSS reader ” , “ http://my.yahoo.co.jp/st/rssguide/ ”
上記のように返ってくるはずです。これが返ってくれば Ping がきちんと送られています。
(ブラウザでいちいち送るのは面倒なので、現在プラグインの改造を行ってテスト中です。プラグインの改造方法を公開しました。→ WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法)
ちなみに下記の Yahoo! 推奨の Ping の送り先 URL に送っても、クロールはしにきてくれますが、 feed を読みにきてくれないため、インデックスはされません。(検証済み)
http://api.my.yahoo.co.jp/RPC2
または
http://api.my.yahoo.co.jp/rss/ping?u= あなたのサイトの RSS ファイルのアドレス
→ Yahoo! ブログ検索ヘルプ: Yahoo! ブログ検索の検索結果に表示されるには
2) ヘッダ内の RSS 1.0 の設定
1) を行っただけでは、 Feed を読みに来ますが、インデックスはされません。 Apache のアクセスログを見てみると、 Yahoo! ブログ検索のクローラ Y!J-BSC/1.0 は、最新記事にアクセスしたあと「 /?feed=rss2 」にアクセスしています。ここから、予想するところによると、 Yahoo! ブログ検索は、 RSS 1.0 でないといけないようです。「 /?feed=rss2 」は RSS 2.0 なのではねられたようです。
そこでテーマの header.php に下記を付け加えます。
<link rel="alternate" type="application/rss+xml" title="RSS" href="<?php bloginfo('rdf_url'); ?>" />
<link rel="alternate" 群の一番上の行に来るようにするのがポイントです。
3) 記事修正時に Ping を送らないようにする
上記 2 点を行っても、インデックスされない方がいらっしゃるようなので、追記しました。※ 2009/12/01
WordPress は記事のちょっとした修正を行うだけでも、更新 Ping を送ってしまいます。これが Yahoo! ブログ検索や goo ブログ検索にて WordPress が嫌われている一番の理由ではないかと考えられます。新規投稿時のみ Ping を送るようにするプラグインをインストールすることで解決します。
- Smart Update Pinger :日本語化されています。予約投稿時には WordPress 標準の Ping 送信機能が使われる。予約投稿しない人はこれで充分。
- Ultimate Plugins Smart Update Pinger : Smart Update Pinger の改良版で予約投稿時にも対応。おすすめ。ただしダウンロードにメルアド登録が必要。( Smart Update Pinger の後継版)
- MaxBlogPress Ping Optimizer :アクティベーションが必要。
- cbnet Ping Optimizer : MaxBlogPress Ping Optimizer の後継版。ログを保存するために新にテーブルを作成するよう。
上記 2 点 3 点を行った結果、実験的に公開していた WordPress のサイト(デフォルトテーマ)が Yahoo! ブログ検索にインデックスされました。
改造は上記 2 点 3 点のみです。ご参考になれば幸いです。
goo ブログ検索にインデックスさせるにはもう少し改造が必要です。引き続き検証中ではありますが、下記の記事をご参照ください。
→【祝!】 goo ブログ検索インデックス! 〜 WordPress を Yahoo! ブログ検索させる方法 その 8 〜
*追記 2009.8.21 *
WordPress の記事投稿時に自動的に Yahoo! ブログ検索に 1) の動作をするように 3) で紹介した既存のプラグインの改変方法を下記に公開いたしました。
→ WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法