WordPress から Yahoo! ブログ検索に Ping を送信するプラグインの改造方法
WordPressプラグイン, WordPress運用 2009/8/21 16:48WordPress から Yahoo! ブログ検索に Ping を打ってもインデックスされないことでずっと悩んでいました。原因を探るべく3か月ほど前に試行錯誤した結果、どうにかインデックスされるようになりました。(参照:【まとめ】WordPress を Yahoo! ブログ検索させる方法 その10)しかし、手動で Ping を送るのは面倒。ということで、既存のプラグインをちょこっと改造することで、自動化することに成功しました。
テスト運用してきて問題ないようなので、WordPressから Yagoo! ブログ検索に Ping を送るために既存プラグインを改造する方法を公開します。(元のプラグインが GNU GENERAL PUBLIC LICENSE だから公開しても問題ないはずですよね。)このプラグインの改変を行うことにより、通常の投稿にて Yahoo! ブログ検索へ認識可能な Ping を送信してくれますので、Yahoo! ブログ検索にインデックスされるようになるはずです。
初めに書いておきますが、何か問題が起こっても、インデックスされなくても自己責任でお願いします。
Yahoo! ブログ検索にインデックスさせるための Ultimate Plugins Smart Update Pinger 改造手順
1) まず、【まとめ】WordPress を Yahoo! ブログ検索させる方法 その10の 2) ヘッダ内の RSS 1.0 の設定 の改変を行っておく。
2) 次にUltimate Plugins Smart Update Pinger をダウンロードしてください。メルアドを求められますが、Ultimate Plugins Smart Update Pinger を改造するので必要です。Smart Update Pinger の日本語版だと、予約投稿時に WordPress のデフォルトの Ping 送信機能が働いてしまうので、Yahoo! ブログ検索に Ping を送ることができません。
3) 2)でダウンロードし解凍した ultimate-plugins-smart-update-pinger フォルダに下記ファイルを解凍してたもの(smart-update-pinger_ybs.php)を入れてください。ultimate-plugins-smart-update-pinger.php と同じレベルになるように。
→smart-update-pinger_ybs.php.zip
4) ultimate-plugins-smart-update-pinger.php の編集する。
・107行目と117行目の2ヶ所の
$SUP_output_log=SUP_ping_services($forcedpings,get_permalink($id)).$SUP_output_log;
の後ろに下記を追加。
require_once('smart-update-pinger_ybs.php');
$SUP_output_log = send_ping_ybs("http://api.my.yahoo.co.jp/rss/ping?u=".get_permalink($id)).$SUP_output_log;
・173行目
$client->useragent .= ' -- WordPress/'.$wp_version;
↓
$client->useragent .= ' -- ○○○/1.0.0';
○○○は任意の文字列。(goo ブログ検索にて WordPress からの Ping を拒否しているための対処。)
・1行目
<? → <?php
プラグインを有効化したときにエラーになるのを防ぐ。(既存バグ?)
5) 上記の変更を加えた ultimate-plugins-smart-update-pinger フォルダを WordPress プラグインフォルダにアップロードし、有効化してください。
これで WordPress から Yahoo! ブログ検索へ Ping を送られるはずです。プラグインがうまく有効化できないときは、改造した ultimate-plugins-smart-update-pinger.php を保存するときに「バックスラッシュ」が「エンマーク」に変わってしまっている可能性がありますので、WordPress 管理画面のプラグインの編集から該当箇所を再度確認してください。
smart-update-pinger_ybs.php 内で行っていること
smart-update-pinger_ybs.php では「【まとめ】WordPress を Yahoo! ブログ検索させる方法 その10」の 1) の動作を自動的に行っています。具体的には、「http://api.my.yahoo.co.jp/rss/ping?u=最新記事のURL」のサイトを読み込み、その文字列に「Refresh requested」があるかどうかを確認し、ログを吐き出します。
Ultimate Plugins Smart Update Pinger にて Ping を送信することの利点
a) 投稿の編集時に Ping を送らなくなる。
WordPress デフォルトの Ping 送信機能は編集時にも Ping を送っています。それゆえ、Ping スパマー状態になりブログ検索にインデックスされないのではないかと考察しています。
b) Ping の送信元を偽装できる。
a) の理由にて WordPress は goo ブログ検索では Ping を拒否されているが、それを回避できる。
c) 予約投稿時にも Ultimate Plugins Smart Update Pinger の機能を使って Ping を送信する。
Yahoo! ブログ検索には以上の改変でインデックスされると思いますが、goo ブログ検索にインデックスされるようにするにはさらなる改変が必要です。下記記事を参考にしてください。
→【祝!】goo ブログ検索インデックス! 〜WordPress を Yahoo! ブログ検索させる方法 その8〜
こんにちは、初めて投稿させていただきます。
Yahooブログ検索にpingを送信するプラグインを使わせていただきました。ログにもyahoo 成功とあり大変満足しています。
ですがワードプレスプラグイン wp-tegakiと同時使用するとwp-tegakiの表示が行われなくなります。(プラグインの有効化と同時に)
改変無しでUltimate Plugins Smart Update Pingerのみを有効化するとそのような問題は起こらないのですが…
当方の環境のみの問題かもしれませんがアドバイスいただけたら嬉しいです。
◇インサイドさん◇
コメントありがとうございます。
wp-tegakiと干渉するとのことでご迷惑おかけしております。
とりあえず作ってみたものの、PHPは勉強中でよくわかっていないのです。
wp-tegakiは当サイトでは使用していないため、どのような干渉が起こっているか正直わかりません。
使用してくださって大変ありがたいのですが、私の手には負えません。
プラグインという形で公開しなかったのも、そういった知識が私に足りないためです。
コメントしてくださったのにきちんとしたお答えができず、大変申し訳ございません。
こんばんわ
いえいえ迷惑だなんてとんでもない…。
ヤフーにインデックスもかなり勉強させてもらいましたよ。
これからもちょくちょく来ます。
更新楽しみにしていますので!
ありがとうございます
◇インサイドさん◇
対応できなくて大変もうしわけないです。
ちょこちょこ勉強していきたいと思いますので
よろしくお願いいたします。
こんにちは。いつも拝見させていただいてます。
Yahooブログ検索にpingを送信するを使わせていただいてます。
そこで初歩的な質問なんですが、
Ultimate Plugins Smart Update Pingerの管理画面で
送信先を登録できると思いますが、
そこではYAHOO様は登録しない方がいいのでしょうか。。
それとも『http://api.my.yahoo.co.jp/rss/ping?u=RSSファイルのアドレス』
など登録しておいた方がいいのでしょうか。
お暇なときでも応えていただければ幸いです。
◇ぽこさん◇
はじめまして。
プラグインの改造、役立っているようでうれしいです。
ご質問の「Ultimate Plugins Smart Update Pingerの管理画面でYahoo!へのPingの送り先を設定すべきか」ですが、
結論から申しますと、Yahoo! へのPing URLは設定しないでください。
言葉足らずですみません。
その理由は下記の通りです。
Ultimate Plugins Smart Update Pingerの管理画面でPing URLを設定すると、
Ultimate Plugins Smart Update Pinger が通常にPingを送信してしまいます。
しかし、Yahoo!ブログ検索は、通常の送信方法ではPingを受付ますが、
なぜかRSSを読んでくれないので、インデックスされません。
ですから、特殊な送信方法を取る必要があります。
その送信処理が「smart-update-pinger_ybs.php」に記述してあります。
ですので、二重にPingを送ってしまうことになるので、避けてください。
特殊な方法が何かは以下の記事をご参照ください。
→【まとめ】WordPress を Yahoo! ブログ検索させる方法 その10
ちなみに当サイトでは、gooブログとPingooへのPing送信のみを登録してあります。
その他サイトへのPing送信は Pingoo という Ping 一括送信サービスにまかせてあります。
理由は、Ping 送信件数が多いと新規投稿の際、WordPressが重くなるからです。
こんにちは!
初めてコメントさせていただきます。
Ultimate Plugins Smart Update Pingerの改造版、
早速設置させていただきました。
そこで、Ultimate Plugins Smart Update Pingerについて
何点か質問です。
【質問1】
Ultimate Plugins Smart Update Pingerの管理画面の
「Enable pinging」
「Detailed Logging」
はどういった機能(意味)なのでしょうか?
また、この2つの項目はチェックを入れるべきなのですか?
【質問2】
Ultimate Plugins Smart Update Pingerを有効中は
WPの「投稿設定」で設定したpingURLへpingは飛ぶのでしょうか?
Ultimate Plugins Smart Update Pingerを使う際は
WP本体の投稿設定の「更新情報サービス」は
空白にしたほうがいいのですか?
(もし上記欄にpingURLを入れた場合、二重でpingが送られてしまうのですか?)
【質問3】
以前のコメントにもありましたが、
Ultimate Plugins Smart Update Pingerの管理画面上で、
Yahoo!ブログのpingURLを設定しなくても、
改造版では自動でYahoo!ブログへpingが飛ぶ、という認識でよろしいでしょうか?
以上、お忙しいところ大変申し訳ございませんが、
お知恵をお貸しいただけると幸いです!
よろしくお願いいたします。
◇こうたさん◇
こんにちは。ご覧いただきありがとうございます。
【質問1】への回答
「Enable pinging」…ping を送るようにする
「Detailed Logging」…詳細なログを取る
上記のような意味です。
「Enable pinging」については、Yahoo! ブログ検索以外にPingを送信する場合はチェックが必要です。
「Detailed Logging」…詳細なログが必要ないならば、チェックを外してもかまいません。
ちなみにわたくしは両方にチェックをいれています。
【質問2】への回答
WordPress の投稿設定で設定したPingURLと
Ultimate Plugins Smart Update Pinger の設定画面のPingURLは
共通のものです。
(どちらかが変更されればもう片方も変更されるはずです。試してみてください。)
また、Ultimate Plugins Smart Update Pinger は
WordPress 標準の Ping 送信機能を置き換えるプラグインですので、
二重に Ping が送信されることはありません。
【質問3】への回答
Yahoo! ブログ検索への Ping 送信の動作は
「smart-update-pinger_ybs.php」の中で行っております。
この記事での改造を行った場合、設定画面にて Yahoo! へのPingURLは設定しないでください。
以上の回答でよろしいでしょうか。
あさこんさん
ご回答ありがとうございます!
3つの質問の回答、非常に参考になりました。
テストで記事を投稿したところログが残っているので
おそらくpingが飛んでいるようです。
しばらくはこのままで様子を見てみます。
(設定があっているか、自信がない(^^;))
お忙しい中、誠にありがとうございました!
◇こうたさん◇
ノーマルの状態で一度でもYahoo!ブログ検索にPingを飛ばしてしまうと、
上記の改造を行っても、6か月くらいは、
「絞り込みなし」の状態でないと検索にひっかかりません。
気長に待ってみてください。
こんにちは。
こちらに書いてあるとおりに、自分のブログに設定しました。
分かり易い説明と、プラグインをご提供くださり、ありがとうございます。
それでお尋ねしたいことがあります。
それはXML Sitemap Generator for WordPressなどのsite map作成プラグインの「yahooに更新を知らせる」ところはチェックを外しておいた方が良いのでしょうか?
初歩的な質問で申し訳なく思います。
お時間のあるときにでも、お答えいただければ幸です。
これからもよろしくお願いいたします。
こんにちは。こちらのブログで書かれてある通りに設定し、うまく行きました。
ありがとうございました。
お尋ねしたいことがあるのですが、XML Sitemap Generator for WordPressプラグインで「yahooにブログの更新を通知する」はチェックを外しておかなければならないのでしょうか?
お忙しいところ恐縮ですが、よろしくお願いいたします。
(二重投稿になっていましたら、お許しください)
◇arinopapaさん◇
こんにちは。
なぜかスパムフィルターにひっかかっており、お返事が遅くなってすみません。
XML Sitemap Generator for WordPress の「Yahoo! にブログの更新を通知」に
チェックを入れるか否かについてお答えします。
チェックは入れた方が無難だと思います。(全体的に考えて。)
しかし、Yahoo! ブログ検索の結果への影響は少ないと考えられます。
まず、前提知識をお話しますが、
本記事にて対象としている Yahoo! ブログ検索と Yahoo! 検索は別物です。
XML Sitemap Generator for WordPress は
サイトマップを生成するプラグインですので、Yahoo! 検索に関わってきます。
XML Sitemap Generator for WordPress の「Yahoo! にブログの更新を通知」に
チェックを入れた場合、通知されるのは米 Yahoo! に対してです。
(「キーを持っていませんか ? こちらでリクエストしてください ! 」を
クリックすると、米Yahoo!に繋がりますね。)
日本の Yahoo! 検索は Yahoo! Search Technology (YST) という
検索エンジンを日本用に若干の変更を加えて用いているようなので、
米Yahoo! とYahoo! JAPAN の検索結果にはなんらかの関連性があると考えられます。
なので、入れないよりは入れたほうがよいということです。
しかし、Yahoo! ブログ検索と Yahoo! 検索ではクローラも別々ですので、
チェックをいれたからといって Yahoo! ブログ検索に
なんらかの影響があるとは考えにくいです。
全体の訪問者を増やすという意味ではチェックを入れた方がいいですが、
Yahoo! ブログ検索にインデックスされることを目的としているならば、
チェックを入れても入れなくてもあまり関係ないということです。
(間違っていたらすみません。)
あさこん様、ご回答ありがとうございます。
教えていただくまで、アメリカのyahooに更新通知が行くということを知りませんでした(笑)。
でも、チェックを入れても、入れなくても、余り関係がないといういことがよく分かりました。
これからもよろしくお願いいたします。
本当にありがとうございました。
◇arinopapaさん◇
お役に立てたようで何よりです。