ワードプレスサイトで問い合わせページを簡単に作れるプラグインと言えば『Contact Form 7』が超有名ですね。
ただ、この Contact Form 7、何も考えずに使っているとスパムメールがたくさん来ます。めっちゃ来ます。超有名プラグインであるが故の宿命とも言える問題。
スパムメールって、誰かがせっせと問合せメールを送ってるのではなくて、大概がプログラムによって送られています。
- サイトを巡回して問合せフォームを見つける。
- それぞれの項目に特定のテキストを入れる。
- 送信ボタンを押す。
- 問い合わせフォームを探して次のサイトを巡回する。
こんな動作を繰り返すプログラムです。
このとき、❷❸を問合せフォームでよくある形式に合わせておけば自動プログラムから問合せ(スパムメール)が送信できちゃいます。項目名で言うと「name」「email」「subject」「message」「submit」このあたりですね。
さらに、Contact Form 7の問い合わせフォームは、問合せ内容を入力した後の確認ページが無しで送信される仕組みなのでこのあたりもスパムの餌食になり易いポイントです。
スパム問い合わせを送るプログラムというのはこういった原理で動いています。
と、言うことはですよ
逆に
❷❸のあたりをよくある形式から変えてしまえばスパムメールは回避できるということでもあります。
送信前チェックボックスの追加でスパムは激減される
僕が試したのは、送信前の最終確認として、チェックONにしないと問い合わせが送信できないチェックボックスを追加する方法です。

↑最終的にこうしました。
「送信前確認」という項目のチェックボックスをONにしないと送信ボタンが有効にならないので押せません(送信できない)。
結果的にこれでスパムは激減しました。
送信前チェックボックスを追加する方法
Contact Form 7の設定画面の、「フォーム」タブにプログラムコードが表示されているので、送信ボタンの直前の部分にチェックボックスを追加します。
入力エリアの上に並んでいるボタンの中の[承認確認]をクリックすると↓このような入力ができます。

- 名前
最初から入力されているのでそのままでOK。 - 同意条件
項目の説明文を入力します。「入力内容をご確認のうえチェックを入れてください。」としました。 - オプション
任意選択では意味がないので、チェックボックスをOFFにします。 - ID属性
入力なしでOK(デザインに合わせて利用) - クラス属性
入力なしでOK(デザインに合わせて利用)
右下の[タグを挿入]ボタンを押すとプログラムコードが追記されます。
例として僕の管理しているWordPressでのContact Form 7のコードは最終的にはこうなりました。
<label> お名前 (必須)
[text* your-name] </label><label> メールアドレス (必須)
[email* your-email] </label><label> 題名
[text your-subject] </label><label> メッセージ本文
[textarea your-message] </label><label> 送信前確認
[submit “送信”]
[acceptance acceptance-78] 入力内容をご確認のうえチェックを入れてください。 [/acceptance]</label>
赤文字が[タグを挿入]で追記された部分です。
その外側のlabelタグ+”送信前確認”という項目名は、他項目を真似して手動で入力しています。
おわりに
いかがでしたか?
すでに導入済であろうContact Form 7の設定をちょこっと変えるだけで立派なスパム対策になります。
もちろん、スパム対策としては他の実現方法もあります。
プラグインで出来るものとしては「Akismet Anti-Spam」という有名なものもあります。が、Akismetは自動判断のため、本来スパムではない問い合わせがスパムだと判断される可能性もあるのでは、と考えて僕は少々敬遠しています。
その他では、最近よく見かける「ロボットではありません」というチェック項目を追加したり、画像を選択させるといった方法もあり、これらもWPプラグインで実現可能です。
これも結局はデフォルトの項目から変更する、という意味では今回紹介した方法と同じ方向性です。
ただね、余計にプラグインを増やさずにやりたい事ができたらいいんです。本当に問い合わせしたい「人間」はチェックボックスくらいONにするはずですしね。
もしContact Form 7使ってるけどスパムに悩まされてるのであれば、今回紹介した方法を試してみてください。
ではまた!









