Conatct Form 7のスパムメール対策の1つして、今回はAkismetによるスパムフィルタリングを紹介します。
Akismetは、WordPressの開発元でもあるがAutomattic社提供するスパム対策プラグインです。スパムコメントをブロックするために使うことが多いんじゃないかと思いますが、コンタクトフォームと連携して、スパムメールをブロックするのにも役立ちます。
目次
AkismetによるCotact Form 7のスパム対策の仕組み
具体的な設定方法は以下で解説しますが、今回のスパム対策の大まかな仕組みはこんな感じです。
- コンタクトフォームに名前やメアド、URLの入力がある
- Contact Form 7が、メール送信前にAkismetに入力データを渡す
- Akismetが、スパムかどうかを判定する
- スパムだった場合、Contact From 7は「メッセージの送信に失敗しました」のエラーメッセージを返す(メールは送信されない)
ただ、実際に作業するのは、Contact Form 7とAkismetプラグインのインストールと、指定のフォームタグの設定くらいなので、連携とか判定とかの難しい部分は、ほとんど考える必要はありません。
AkismetによるCotact Form 7のスパム対策方法
ここからはスパム対策のやり方を解説していきます。
- Contact Form 7プラグインのインストール
- AkismetプラグインのインストールとAPIの有効化
- Contact Form 7でAkismetオプションを設定
- Akismetによるフィルタリングテスト
1つずつ手順を詳しく見ていきましょう。
AkismetプラグインのインストールとAPIの有効化
先の仕組みのところでも触れましたが、今回のスパム対策にはConatct Form 7の他にAkismetプラグインが必要です。
Akismetについては、以下の関連記事の方法で、WordPress.comでのアカウント登録からプラグインの有効化(API連携)までを行なっておいてください。
Contact Form 7でAkismetオプションを設定
Akismetプラグインが有効になったら、管理画面のコンタクトフォームページへ進んで、
スパム対策をしたいフォームのメール本文で、以下の指定されたオプションをフォームタグに挿入します。
オプション | 用途 | フォームタグの記入例 |
---|---|---|
akismet:author | 送信者の名前 | [text* your-name akismet:author] |
akismet:author_email | 送信者のメアド | [email* your-email akismet:author_email] |
akismet:author_url | 送信者のサイトURL | [text your-url akismet:author_url] |
textやemailのフィールドに送信者の名前やメアドを入力してもらう場合、フォームタグ内にakismet:authorやakismet:author_emailを挿入してあげるだけで良いです。
また、3つのakismet:オプションのうち、1つでもフォームタグに設定がなされていると、Akismetのフィルタリングが有効になります。
・・・
ここまでで基本的な設定は完了なので、あとはフィルタリングテストとスパム判定されたときの動きについて解説します。
Akismetによるフィルタリングテスト
きちんとフィルタリングできているかを確認するため、実際にスパムメールを送るわけにはいかないので、どうすれば良いのか…ですが。
便利なことに、以下のようなテスト用の送信者、またはメールアドレスが用意されていますので、ぜひ利用しましょう。
- 名前 (akismet:author):viagra-test-123
- メールアドレス (akismet:author_email):akismet-guaranteed-spam@example.com
スパム判定テストをするためにメールフォームのページへ進み、テストアドレスなどを入力して「送信」ボタンをクリックします。
Akismetによるフィルタリングの結果、スパム判定された場合
Akismetによりスパム判定された場合は、Contact Form 7のメールフォーム側で「メッセージの送信に失敗しました」のエラーメッセージが返ります。
メールは送信されませんのでスパムブロック成功ということです。
(参考)Conatct Form 7のスパムメール対策まとめ
今回はAkismetを使ったフィルタリングでしたが、Contact Form 7のスパム対策は他にもあります。
その辺のことを、以下の関連記事などで紹介していますので、合わせてチェックしてもらえると嬉しいです★