「ホームページのお問い合わせフォームに、身に覚えのないメールが毎日届く」「スパムが多すぎて本当の問い合わせが埋もれてしまう」こんな悩みを抱えていませんか?
この記事では、フォームスパムが届く仕組みと、reCAPTCHAやハニーポットを活用した具体的な対策方法を解説します。難しい知識がなくても実践できる内容なので、ぜひ参考にしてみてください。
目次
フォームスパムはなぜ届くのか
ホームページのお問い合わせフォームに届くスパムメールのほとんどは、ボット(自動プログラム)によって送信されています。
ボットはインターネット上を自動で巡回し、フォームを見つけると広告や宣伝、フィッシング目的のメッセージを大量に送り込みます。人間が1件ずつ送っているわけではないため、対策なしでは止めることができません。
スパムが増えると、こんな問題が起きます。
- 本物の問い合わせがスパムに埋もれて見落としてしまう
- メールの受信件数が増えて管理が大変になる
- 場合によってはサーバーの負荷にもつながる
reCAPTCHAとは?「私はロボットではありません」の仕組み
reCAPTCHA(リキャプチャ)とは、Googleが提供している「人間とボットを区別するための認証システム」です。
フォームに送信前の検証ステップを追加することで、自動プログラムによる送信を防ぎます。
reCAPTCHA v2 - チェックボックス型
「私はロボットではありません」にチェックを入れるタイプです。ボットはこのチェックを自動で通過できないため、スパムを大幅に減らせます。
reCAPTCHA v3 - スコア判定型
ユーザーの操作パターンをAIが分析し、人間かボットかをスコアで自動判定します。チェックボックスが表示されないため、ユーザーの手間がかからないのが特長です。
- reCAPTCHA v2 → ユーザーがチェックを入れる操作あり。シンプルで導入しやすい
- reCAPTCHA v3 → 操作なし。ユーザー体験を損なわず、より自然な形でスパムを遮断
reCAPTCHAの設定にはGoogleアカウントが必要です。Google reCAPTCHA公式サイトから無料で登録できます。
WordPressフォームプラグインでの設定方法
WordPressでサイトを運営している場合、よく使われるプラグインにはすでにreCAPTCHA連携機能が備わっています。
Contact Form 7 の場合
- WordPress管理画面から「お問い合わせ」→「インテグレーション」を開く
- reCAPTCHAの項目にGoogleから取得したサイトキーとシークレットキーを入力
- 保存してフォームページで動作確認
WPForms の場合
- 管理画面から「WPForms」→「設定」→「CAPTCHA」を選択
- reCAPTCHAのタイプを選んでキーを入力して保存
プラグインによって設定画面は異なりますが、基本的には「サイトキー」と「シークレットキー」の2つを入力するだけで設定完了します。
ハニーポットという方法もある
ハニーポットとは、「蜜壺」という意味で、ボットをおびき寄せて判別するスパム対策の手法です。
フォームの中に人間には見えない隠しフィールドを用意しておき、ボットがそこに入力した場合は送信をブロックします。人間はそのフィールドが見えないので入力しません。
reCAPTCHAと組み合わせることで、より高いスパム防止効果が期待できます。WordPressプラグインの「Honeypot for Contact Form 7」などが代表的です。
その他の補足的な対策
reCAPTCHAやハニーポット以外にも、以下のような対策が有効です。
- フォームのURLを定期的に変更する(一時的な対処)
- 送信後に確認メールを求める「ダブルオプトイン」を導入する
- フォームへのアクセスを国別にブロックする(国外スパムが多い場合)
完全にゼロにすることは難しいですが、複数の対策を組み合わせることでスパムを大幅に減らすことができます。
まとめ
フォームスパムの主な原因はボットによる自動送信で、reCAPTCHAを導入することで多くのケースを防ぐことができます。
- reCAPTCHA v2: チェックボックス型で導入しやすい
- reCAPTCHA v3: 操作不要でユーザー体験を維持
- ハニーポット: 組み合わせることでより高い効果
WordPressであればプラグインから簡単に設定できるので、スパムに悩んでいる場合はまず試してみてください。

