Kuwata’s Blog くわぶろ

@PC/IT 家族 芸能 音楽 心霊 北九州 動画 写真 by くわ。

WordPressの投稿記事をYahoo!ブログ検索にインデックスさせる方法

[ 22 Comments ] Posted on 2009-05-02 under くわぶろ & WordPress, ハード/ソフト&ネット

ふぅ・・・長い道のりでした。
やっとWordPress 2.5.1の投稿記事がYahoo!ブログ検索にインデックスされるようになりました! :grin:
(まだ直前の1記事しかインデックスされていないので、今書いてるこの記事がどうなるかわかりませんが・・・[追記]問題なくインデックスされました!)

決定打は『 index.rdf 』です。
ブログURLに index.rdf (RDF Site Summary) を置いておく必要があったようです。

《 追記 》
その後の調査で、Yahoo!ブログ検索のボットはindex.rdfを決め打ちで見に来ているわけではないことがわかりました。ちゃんと<link rel=”alternate”・・・で指定されたフィードURLを見に来ていました。index.rdfを決め打ちで見に来ていると確認できたのは、現在のところ『31Engine』ともう一つ(詳細不明)だけです。お詫びして訂正します。m(__)m

《 追追記 》
gooブログ検索のボットもindex.rdfを決め打ちで見に来るそうです。残念ながら“くわぶろ”へは別の問題があるので来てもらえませんが・・・。

でも、WordPress で index.rdf を用意するにはどうすればいいの?

簡単です!
index.rdf へのアクセスを RDF(RSS 1.0) のURLにリダイレクトすればいいのです。
僕は .htaccess を直接編集してそれを実現しました。

