WordPressで「Contact Form 7」と「Akismet」を組み合わせてスパム対策

WordPressでお問い合わせフォームを作る場合に定番と言っていいプラグイン「Contact Form 7」ですが、フォームである以上スパムの宿命から逃れることはできません。

そこでスパム対策プラグイン「Akismet」と組み合わせてスパム対策を行う方法をご紹介します。

記述方法

※Akismetが有効化されスパムフィルタリングが行われている前提です。

ダッシュボード「お問い合わせ」>「編集」

送信者の名前を入力する項目

akismet:author を追加します。

変更前:[text your-name]
変更後:[text your-name akismet:author]

上記は[が全角になっていますのでご注意ください。

送信者のメールアドレスを入力する項目

akismet:author_email を追加します。

変更前:[email your-email]
変更後:[email your-email akismet:author_email]

送信者のURLを入力する項目

akismet:author_url を追加します。

変更前:[text your-url]
変更後:[text your-url akismet:author_url ]

上記は[が全角になっていますのでご注意ください。

3種類用意されていますが、URL入力は使わない場合もありそうです。その場合は省いても問題ありません。

参考サイト(というか公式です)
Akismet によるスパムフィルタリング | Contact Form 7

おまけ

「Akismet」ってなんか登録が必要で怖い!めんどくさい!という方へ、スパムが減る(かもしれない)お手軽設定をご紹介します。

以下の1行を「送信する」ボタンの上に追加してください。

[acceptance acceptance-0] 内容をご確認の上チェックを入れてください。

201405131[acceptance]とは「同意して送信」のために使うチェックボックスを生成するタグです。
このチェックボックスにチェックを入れないとメールが送信できなくなります。

「Contact Form 7」のタグ作成の中では「承諾の確認」です。
[acceptance]タグの名前は、他タグの名前とかぶらなければなんでも構いません。

スパムが減るとは断言しかねますし、もしかしたらスパム側が即座に対策を練ってきて効果が薄いかもしれませんが、お手軽なのでぜひお試しください。

参考サイト
Contact Form 7 に追加すればスパムが届かなくなる魔法の1行