|設計|構築|集客|分析|精神論|その他|

2007/10/29

Pingサーバの設定

@Pingサーバの設定/指定

まず、を押して、サイト設定画面を表示し、「Ping」タブをクリック。
Pingサーバの設定が表示されます。

デフォルトで幾つかのPingサーバが指定されています。
そして上の4つがUpdate Pingを送信するサーバーとして設定されています(チェックボックスにチェックが付いている)。
基本的に、このままでも大きな問題はないと思いますが、せめてBlog360とGoogleのPingサーバぐらいは入れておきたいもの。
ということで、まずは、「Pingサーバを追加」ボタンを押します。
そうするとURLの入力するダイアログが表示されますので、URLを入力してOKを押します。
Blog360のPingサーバを入力中

   ↓
Blog360のURLが追加されました。

同様に、GoogleのPingサーバも追加し、最後にチェックを付けておきます。
とりあえずこれで設定完了

最後にOKを押せば完了です。

AUpdate Pingの送信

設定は済みましたので、あとはUpdate Pingを送信するだけです。
「FTP/Ping」→「Update Pingを送信」を選択します。

   ↓

この画面で「送信」ボタンを押すと、チェックが付いているPingサーバーに順次Update Pingが送信されます。

検証の必要性

手順的にはこれだけなのですが、設定だけすればあとは手放しでいいのかというと、なかなかそうはいかないのが現実。せめて最初だけはちゃんと検証してみる必要があると思います。
確実にUpdate Pingの効果を得るには、Update Pingがうまく行っていることを確認しておかないと、ちゃんとやっているつもりが全くうまく行っていなかったということもありがちなので。
ところが、この検証自体がなかなか一筋縄では行きません。以下のような要因があるからです。

成功しているのかどうか判定しづらい

