MTプラグイン: 重複トラックバックを防止する方法

| | トラックバック(2)

トラックバックのスパムではないのだが、送信元のエラーなどにより同じトラックバックが複数届くことがある。送信側は悪気はないのだろうが、受ける側からすると、少々迷惑である。手動で1つだけ残して、残りを消すということも可能であるが、それは面倒である。そこで、オススメなのがここで紹介するプラグイン "Duplicate Trackback Ping Filter Plugin" である。ここでは、このプラグインの使用方法をメモっておく。

まず、このプラグインは、下記サイトよりダウンロードできる。

小粋空間: 重複トラックバック防止プラグイン

インストール方法

上記サイトにインストール方法も書かれているので、そちらを参考にした方が確実だが、ここでも、簡単にインストールの概略だけメモっておく。

  1. ダウンロードしたファイルを解凍する
  2. duplicateTBPingfilter.pl というファイルを mt/plugins/ (Movable Type のプラグインディレクトリ)にアップロードする
  3. 「設定」→「プラグイン」→「Duplicate Trackback Ping Filter Plugin」の設定で、チェックボックスにチェックを入れる。

これで、このプラグインを使用できるようになる。

設定例

このプラグインでは、いくつかのパラメータがあるが、私は以下のパラメータを変更した。これは、チェックするトラックバックの数の指定である。

27行目:our $counter = 5;

その他のパラメータについては、上記サイトを参考にして下さい。

改良点

このプラグインは、特定記事への重複トラックバックを防止するためのものであるが、私個人としては、他の記事を含めて、特定の記事からの自分のサイトへの重複トラックバックも防止したかったので、以下のような修正を加えた。

■76行目
修正前:
my $ping_iter = MT::TBPing->load_iter({tb_id=>$ping->tb_id},
修正後:
my $ping_iter = MT::TBPing->load_iter({blog_id => $ping->blog_id},

上記改良を加えることで、特定記事へのトラックバックではなく、自分のサイトへの重複トラックバックを防止できるはず。今のところ、問題は発生していないので、うまく動作しているものと思われる。

その他、上記サイトに記載されているが、重複トラックバックと判定した際にトラックバックの送信元にエラーを返さないように Trackback.pm も以下のように修正を加えた。(MT 3.2 の場合)

■239行目
修正前:
return $app->_response(Error => "", Code => 403);
修正後:
return 1;

トラックバック(2)

このブログ記事に対するトラックバックURL: http://itsmemo.com/mt/mt-tb.cgi/20

※スパム防止のため、管理人がトラックバック内容確認後、公開されます。

以前から導入したかった、「重複トラックバック防止プラグイン」を入れてみました。 ... 続きを読む

無料レポートバンキング【無料レポート贈呈中】@日本初アイドルプレナー@ゆき - MTインストール操作動画マニュアル (2005年11月12日 07:48)

MTのインストールが上手くいかず、苦労されている方もおられます。いろいろな本やマニュアルを見てもMTがインストールできない・・・そもそも書いてある意味がよ... 続きを読む