この記事は最後に更新してから1年以上経過しています。

Blacklist keys manager:プラグイン作ってみました

説明

少し前から明らかにスパムと思われるコメントが投稿され、そのモデレーションメールを受け取る回数が増えてきた。あまりにもあからさまなコメントばかりなので、何らかの対策ができないか考えてみました。

スパム対策というと Automattic社謹製の「Akismet(アキスメット)」がもっともメジャーであり、多くのサイトで利用されているでしょう。また、Facebookのコメント機能を利用することで、匿名者のコメント投稿を制限しているサイトも数多く見られます。まあ、手堅くサイト運営するならそうなるのかなと、私自身もそう思うわけです。ただ、コストはかけず、かつ標準のコメント機能を使いたい(もしくは使っている)サイトは存在しているのも事実。これまであまり注力していなかったコメント管理機能を勉強しながら、プラグインを作ってみました。

インストールおよび使用方法

1. Blacklist keys managerのアーカイブファイルを解凍し、フォルダごと /wp-content/plugins/ の中に入れてください。
最新のBlacklist keys managerのアーカイブファイルは、「wordpress.org(65KB)(wordpress.orgは申請中)」からダウンロードしてください。
2. 管理ページのプラグインページで「Blacklist keys manager」を有効にしてください。
管理者権限のアカウントでログインし、サイドナビの「プラグイン」をクリック。一覧の中から「Blacklist keys manager」の「有効化」をクリックしてください。
3. 「設定」-「コメントブラックリスト」を開きます。

各項目を順番に編集

  1. すでにURLを含むスパムマークされたコメントがある場合は、「抽出内容の選択」で「フルパス」か「ドメイン名またはIPアドレス」を選び、「いますぐブラックリストの抽出」ボタンをクリック。選択内容に応じて、ブラックリストにキーが追加されます。
    なお1.2.0からは出現数の多い単語も抽出できるようになりました。
  2. 投稿されたコメントがスパムマークされた場合に、そのコメント内容に含まれるURLを上記の条件で自動抽出できます。その場合は「コメントがスパムとしてマークされたとき」をチェックし、「変更を保存」ボタンをクリックします。
  3. WordPress標準では、コメント内容に複数のURLがある場合にモデレーションメールが送信される仕組みです。このプラグインではこの機能を一段強化し、スパムとしてマークできます。そうしたい場合は、「リンク数」の先頭にチェックを入れ、URLの個数を指定して、「変更を保存」ボタンをクリックします。
  4. 新規にブラックリストに追加した場合は、ページ中央の「キー編集」のテキストボックスにキー名を入力し、「ブラックリストに追加」ボタンをクリックします。
  5. ブラックリストのキーを修正する場合は、まずそのキーをダブルクリック。中央の「キー編集」のテキストボックスにキー名が表示されますので、適宜変更して「修正」ボタンをクリックします。
  6. 不要なブラックリストのキーを削除する場合は、それらのキーを「ゴミ箱」のリストにドラッグ&ドロップし、「ゴミ箱を空にする」ボタンをクリックします。
  7. 「ホワイトリスト」は、ブラックリストに登録したくないキーを登録しておくところです。ホワイトリストのキーにマッチするものは、ブラックリストに抽出される際に除外されます。
    1.2.0からは「ホワイトリストをダウンロード」ボタンを押すことで、ホワイトリストをファイルとしてダウンロードできます。さらにホワイトリストのファイルを枠内にドラッグ&ドロップすることで一括更新が可能です。
  8. 「拡張ブラックリスト」は、正規表現を使用したキーを登録することができ、ブラックリストに複数登録していたものを1つのキーにまとめることができます。なお、拡張ブラックリストにマッチするワードし、かつホワイトリストにマッチする場合は、そのワードはスパム判定の対象になりません。

よくある質問

Q. ブラックリストのキーが増えてきましたが、どうすればいいですか。
A. ブラックリストで不要になったキーは削除することをお勧めします。また抽出指定で「フルパス」を指定しているなら、「ドメイン名またはIPアドレス」に変更するほうが登録されるキーは少なくなります。また、拡張ブラックリストに正規表現を使用したキーを登録することで、ブラックリストに個別に登録することと同等の効果を得ることができます。
Q. ブラックリストから除外するホワイトリストを一括登録できますか。
A. Version 1.2.0ではテキストファイルをホワイトリストの枠内にドロップすることで一括登録できるようになりました。

更新履歴

  • 2015.05.22 Blacklist keys manager 1.2.0をリリースしました。スパムコメントに多数出現する単語をブラックリストに追加できるようになりました。またホワイトリストのダウンロードとアップロードが可能になりました。
  • 2013.12.05 Blacklist keys manager 1.1.1をリリースしました。「ゴミ箱を空にする」ボタンを移動しました。
  • 2013.09.18 Blacklist keys manager 1.1.0をリリースしました。正規表現を使用できる拡張ブラックリストに対応しました。
  • 2013.09.12 Blacklist keys manager 1.0.0をリリースしました。

最終更新 : 2015年05月22日 10:23


お勧め

get_post_time(2018年5月27日 更新)

mixed get_post_time( [ string $d = 'U' [ , bool $gmt = false [ , mixed $post = null [ , bool $translate = false ] ] ] ] )
パラメータ$dで指定されたフォーマットに従って投稿データの投稿時刻を取得する。

has_tag(2012年1月17日 更新)

bool has_tag( [ mixed $tag = '' [ , mixed $post = null ] ] )
投稿記事に投稿タグが付属しているか調べる。

delete_term_meta(2018年5月27日 更新)

bool delete_term_meta( int $term_id, string $meta_key [ , mixed $meta_value = '' ] )
タームのメタ情報を削除する。

wp_save_post_revision(2023年4月3日 更新)

int | WP_Error | void wp_save_post_revision( int $post_id )
現状の投稿のリビジョンを作成する。

safecss_filter_attr(2023年3月31日 更新)

string safecss_filter_attr( string $css [ , string $deprecated = '' ] )
インラインスタイルをサニタイズする。