先日からお試ししていたAkismetですが、英語のspamはかなり弾いてくれるようなので、NP_Akismetをお手軽に導入できるようなプラグインを作成しました。興味のある方はどうぞ。
やり方としてはこんな感じになります。
0. Wordpress.comのアカウント取得(API Keyの取得)
1. NP_Akismetをインストール
2. NP_AddSpamCheckEventをインストール
3. NP_Blacklistの改造
Wordpress.com及び、NP_Akismetが全て英語なので、英語を見たくないという人はちょっと面倒かもしれません。
† 0. Wordpress.comのアカウント取得(API Keyの取得)
AkismetのAPI Keyが必要になるので、Wordpress.comのサインアップページからアカウント登録を行います。Wordpress.comのサインアップの具体的なやり方は、別ページで紹介していますので参考にしてください。
登録が完了すると、ユーザープロファイルページにAPI Keyが表示されるので、これをメモしておきます。
† 1. NP_Akismetをインストール
NP_Akismet.zipを本家フォーラムのスレッドよりダウンロードします。
ダウンロードが終わったら、アーカイブを解凍します。NP_Akismet.phpとNP_AkismetStatistics.phpの2つのファイルをnucleusのpluginsディレクトリに配置したら、管理画面よりインストールします。
インストールが完了したら、プラグインオプションを開いてAPI Key(前述)を入力し、保存します。
† 2. NP_AddSpamCheckEventをインストール
このままではコメント時にNP_Akismetが動作しないため、コメント時にNP_Akismetを呼び出すためのプラグインであるNP_AddSpamCheckEventをインストールします。
ダウンロードはこちら [NP_AddSpamCheckEvent v1.2][57clicks]
このプラグインは設定項目がないので、管理画面からインストールするだけで作業は完了です。
† 3. NP_Blacklistの修正
2007/2/4追記:この改造はNP_Blacklist 1.0以降は必要ありません。NP_AddSpamCheckEventについても、NP_Blacklist 1.0以降に同梱しています。
NP_Blacklistを導入している場合には、NP_AddSpamCheckEventとNP_Blacklistの機能が重複してしまうため、NP_Blacklistを修正します。
NP_Blacklist.php (113行目付近)
↓
書き換え後、NP_Blacklistを一旦アンインストールし、再度インストールします。成功していればプラグイン一覧の、以下のイベントに登録の部分が以下のようになるはずです。
これで完了です。お疲れ様でした。
† spamチェックの順序について
上記の手順でNP_AkismetとNP_Blacklistが併用できるようになります。プラグイン一覧で上にあるほうから順番にspamチェックが行われます。
自サイトでコメントを書き込んだときに
mySQL error with query INSERT INTO nucleus_plug_akismet_statistics SET id = 2481, day = NOW(), status = 0, count = 1 : Duplicate entry '2481-2009-08-17-0' for key 1
といったエラーが出るようになりました。どこを修正したらいいでしょうか。
どれくらいspamが弾かれたかどうかをNP_AkismetStatistics使ってチェックしたりしていないのであれば、NP_AkismetStatisticsを外してしまうのが早いですかね。
回答ありがとうございます。はずすことにしました。
コメントは承認後の表示となります。
OpenIDでログインすると、即時に公開されます。