|
更新通知pingとは、ホームページやブログなどの内容を更新した時に、 公開されているpingサーバーに対して、更新した旨通知する事です。
どれほどの効果があるかは、分からないですが、やらないよりは、 やった方が良いんじゃないかと思うので、今回は、これを実装してみます。
でも、ある書籍には、やるだけ無駄みたいな事も書いてあったし(^^; YahooやGoogleは、pingサーバーの情報も見ているみたいな事を書いてあるのも あるし、実際のところは、分かりません。
このホームページ自体は、全て手作りなので、更新通知pingを送ると言っても、 どっかのチェックボックスに、「チッ」っとチェックを入れて、じゃあこれで 終わりという訳には、行きません。
と言う事で、どうやって実装するかって所から調べます。 といっても、今は、インターネットもあるし、実は、書籍も用意してあるので、 それらを参考に、作ってみる事にします。
自分で作る blog ツール

更新通知pingの送信を大きな流れです。 1.ある決まった書式のXMLドキュメントを作成
2.作成したXMLドキュメントをpingサーバーに送信
3.pingサーバーから返答が返ってくるので受信して解析
書籍では、細かく説明していて、仕様的な事を理解出来て、ためになると思います。 ただ、実装だけを目指すのであれば、PEARにXML_RPCパッケージがあるので、 これを使用するのが簡単そうです。 (書籍には、こちらの説明もしてあります。)
XML-PRCというのは、XML Webサービス規格の1つです。 XML Webサービスは、HTTPプロトコルを使用して、他のサイトが公開している機能を 読み出す仕組みで、XML Webサービス規格には、他に「SOAP」「REST」等あります。
XML-PRCは、軽量でblogツールに、使われる事が多いく、ここで作成の更新通知pingにも 使われています。
その機能をパッケージでまとめたのが、PEARのXML_RPCパッケージです。
それでは、いきなりプログラムですが、「http://ping.bloggers.jp/」へ送ってみます。
// 更新通知pingの送信 require_once("XML/RPC.php"); // XML_RPCパッケージ読み込み
$params = array( new XML_RPC_Value('福の神 趣味のホームページ作成', 'string'), // ホームページ名, new XML_RPC_Value('http://fuku-kami.net/', 'string') // ホームページルートURL ); $msg = new XML_RPC_Message('weblogUpdates.ping', $params);
$parsed_url = parse_url('http://ping.bloggers.jp/rpc/'); $client = new XML_RPC_Client($parsed_url["path"], $parsed_url["host"], 80); $response = $client->send($msg); if($response->faultCode()) { $result = "送信失敗しました。"; } else { $result = "送信成功しました。"; }
実際に、自分のプログラムへ実装する時は、たくさんのpingサーバーへ一度に送って、 エラーも一度に表示するとかの工夫はいると思いますが、基本的には、上記で大丈夫です。
大まかな流れは、「ホームページ名」「ホームページURL」を設定して、 XML-PRCで規格化されている、「weblogUpdates.ping」という形式で送ります。 その結果、返答が返ってくるので、その結果を、判定します。
追記:(この記事をアップした後に追加しました) 更新通知pingの実装を行って、初めて実行したのが、この記事なので、 結果を確認しての追加の情報です。
更新通知pingを送った後直ぐに、「http://ping.bloggers.jp/」を確認してみました。 一応、正常に送られたようですが、1分間の間に、200〜300件(見えてないだけでもっとかも?)と とんでも無い件数でした。
やっぱり、これだと、あんまり意味が無いのかもしれませんね。(笑)
新規記事が無いのに、更新通知pingを送るのは、禁止されていますので、 やらないようにしてください。 多分、この追加の記事のように、更新する場合は、送ってはいけないのだと思います。 (ただ、プログラム作成して、テストの時は、数回送信させてもらいましたが・・(^^;)
|
|