第26回:重複トラックバックを防止する
第25回では、Movable Typeと mixi をシンクロさせるプラグイン「mixiSync」について紹介しました。今回は、トラックバックの重複を未然に防止する「重複トラックバック防止プラグイン」を紹介します。
このプラグインは、小粋空間さんで公開されています。どうもありがとうございました。
まず、小粋空間さんのサイトで、duplicateTBPingfilter.zip をダウンロードし、duplicateTBPingfilter.pl を pluginsディレクトリにコピーすればインストールは完了です。カスタマイズ方法についても、詳しく解説されているのでそちらを参照してください。
以下では、トラックバックが重複してしまう原因について簡単に説明します。トラックバックが重複してしまう原因は、紛れもなくトラックバック送信者が複数回、トラックバックを送信してしまったからに他ならないのですが、これは意図的に送信したわけではなく、送信者側が注意していても、うっかり2度送信してしまうことはよくあるものです。
これには、主に以下の2つの原因が考えられます。筆者も何度かやったことがあります(笑)。
■原因1:(送信者側に)送信エラーが表示されたので再度、トラックバックを送信した
トラックバックは、トラックバック受信側が、「トラックバックの再構築」などの処理を終えた後に、送信元に対してその処理が完了したことを通知します。送信元は、その完了通知をもって、トラックバックの送信が完了したか、失敗したかを判断するわけですが、トラックバック受信側の環境によっては、指定時間内に通知が返ってこない場合があります。
その場合、送信元はその通知が返ってくるまで延々と待つわけにはいかないので、指定時間経過後に「トラックバックが失敗しました」というエラーを返します。これを、トラックバック送信者が、送信に失敗したと勘違いして、再度、トラックバックを送信してしまうと、トラックバックが重複するのです。
Movable Typeでは、トラックバック受信側からの完了通知をどのくらい待つのか指定する事ができます。mt-config.cgi を開いて PingTimeout の値を変更します。デフォルトでは、20秒に設定されています。秒数を伸ばしておけば、送信者側で送信エラーが表示される確率が低くなるかもしれませんが、サイトによっては、何時間経っても通知が返ってこない場合もありますので、ほどほどの値に設定しておくと良いでしょう。
■原因2:エントリーを編集したら、再度、トラックバックが送信されてしまった
この「トラックバック送信先のURL」にURLが残っていることに気が付かずに、エントリーを編集し「保存」ボタンを押してしまうと、トラックバックが再度、相手先に送信されてしまいます。気が付いたときは時すでに遅し。「うぁ~やってしまった~」ということになります。これがトラックバックが重複してしまう2つめの原因です。
因みに、今までに送信できたトラックバックに関しては、「以前に送ったトラックバックを確認」で確認する事ができます。
以上、簡単に説明してきましたが、重複トラックバックを防止しておく事は、自分にとって便利となるだけではなく、トラックバック送信者にとっても救われる事もあるでしょう。この「重複トラックバック防止プラグイン」を導入する事で、トラックバック送信者への細やかな配慮にも繋がるので、是非、導入しておく事をお勧めします。
これで、第26回は終了です。
参考になりましたらポチっとお願いします♪