トラックバックでの自動リビルド停止
このウェブログでは、個別の記事(Individual Entry Archive)にトラックバックを表示してるほか、トップページにも「最近のトラックバック」を表示しています。Movable Type の初期設定ではトラックバック着信時には HTML ファイルが再構築されないので、次に HTML が更新されるまで届いたトラックバックが表示されません。
そこで、トラックバック着信時に自動的にリビルドする設定にしていました。同様のカスタマイズをしているユーザの方も多いと思います。しかし、これには弊害がありました。
トラックバックを受けつけてから HTML の再構築が終わるまで時間がかかりすぎると、トラックバック送信元がタイムアウトエラーになってしまいます。送信元も MT の場合、エラーになったトラックバック URL が未送信して保存されます。ここで記事に手直しをして保存すると再びトラックバックが送信されてしまいます。しかし、またタイムアウトエラーになります。ご想像の通りタイムアウトエラーになる限り、これが何度も繰り返されます。
一方トラックバックを受けつけた側からすると、トラックバックは正常に受け取れているので、同じ記事からのトラックバックが何度も
(時として大量に)届くことになります。(例)
これを回避するためには、トラックバック送信側が mt.cfg ファイルの PingTimeout 値を長めに設定することです。初期値は 15 秒ですが、これを 30 秒や 60 秒に変えればタイムアウトまでの待ち時間が長くなりエラーになることが少なくなります。
しかしこちらの都合で、トラックバックする MT ユーザに mt.cfg の設定を変えろと言うわけにもいきませんし、ホスティングサービスなどでどうしようも無い場合もあるでしょう。というわけで、結局トラックバック着信時の自動リビルドをやめることにしました。これで同一のトラックバックが何度も届くことはかなり減るはずです。
また、これには別のメリットもあります。トラックバックスパムによる被害を少なくします。Going My Way: Trackbackスパムに注意のように、大量にトラックバックスパムが来た場合、自動的に再構築する設定にしていると、サーバがダウンしかねません。トラックバック着信時にメールで通知するようにしておき、トラックバックスパムや重複トラックバックは削除、それ以外は残して保存して公開するようにした方がよいと思います。
まとめ
最後に、今回から、長めの記事にはまとめを書くことにしてみます。
- トラックバック着信時に自動リビルドするカスタマイズには功罪がある。
- 自動リビルドを停止すると重複トラックバックを減らすことができる。
- 自動リビルドの停止はトラックバックスパム対策にも有効。
トラックバック着信で自動リビルドする
HuntingGirledCollectiveさんの「トラックバック着信で自動リ…
トラックバック by *vitalage*blog — 2004-07-31 02:23