PING送信の仕様 - XMLの書式、RSS配信、PINGサーバとは、ブログ・ホームページ

2005-11-11 - 2008-12-14
ブログなどで使われているPING送信の仕様についての解説です。



PINGサーバとは

各ブログサービスでは、記事を追加する際、PINGサーバに更新情報を送信しています。
PINGサーバとは、各ブログから送られてきた更新情報を受信しているサーバ(サイト)です。


PINGの仕様

PINGは、サイトの「タイトル」と「トップページのURL」をXML形式でPINGサーバへ送信します。
送信するデータには、記事の内容は含みません。
つまり、更新内容を通知するのではなく、更新したサイトのURLを通知しているだけです。
これは、世界共通の仕様です。

PINGを送信後、PINGサーバがサイトのURLへ通信し、そのHTMLソースから
<link rel="alternate" type="application/rss+xml" title="RSS" href="RSSのURL" />
の部分を読み取り、RSSにある更新内容をPINGサーバに反映します。
送信するXMLの書式は、以下のようになっています。
<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>weblogUpdates.ping</methodName>
<params>
<param><value>自分のサイトのタイトル</value></param>
<param><value>自分のサイトのURL</value></param>
</params>
</methodCall>
正しく送信できた場合は、PINGサーバからXML形式で応答があります。
PHPでPINGサーバへPINGを送信する方法の1つに、fsockopen() を使う方法があります。


PINGサーバ、ブログ検索

PINGサーバはたくさんありますが、主なPINGサーバにだけPINGを送信すれば十分だと思います。
  1. http://blogsearch.google.co.jp/ping/RPC2
    http://blogsearch.google.com/ping/RPC2 は上記と同じなので、どちらか一方でOK。
  2. http://api.my.yahoo.co.jp/RPC2
  3. http://blog.goo.ne.jp/XMLRPC
  4. http://ping.ask.jp/xmlrpc.m
  5. http://ping.fc2.com/
  6. http://ping.bloggers.jp/rpc/

ブログ検索には、以下のものがあります。
  1. Google ブログ検索
    GoogleのPINGサーバの仕様は、 http://www.google.co.jp/help/blogsearch/pinging_API.html にあります。
    PINGの仕様が若干拡張されていますが、通常の仕様のPINGも送信できます。
  2. Yahoo! ブログ検索
    ヤフーのPINGサーバの仕様は、 http://help.yahoo.co.jp/help/jp/blog-search/blog-search-18.html にあります。
PING送信後、ブログ検索のクローラー(Bot)が巡回するようになります。
Y!J-BSC/1.0 (http://help.yahoo.co.jp/help/jp/blog-search/) は、Yahoo! Japanのブログ用のクローラーのユーザーエージェントです。


PINGサーバに更新情報が反映されない場合

昔は、PINGサーバへ更新情報を送信すると多少メリットがありましたが、 スパムの増加の影響などにより、現状あまりメリットはないように感じます。
またPINGサーバは、スパム対策として、更新情報を素直に反映しないようになっています。
PINGサーバに更新情報が反映されない原因として以下のようなことが考えられます。