Contact Form 7自体は非常に優れているプラグインで、知名度もあるのですが、それ故にスパム対策をしないと自動スクリプトによるスパムメールが度々来ます。
例えば、ブログを売却しないか?やPVを上げませんか?のような勧誘メールが度々来ます。
実際、簡単なスパム対策をしたところ、まったくスパムメールが来なくなったので、自動スクリプトによるスパム攻撃のようでした。
この記事ではそのスパム対策を紹介します。同じ悩み事で困っている方の参考になれば幸いです。
Contact Form 7におけるスパムへの対処方法
以下にスパム対策の方法を記載します。通常の問い合わせページを作成する
まずは通常の問い合わせページを作成しましょう。Contact Form 7の操作方法の詳細は割愛しますが、例えば、以下のような内容になるかと思います。<label>
■氏名
[text* your-name]
</label>
<label>
■メールアドレス
[email* your-email]
</label>
<label>
■件名
[text* your-subject]
</label>
<label>
■本文
[textarea* your-message]
</label>
[submit "送信"]
スパム対策のクイズ欄を追加する
上記のお問い合わせページに対して、スパム対策としてクイズ欄を追加しましょう。入力フォーム上部にある「クイズ」のスイッチを押します。

すると下図のようなダイアログが表示されます。

名前、ID属性、クラス属性はそのままで良いので、「クイズと回答」の欄を編集します。
「クイズと回答」の欄には「|」の左側にクイズ内容を、右側にクイズの答えを入力します。
例えば上図のように日本の首都を聞くクイズを追加すると良いでしょう。
クイズ追加後の問い合わせページの例のコードは以下になります。
<label>
■氏名
[text* your-name]
</label>
<label>
■メールアドレス
[email* your-email]
</label>
<label>
■件名
[text* your-subject]
</label>
<label>
■本文
[textarea* your-message]
</label>
<label>
■スパム対策
[quiz quiz-643 "日本の首都は?(漢字で)|東京"]
</label>
[submit "送信"]
スパム対策の効果(筆者の場合)
ここまででスパム対策にクイズを追加する方法を紹介しました。クイズを1個追加するという非常に簡単な手法ではありますが、筆者の場合には劇的に効果がありました。
体感ですが、スパムの頻度は対策前後で以下のようになりました。
- 対策前: 週に2~3通のスパムメールが問い合わせページより届く
- 対策後: (対策後の数ヶ月で)全く届かない
このように劇的な効果が確認できました。
クイズを1個追加するという数分で終わる作業で明確な効果が出るので対処することをオススメします!