Movable Type 3.31-ja の重複トラックバック処理について

Movable Type 3.31-ja の重複トラックバック処理について

Posted at July 16,2006 12:38 AM
Tag:[MovableType, Trackback]

当サイトで配布中の duplicateTBPingfilter が Movable Type 3.31 に適用可能かどうか、トラックバック処理を調べてみました。

lib/MT/App/Trackback.pm のトラックバック受信処理を見ると、

sub ping {
    :
   (略)
    :
    my $ping;
 
    # Check for duplicates...
    my @pings = MT::TBPing->load({ tb_id => $tb->id });
    foreach (@pings) {
        if ($_->source_url eq $url) {
            return $app->_response() if $_->is_junk;
            if ($app->remote_ip eq $_->ip) {
                $ping = $_;
                last;
            } else {
                # return success to quiet this pinger
                return $app->_response();
            }
        }
    }
 
    if (!$ping) {
        $ping ||= MT::TBPing->new;
        $ping->blog_id($tb->blog_id);
        $ping->tb_id($tb_id);
        $ping->source_url($url);
        $ping->ip($app->remote_ip || '');
        $ping->junk_status(0);
        $ping->visible(1);
    }
    :
   (略)
    :

というコードが新たに追加されており、送信元URLが同一のトラックバックについては、受信済の同一URLのトラックバックデータに上書きしています。

例えば、自ブログのあるエントリーで

  • タイトル:今日は暑かった
  • 概要:東京都心は36.1度と今年最高を記録しました。
  • 送信元URL:http://hogehoge/2006/07/post.html

というトラックバックを受信済の状態で、

  • タイトル:今年最高気温
  • 概要:静岡県浜松市で38.4度を観測しました。
  • 送信元URL:http://hogehoge/2006/07/post.html

というトラックバックを新たに受信すると、先のトラックバックは後のトラックバックの内容で上書きされます。そして最初のトラックバックのタイトルと概要は

  • タイトル:今年最高気温
  • 概要:静岡県浜松市で38.4度を観測しました。

という内容に置き代わります。内容の相違に関わらず、送信元URLが同一であれば一律上書きを行い、トラックバック処理を続行します。

duplicateTBPingfilter は受信済のトラックバックと新たに受信したトラックバックを比較して重複を判断していますが、Movable Type で旧トラックバックに上書きしてしまうため、比較自体ができなくなり、つまり 3.3 以降は不要となります。アップグレードによって登録されたままの場合でも特に問題ありませんが、トラックバック検索処理が動作するため、外しておくことを推奨します。

関連記事
トラックバックURL


トラックバック

「重複トラックバック防止プラグイン」を導入(MT3.2以前) from Project MultiBurst
以前から導入したかった、「重複トラックバック防止プラグイン」を入れてみました。 プラグイン提供元は、本ブログのテンプレート元でもある、小粋空間さんから拝借... [続きを読む]

Tracked on July 16, 2006 7:51 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字イタリックアンダーラインハイパーリンク引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)