WordPressのお問い合わせフォームといえば「Contact Form 7」プラグインが最も有名でしょう。当ブログも利用させてもらっています。
Contact Form 7 | WordPress.org
実は当ブログ、Contact Form 7利用のお問い合わせフォームから非常に多くのスパムメッセージが届くようになっていました。
英語やそれ以外のよくわからない言語で書かれた、いかにも怪しそうなリンクが張ってあるメッセージです。
無視すればいいだけなのですが、いかんせん件数が多い。1日に10件くらいは届いていたので、無視するメールの中に重要なメールが紛れてしまったらちょっと困ったことになります。
かといって問い合わせフォームを閉じるのはちょっと厳しい。いたって普通のお問い合わせもそれなりにありますからね。
ってなわけで、スパム対策しました!今回はその方法をご紹介したいと思います。
Contact Form 7にAkismetを適用してスパム対策する方法
WordPressのスパム対策と言えばAkismetが非常に有名です。デフォルトで入っているような気がします。
Contact Form 7にこのAkismetを適用してスパム対策を行うことができます。
Akismetを有効化する&APIキーをセットする
まずはとにもかくにもAkismetを有効化します。そして、WordPress.comのAPIキーをセットします。
このやり方は下記が詳しいので参考にしてみてください。
【簡単】Akismetプラグインの設定方法~WordPressスパム対策~ | カゴヤのサーバー研究室
私はAkismetにAPIキーをセットするところまではできていました。
Contact Form 7の設定をAkismet用に変更する
次にContact Form 7の設定画面を開きます。
WordPress管理画面の左メニューから「お問い合わせ」→「コンタクトフォーム」で開けるはずです。
▼初期設定に近い人だと、だいたいこんな感じになっているはず。
ここで名前とメールアドレスの部分を修正します。
名前の部分は、
[text* your-name]
を
[text* your-name akismet:author]
に修正します。
メールアドレスの部分は、
[email* your-email]
を
[email* your-email akismet:author_email]
に修正します。
つまり、
- akismet:author
- akismet:author_email
を追加したわけです。
実はこれ以外にも「akismet:author_url」というのもあるのですが、私の問い合わせフォームにはURL入力欄は設けていないため、ここでの説明は割愛します。
▼修正後はこんな感じになります。
これで保存すれば設定は完了です。
動作確認してみましょう。
▼お問い合わせページを開き、名前の欄に「viagra-test-123」と入力します。
それ以外の欄は適当な文字を入力し、「送信」ボタンをクリック。
▼すると、送信ボタン下にオレンジ色(オレンジなのがキモです。赤とか黄色ではありません)の枠でメッセージ送信失敗の表示がされればOKです。Akismetが有効になっています。
Akismet適用後はスパムがほとんど来なくなった
で、効果のほどなんですが、Contact Form 7にAkismetを適用してから、スパムメッセージが全くと言っていいほど来なくなりました。
スパムではない普通のお問い合わせは届いているので、きちんと対策されているのだと思います。
まとめ
というわけで、Contact Form 7のスパム対策にAkismetを適用したよ!というお話でした。
これ、昔からあったのかなあ?もっと早くからやっておけば良かったです。
Contact Form 7のスパムメッセージにうんざりしている人はぜひお試しください。
<関連記事>
これからWordPressでブログを始める初心者に知っておいてほしい7つのこと