社員ブログ

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

2010年02月23日 火曜日

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]
  • [text* your-name 50/]
    (50/ は、inputのサイズを50にする設定、*は必須項目の設定)
  • [email* your-email 50/]

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

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

以上です。

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

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

送信!

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

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

Trackback URL
文字サイズサイズ小サイズ中サイズ大