以下は当ブログ“くわぶろ”用の .htaccess です。
※半角不等号を全角に変えてあるのでコピペして使わないでください。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /kuwata/blog/
RewriteRule ^index\.rdf$ /kuwata/blog/feed/rdf/ [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /kuwata/blog/index.php [L]
</IfModule>

4行目の『 RewriteRule ^index\.rdf$ /kuwata/blog/feed/rdf/ [L,R=301] 』が今回リダイレクト用に追加した部分です。
『 /kuwata/blog/feed/rdf/ 』の部分はお使いの環境に合わせて変更してください。
パーマリンク設定をデフォルトのまま使っている場合は『 /kuwata/blog/?feed=rdf 』のようにしてください。

以上でリダイレクトの設定は終わりです。
お使いのブラウザから『 http://www.ksa-japan.com/kuwata/blog/index.rdf 』(※URLは適宜読み替えて)にアクセスしてみてください。
ブラウザとその設定によって挙動が違いますが、それらしいものが表示されれば成功です。 :smile:

やっておくべきことはあと3つ。

1.RDF(RSS 1.0)の記事の日時がおかしいのでソースを修正します。
  ※サーバーのローカルタイム(/etc/localtime)が日本のタイムゾーンに設定されていること。
  ※半角不等号を全角に変えてあるのでコピペして使わないでください。

feed-rdf.php の26行目辺り
mysql2date(’Y-m-d\TH:i:s\Z’, get_lastpostmodified(’GMT’)
の部分を
mysql2date(’Y-m-d\TH:i:s+09:00′, get_lastpostmodified()
に変更。

同じく feed-rdf.php の44行目辺り
mysql2date(’Y-m-d\TH:i:s\Z’, $post->post_date_gmt
の部分を
mysql2date(’Y-m-d\TH:i:s+09:00′, $post->post_date
に変更。

2.念のため言語(ja)を記述します。
  ※半角不等号とスペースを全角に変えてあるのでコピペして使わないでください。

feed-rdf.php の13~19行目辺り
<rdf:RDF
    xmlns=”http://purl.org/rss/1.0/”
    xmlns:rdf=”http://www.w3.org/1999/02/22-rdf-syntax-ns#”
    xmlns:dc=”http://purl.org/dc/elements/1.1/”
    xmlns:sy=”http://purl.org/rss/1.0/modules/syndication/”
    xmlns:admin=”http://webns.net/mvcb/”
    xmlns:content=”http://purl.org/rss/1.0/modules/content/”
の最後の行の直後に
    xml:lang=”ja”
を追加。

3.さらに念のため。。。
  ※半角不等号とスペースを全角に変えてあるのでコピペして使わないでください。

feed-rdf.php の27~30行目辺り
    <?php the_generator( ‘rdf’ ); ?>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <sy:updateBase>2000-01-01T12:00+00:00</sy:updateBase>
の4行を削除。

以上でほぼ完璧だと思います。 :razz:
ソース編集の前にバックアップを忘れずに!

《 追記 》
あっ、もう一つ修正しなければならない箇所(重要!)がありました。
お使いのテーマによってはファイル名が異なるかもしれませんが、header.phpを修正します。
※半角不等号を全角に変えてあるのでコピペして使わないでください。

header.php の12行目辺り
title=”<?php bloginfo(’name’); ?> RSS Feed” href=”<?php bloginfo(’rss2_url’);
の部分を
title=”RSS” href=”<?php bloginfo(’rdf_url’);
のように変更(rss2_urlをrdf_urlに変更するだけでもOK)。

以上です。

※この記事はWordPress 2.5.1用に書かれています。
※間違いがありましたらコメントにて知らせてください。
※「やってみたけどインデックスされない!」という方、『それでもYahoo!ブログ検索にインデックスされない・・・という方へ』を読んでみてください。

【PR】

次世代ブログWordPressで一歩先をいく

このエントリーのトラックバックURL:

Googleが素晴らしすぎる件

[ 1 Comment ] Posted on 2008-07-23 under くわぶろ & WordPress

「ブログ検索エンジンにインデックスされない」からの続きです。

Google(通常検索/ブログ検索ともに)が素晴らしすぎます。

1.新しい記事をエントリーすると1~2分後にGoogleブログ検索にインデックスされる。
2.さらにその数分~数十分後には通常検索(ウェブ検索)にもインデックスされる。

特に、短時間で通常検索エンジンにインデックスされるのは嬉しい限りです。
おそらく、ブログ検索エンジンにインデックスされると自動的に通常検索エンジンにもインデックスされるようになっているのでしょう。

対してYahoo!は、、、

1.新しい記事をエントリーして1週間~1ヶ月後(?)に通常検索(ウェブ検索)にインデックスされる。
2.Yahoo!ブログ検索にはいつまで経ってもインデックスされない。

がっかりです。 :sad:
WordPressで構築されたブログ(Googleで適当に探した5サイト)がYahoo!ブログ検索エンジンにインデックスされてるかどうか調べてみたところ、一つもインデックスされていないことが分かりました。
どうやらYahoo!ブログ検索はWordPressが嫌いなようです。

《 追記 》
「Yahoo!ブログ検索にインデックスされなきゃヤダ!」という人は↓の記事を読んでください。
⇒ WordPressの投稿記事をYahoo!ブログ検索にインデックスさせる方法
⇒ それでもYahoo!ブログ検索にインデックスされない・・・という方へ

【Ad】

Googleを支える技術

このエントリーのトラックバックURL:

ブログ検索エンジンにインデックスされない

[ No Comments ] Posted on 2008-07-09 under くわぶろ & WordPress, ハード/ソフト&ネット

くわぶろをオープンして約1ヶ月半。
Google、Yahoo!など、名の知れた検索エンジンすべてにインデックスされました。
ただし、それは通常検索(ウェブ検索)での話で、ブログ検索だとpingを送信してるにもかかわらずインデックスされないところがあります。
例えば、Yahoo!ブログ検索やgooブログ検索がそうです。

WordPress標準装備のping送信機能が悪いのかな?

そこで、Smart update pinger (日本語化版)というプラグインを入れてみました。
これを使えばping送信の成否を管理画面上で確認できるようになります。

とりあえず「今すぐpingを送信!」というボタンを押してみる。

「ふむふむ・・・」
いくつかのpingサーバーがエラーを返していました。
その中に、

http://blog.goo.ne.jp/XMLRPC への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “transport error - HTTP status code was not 200”

というのがあり、やはりgooへのping送信は失敗していたようです。
なぜかYahoo!へのping送信は成功していましたが、何度やってもインデックスされないのはYahoo!側の問題でしょう(おそらく)。

「Yahoo!ブログ検索はこの際どうでもいい」
「gooブログ検索にはどうしてもインデックスされたい」
という思いが僕を突き動かしました。

そこで最後の手段。
「そうだ、Ping一括配信サービス Pingoo!(ピングー)を利用してみよう!」

早速会員登録し、新しい記事をアップ。

「さすがPingoo!」
晴れてgooブログ検索でくわぶろが検索できるようになりました。 :grin:
Yahoo!ブログ検索は相変わらずダメですが・・・。 :mad:

《 追記 》
「Yahoo!ブログ検索にインデックスされなきゃヤダ!」という人は↓の記事を読んでください。
⇒ WordPressの投稿記事をYahoo!ブログ検索にインデックスさせる方法
⇒ それでもYahoo!ブログ検索にインデックスされない・・・という方へ

《 追追記 》
Pingoo!を経由しないでgooブログ検索に更新pingを送信したい人は↓の記事を読んでください。
⇒ WordPressからの更新pingがgooブログ検索に拒否される問題を回避する方法

【Ad】

WordPressでつくる!最強のブログサイト

このエントリーのトラックバックURL:

ソフトバンク携帯の WJ46065E エラー

[ No Comments ] Posted on 2008-07-08 under くわぶろ & WordPress, ハード/ソフト&ネット

いつの間にか、ソフトバンク携帯からこのブログ(くわぶろ)を見ようとすると WJ46065E エラーが出るようになってました。
どうやらこのエラーはソフトバンク携帯特有の問題で、ページサイズの大きいサイトを閲覧しようとした時に出るらしい。

早速WordPressの設定(1ページ内の投稿数)を10から5に変更してみました。

再度ソフトバンク携帯からアクセス。
問題なく表示されるようになりました。
めでたしめでたし。
※画像サイズも関係するようです。

《 追記 》
その後、ブログにサイズの大きい画像や数MBの動画を貼り付けることが多くなったためか、WJ40254E エラーが出るようになってしまいました。
画像や動画を外すわけにはいかないし・・・もうお手上げです。 :yabai:

このエントリーのトラックバックURL:

次のページ »