Contact Form7にAkismetを使用してスパムのフィルタリングをする - WordPress -

2012/03/29 追記
ウルトラASPサイトをリニューアルしました。この記事ではウルトラ実況ライブのフォームを元に書いています。本筋に変わりはありませんが、キャプチャーだけ古いままです。ご了承ください。

Contact Form7を使用したウルトラASP
ウルトラ実況ライブのフォームに、思い出したようにちょいちょいスパムがきます。
もともとContact Form7にはAkismetのフィルタリング機能があるので、それを使ってフィルタリングしてみます。

WordPressのフォーム用プラグイン、Contact Form7に関しては、検索すると山盛り出てくるのでそちらをご参照ください。個人的にはclassを付ける事が出来るのでデザイン的にもカスタマイズがしやすく、導入もとても簡単でとても重宝しているプラグインです。

さて、どんなスパムがくるかというと、

英語の羅列。まさしく迷惑。

フィルタリングのSTEP
  1. Akismetプラグインを有効化
  2. Contact Form 7 の編集からフォームの項目にAkismet用の記述をする

この2点です。Akismetプラグインを使用している方は、すぐに対応出来ますね。
まだ未使用の方は、WordPress.comのアカウントとAPI キーが必要です。プラグインを有効化して、導入手順に従ってください。

Contact Form 7 の編集

見ての通り、お問合せに関してはユーザビリティを優先して簡潔な項目に止めています。

Contact Form7側は以下のようになっています。

[response]
お名前 [text* your-name 50/ ]
例)田中 太郎
メールアドレス [email* your-email 50/ ]
※半角英数※
会社名/組織名 [text company-name 50/]
お問合せ内容 [textarea* your-message 41x15]
[submit " 送信 "]
[response]

  • (50/ は、inputのサイズを50にする設定、*は必須項目の設定)
  • [email* your-email 50/]

この2件を以下のように編集します。

  • [email* your-email 50/ akismet:author_email]
  • (URLの記入項目がある方はこちらも) 

以上です。

どれか1つでもakismet:を入れておけばAkismetにスパム判定を送るようなのですが、正確な判定のためにはすべてにセットすることを推奨している、とのことです。

早速テストしてみます。以前来たスパムの内容を(ビクビクしながら)入力し、

送信!

送れないメッセージが表示されました。ばっちりですね!

参考:Contact Form 7 公式サイト: Akismet によるスパムフィルタリング

お問い合わせ

サービスに関するご相談やご質問などこちらからお問い合わせください。

03-55107260

受付時間 10:00〜17:00