@kasumiiです。こんにちは。
WordPressプラグイン「Contact Form 7」は簡単にお問い合わせフォームをつけられるので便利なのですが、しばらく運用しているとスパムが届きはじめて何か対策が必要になる場合が多いです。
スパム対策としてAkismetを導入したりCAPTCHAをつけたりする方法が考えられますが、もうひとつおもしろいプラグインを見つけたので使い方をメモ。
この記事の目次
「Contact Form 7 Honeypot」の仕組み
ハニーポットというのは名前の通りハチミツが入ったつぼで、スパムを甘い香りでおびき寄せて封じ込めてしまおうという意味合いがあるっぽい。
自動で投稿しようとするスパムbotは、フォームのすべてのフィールドに入力しようとする習性があります。「Contact Form 7 Honeypot」はこの習性を利用し、普通のユーザには見えない&入力できないフィールドを用意しておき、ここに何か値が入っていたらスパムとみなす仕組みらしいです。
なるほどーこれはいいアイデア!
できるだけフォームにCAPTCHAをつけたくないときに
CAPTCHAの複雑な文字が解読できなくてムキーーーーッとなる人は多いはず。
なので、できるだけCAPTCHAはつけたくないな……という場合にまずこのプラグインを試してみるのが良さそうです。
「Contact Form 7 Honeypot」のインストール方法
あらかじめ「Contact Form 7」でお問い合わせフォームを作成しておきます。
WordPressの管理画面から「プラグイン」→「新規追加」ページへ。
「Contact Form 7 Honeypot」で検索すると出てくるので、インストール。
インストールが終わったら「プラグインを有効化」します。
お問い合わせフォームの設定画面からタグ作成
「Contact Form 7」で作成したお問い合わせフォームの設定画面で、「タグの作成」プルダウンから「Honeypot」を選択します。
入力フィールドの名前を設定します。
この名前に「honeypot」という文字が入っているとスパムbotにバレバレなので、できるだけユニークな名前に変更しておきましょう。
コードをコピーしてフォーム部分にペーストします。保存して設定完了!
動きを確認してみる
お問い合わせフォームが今まで通りに動作していればOK。
Firebugやデベロッパーツールで非表示になっている入力フィールドに強制的に値を入れて送信してみたところ、ちゃんと送信されないようになっていました。
プラグインの説明ページにも書いてありますが、このプラグインですべてのスパムを防げるわけではないけど、CAPTCHAとかつける前に試してみてね!ということです。
Akismetとこのプラグインを併用すればスパムも減るんじゃないでしょうか。期待。