Update Pingを送信すると、PingサーバーからOKもしくはエラーの返答が返ってきます。
ですが、OKが返ってきたからと行って、Update Ping処理の全体処理として成功しているかどうかはわからないのです。(詳しくは→FTPの設定#why参照)
更に困ったことに、何の都合なのか、時々返答を返さないPingサーバーもあります。
こうなると、どうなっているのかお手上げ。Pingサーバーがダウンしている場合と、ただ単に処理が遅い場合があるからです。事実、返答が返ってこないからと言ってUpdate Pingが失敗しているのかというと、そうとも限らないから厄介です。
この辺の挙動が、Pingサーバによってばらばらなので、「本当にうまく行っているのか?」が非常に分かりづらいです。

Pingサーバの入れ替わりが激しい

最近は、随分落ち着いてきた感じがしますが、一時は新しいPingサーバが登場することも多かったですし、逆に廃止されてしまう(もしくは制限が設けられる)ケースも多かったです。
ですので、送信するPingサーバの定期的な見直しはしておいた方が良いですね。

Pingサーバーの検証のしかた

31engineを利用する

Pingサーバーに、31engine(31エンジン)というPingサーバがあります。→ブログ検索エンジン 31Engine
これは他のPingサーバーとはかなり趣が違うPingサーバーで、Update Pingが成功すると、即座に画面に出てきます。
こんな感じ

もちろん、他のPingサーバーの場合でも、新着一覧などで確認できますが、更新までのタイムラグが随分大きかったり、バッチ処理的に新着一覧が更新されるので見逃してしまうことが多いです。
また、31engineはエラーになった時にも、かなり親切にエラー要因を教えてくれる、そう言う意味では貴重なPingサーバーですので、おかしいなと思った時にはまず31engineで試してみることをおすすめします。
…そう言えば、Pingサーバー設定の説明のところで、31engineを入れていませんでしたが、困った時の31engine。これも追加しておくことを強くオススメします。ただし、31engineは、カテゴリ毎にUpdate PingするURLが違いますので、ちゃんと適合するカテゴリにUpdate Pingを送信するようにしましょう。詳しくは31engineのヘルプをご覧下さい。→ブログ検索エンジン 31Engine/PINGの送信方法

Pingログの見方

もちろん、31engineでうまく行ったからといって、他のPingサーバーもうまく行くとは限りません。
それぞれのPingサーバーへの処理結果は、Fumy RSS&ATOM Makerのログ画面に蓄積されます。ここに、Pingサーバーから返された生データで表示されるのですが、この見方にちょっとしたコツがあるので解説します。
例えば、gooのPingサーバーに送信した時のログを見てみるとこのようになっています。
Ping送信: 9/40 To http://blog.goo.ne.jp/XMLRPC
Host Resolved
接続.
1446 bytes of 295 sent
389 bytes of 389 received
Post Success
Transaction Completed
切断.
---Response from server:
<?xml version="1.0" encoding="UTF-8"?>
<methodResponse>
<params>
 <param>
  <value>
   <struct>
    <member>
     <name>flerror</name>
     <value>
      <boolean>0</boolean>
     </value>
    </member>
    <member>
     <name>message</name>
     <value>
      <string>Thanks for the ping.</string>
     </value>
    </member>
   </struct>
  </value>
 </param>
</params>
</methodResponse>
すべての送信処理は完了しました.
全てのPingサーバーがこのようなフォーマットで返してくるわけではありませんが、ほとんどのサーバーは似通ったフォーマットで返答してきます。
注意するのは赤字のところ。
"flerror"の値が"0"であれば、成功したことを示します。"1"や"-1"だとエラーが発生したことを示します。
そして、成功した場合は、大抵"Thanks for the ping."もしくは同様の意味の英文が挿入されます。エラーが発生した時には、(行儀が良いPingサーバーならば)エラーが発生した原因の説明文を挿入してくれます。例えば、"This ping url is no longer used."等。
ただし、注意しなければならないのは、"Thanks for the ping."が返ってきたからといって、必ずしもエラーなしとは限らないことです(成功しても失敗しても、同じ文字列しか返してこないPingサーバーもある)。この辺、Pingサーバによってはかなり不親切なものもありますので、エラーの有無はflerrorが0か0以外かで判断したほうがより正確です。
参考までに、Pingサーバが出す、代表的なエラー説明文を載せておきます。
Pingサーバが出す代表的エラー
文字列 意味 説明
This ping url is no longer used. このUpdate Ping用URLはすでに使われていない。 要するに、もうPingサーバとして稼働していない、もしくはURLが変更になったということです(多分)。
こういうURLにはPingしても無駄です。
You don't have permission to access this URL on this server. あなたは、このURLにアクセスする許可を持っていません。 これは、特定のレンタルブログ専用のPingサーバーにありがち。
そこにレンタルしているサイト以外のURLからのUpdate Pingを受け付けないようになっています。
こういうヤツにもPingしても無駄です。
already received your ping. Ping受付済み 連続してPingを送ると、このような文字列が返ってきます。
なぜかというと、Pingサーバーは連続して同じサイトからのPingを受け付けないようになっているからです(SPAM対策のため)。
だいたい、10分〜15分は間を空ける必要があります。
それから再度Pingしてみてください。
No (RSSファイル名) in your blog site. (RSSファイル名)ファイルがありません。 これは単純にRSSファイルのアップロード忘れのケースです。
もしくは、ファイル名が間違っている、サイトのトップに存在しない、などの可能性が考えられます。
再確認後、問題を解消してからPingし直し。
※ただし、ここまでちゃんとチェックするのは、私が知る限り31engineのみ。他のPingサーバーは、RSSファイルのあるなしに関わらず、Update Pingのリクエストそのものが無効でなければエラーにしない(つまり、一連のUpdate Ping処理が正常終了したかどうかは保証の限りではない)ので注意が必要です。
No new item in your rdf. あなたのRDFファイルには、新しいアイテムがありません。 これはつまり、RDF(RSSファイル)を更新せずにPingを送ってしまった時に起こります。
Pingサーバーは、過去にすでに通知されているURLしか存在しないRSSは受け付けません。(そのURLの日付が更新されていても)
ですので、新しいURLが追加されたRDFファイルを作成/アップロードしてからPingすれば解消します。
Request Failed. リクエストが失敗しました。 何らかの原因でPingが受け付けられなかったことを表しますが、原因は分からず。

最終手段

さて、いろいろやってみてどうしてもうまく行かない時には、もしかしたら有効なのは、RSS Autodiscovery。
トップページに、RSSの場所を指定したタグを埋め込むことで、RSSファイルを発見しやすくします。やり方はこちら参照→RSSの公開を知らせよう
ただし、個人的な経験から言わせてもらうと、RSSリーダーに対してはこの施策は効果がありますが、ことPingサーバーに関しては、これが効いたタメシがないです。
なぜなのかは全く謎ですが、Pingサーバーは、RSS Autodiscovery情報を参照しておらず、決め打ちしてRSSファイルを探しに行っているっぽいです。

これをやってもだめな場合は、あきらめた方が得策です。とりあえず、主要なPingサーバーに確実にPingを出せれば、効果は大差ないと思いますので。