Yuriko.Net 個別記事

2008-03-27
晴れ

WordPress ヘのトラックバックを禁止するプラグイン

ゆりこ による 23:52:22 の投稿
カテゴリー: WordPressハック
タグ: ,

これまた WPJ フォーラムの発掘ネタです。「トラックバック機能を完全に停止させたい」という要望に応じて、プラグインを作ってみました。管理パネルで「他のブログからのリンク通知を許可する (ピンバックとトラックバック)」というのがありますが、これは「今後作成する投稿で、ピン受信するチェックボックスのデフォルト値」を決めるものであって、トラックバックの受信中止をするものではありません。また、各投稿でピン受信を禁止にしても、wp-trackback.php 内部で ping_status の確認のためにデータベースアクセスが発生してしまいます。

このプラグインは、wp-trackback.php を呼ばないようにするという仕組みなので、トラックバックを一切使わない人には有用なものになっています ;-) オリジナルは 404 エラーを返しましたが、今バージョンは 403 エラーを返すことにしました。また、GPLv2 ライセンスとしました (元はライセンス不明)。

<?php
/*
Plugin Name: Disable Trackback
Plugin URI: http://www.yuriko.net/arc/2008/03/27e
Description: Return 403 error for trackbacks.
Author: IKEDA Yuriko
Version: 0.99
Author URI: http://www.yuriko.net/cat/wordpress
*/ 

/*  Copyright (c) 2007-2008 yuriko

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; version 2 of the License.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

function disable_trackback() {
   if (is_trackback()) {
      header("HTTP/1.0 403 Forbidden");
?>
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>403 Forbidden</TITLE>
</HEAD><BODY>
<H1>Forbidden</H1>
You don't have permission to access the URL on this server.
</BODY></HTML>
<?php
      exit();
   }
}
add_action('template_redirect', 'disable_trackback');

?>

トラックバック・コメント »

  1. いつもお世話になります。
    ところで、このプラグインはどうやって使えばいいのですか?
    このコードをコピペするのですか?
    その場合の、ファイル名はどうすればいいのですか?
    今のところ、トラックバックも無いので使う事はないと思います。
    しかし、私もいつかは、プラグインつくってみたいな〜と思い、勉強の為に見ております。

    また、”WordPress で日本語タグ重複問題解決パッチ案”助かります。
    この事実を知ったとき、今のまま使い続けようかと思っていました。
    しかし、これで安心してアップグレードできます。

    コマメからのコメント
  2. 説明が漏れていましたが、新規テキスファイルを作成し、コード部分をコピー→ペーストして、UTF-8 および BOM なしで保存すれば OK です (BOM なしが重要!!)。ファイル名は、英数小文字、アンダースコア、ハイフンだけを使うならば、どんな名前でもいいです (手元では disable_trackbacks.php としています)。

    プラグインの作り方は、有志のみなさんがウェブログに書いていますが、とりあえず、ひろまささんの記事
    http://zone.maple4ever.net/blog/archives/440/
    を紹介しておきます。

    yurikoからのコメント
  3. ご説明ありがとうございます。
    残念ながら、トラックバックが無いので、このプラグインは活躍できそうにありません。
    また、サイトのご紹介ありがとうございます。
    プラグインを作ってみたいのですが、そのアイデアが浮かびません。
    思いつくものは、すでにプラグインがあります。
    実は、本当の目的は別にあります。
    Ktai Styleでやってみたいことがあります。
    それは、アクセス解析です。
    いろいろなアクセス解析ソフトを試しました。
    しかし、Ktai Styleのページまで、解析できるのはありませんでした。
    今使っているアクセス解析は、ファイルをインクルードするタイプで、Wordpressでそれをするとエラーが出ます。
    たぶん、Wordpressの構造的なものだと思います。
    他で、携帯電話を解析できるのがあれば一番いいのですが、なかなか見つかりません。
    そこで、Ktai Styleを解析しようかと考えたのですが、APIを使っているようで、元の関数を定義しているファイルを探すのも一苦労の状態です。
    今は、携帯からのアクセスもほとんど無い状態なので、そのうちに、いいのが見つかるかも?って考えています。

    コマメからのコメント
  4. アクセス解析はいろんな方法がありますが、確かに携帯電話と親和性が低いものが多そうです。JavaScript を使うもの (Google Analytics 等) 、アクセス解析 CGI を img 要素で呼ぶもの、WordPres プラグインタイプは、なかなか厳しいものがあります。ウェブサーバーのログを処理するタイプが一番対応がよいと思われますが、解析ソフトがユーザーエージェント文字列から機種名に変換する処理を持つ必要があり、そこまで行うソフトは少ないです。

    ここで初めて書きますが、将来的な計画に、主要な WordPress 用アクセス解析プラグインと連携することも腹案に入っています。例えば、ブラウザ名称のところに DoCoMo N905i と入るようにする等です。だいぶ先になると思いますが、しばらくお待ちください。

    yurikoからのコメント
  5. お返事ありがとうございます。

    >WordPress 用アクセス解析プラグインと連携

    この件は、よろしくお願いします。
    携帯のほうのアクセスアップを考えています。
    しかし、方法はまだ思いつきません。
    内容あるコンテンツが一番ですが、それが一番難しいです。
    私の方も、だいぶん長く掛かりそうなので、気長に待ちます。

    コマメからのコメント

上に戻る

※スパム対策プラグインの影響により、すぐにトラックバックが反映されない場合があります。お手数ですが、半日ほど待ってみてください。

コメント投稿

※発言の責任を明確にするため「名無し」「通りすがり」「匿名希望」等の匿名は不可とします。捨てハンドルでもいいので必ず名乗ってください。
XHTML (使えるタグ): <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> .
※スパム対策プラグインの影響により、すぐにコメント内容が表示されない場合があります。お手数ですが、半日ほど待ってみてください。

上に戻る