問い合わせフォームのスパム対策|reCAPTCHAとCloudflareから始める

人間の営業メールとロボットの自動送信は、分けて対策する

本記事は、ホームページ制作とWeb運用に20年携わる中で実際に受けてきた相談と、実務で採ってきた対策にもとづいて書いています。

この記事の要点

問い合わせフォームに届く営業メールは、人間が送るものとロボット(ボット・AI)が自動送信するものの2種類に分かれます。ロボット向けには「ロボットではありません」のチェックを行うreCAPTCHAやCloudflareの導入が入り口です。人間向けは営業お断りの明記と「ご要件」セレクトで振り分けます。それでも止まらないときの最終手段が、メールアドレス入力を挟む二段階フォームです。

公開日 2026-11-08

ノートパソコンで問い合わせフォームの送信確認をしている手元

問い合わせフォームのスパム対策は何から始めればいい?

まずは「ロボットではありません」のチェックを行うツール、reCAPTCHAやCloudflareの導入から始めるのが入り口です。自動送信されるスパムはここで大きく減らせます。人間が送ってくる営業メールはこれでは止まらないので、別の手を重ねます。

問い合わせフォームを公開すると営業メールは増えます。これまで見てきた中では、どうやってもこれは増えるものだという前提に立ったほうが、対策の設計がうまくいきました。ゼロにする前提で考えると、どの施策も「効果がない」ように見えてしまうからです。

対策を始める順番

  1. reCAPTCHAまたはCloudflareを入れる(ロボットによる自動送信を止める)
  2. サイト上に営業お断りを明記する(人間に向けた意思表示)
  3. 「ご要件」セレクトを設置して振り分ける(人間の営業提案を分離する)
  4. 確認画面を一回挟む(送信までのステップを増やす)
  5. 二段階フォームにする(最終手段。離脱リスクを許容する場合)

この順番にしているのは、上にいくほど実装が軽く、問い合わせしたい人への悪影響が小さいからです。下にいくほど効果は見込める一方で、工数と離脱リスクが増えていきます。いきなり5番から手をつけると、本来とりたかった問い合わせまで減らしかねません。

営業メールに2種類あるとは、どういうこと?

問い合わせフォームに届く営業メールは、人間が手で入力して送っているものと、ロボット(ボット・AI)が自動送信しているものに分かれます。この2つは止め方がまったく違うため、分けて考えないと対策がかみ合いません。

同じ「営業メール」に見えても、送り主の性質が違えば効く手も違います。ロボット向けの対策を入れたのに人間からの営業提案が止まらない、という相談を受けることがありますが、それは当然で、reCAPTCHAは人間を弾く仕組みではありません。

種類送り主効く対策
人間がやるお問い合わせの営業メール人が手で入力して送信営業お断りの明記/「ご要件」セレクトでの振り分け
ロボット・AI・ボットによる送信自動送信のプログラムreCAPTCHA/Cloudflare/二段階フォーム

最初にやることは、いま届いている営業メールがどちらなのかを見ることです。文面が明らかにテンプレートで、送信時刻が深夜に集中していて、会社名の欄が空欄や意味のない文字列になっている——そういうものはロボット側の疑いが濃くなります。逆に、こちらのサービス内容に触れた文章が書かれているなら、人間が送っています。

reCAPTCHAとCloudflareは何をしてくれるの?

どちらも「ロボットではありません」というチェックを行うツールです。フォーム送信の前に人間かどうかを判定する層を挟み、自動送信されるスパムをブロックします。ロボット対策の入り口として導入するのがこの2つです。

問い合わせフォームにこの種のツールを入れると、送信ボタンを押す前に人間かどうかの判定が走ります。チェックボックスをクリックする形式のものもあれば、利用者が何も操作しなくても背後で判定するものもあります。実装の形はツールとバージョンによって変わるため、導入時は最新の公式情報で確認してください。

導入時に見ておきたい点

  • フォームの実装方式との相性:自作フォームなのか、外部サービスの埋め込みなのかで、設定できる範囲が変わります
  • 判定が厳しすぎないか:人間が弾かれると問い合わせそのものが届かなくなるため、導入後に自分でテスト送信して確認します
  • 届かなくなったときに気づけるか:ツールを入れた直後に送信エラーが起きていても、何も届かない状態は「スパムが止まった」と区別がつきません

3つ目が実務では一番こわいところです。フォーム周りに手を入れたら、必ず自分でテスト送信して、受信箱に届くところまで目で確かめる。これをやらずに数週間放置した結果、本物の問い合わせがゼロ件のまま過ぎていた、という事故は起こり得ます。

フォームの設定画面を確認しながらメモを取る様子

人間が送ってくる営業メールはどう減らす?

サイト上で明確に営業をお断りしていると書くことが、まず一つの対策になります。さらに問い合わせフォームに「ご要件」のセレクトフォームやラジオボタンを置き、発注・資料請求・通常のお問い合わせ・営業の提案に分けます。営業提案を選んだときにお断りしていると明記する形にします。

人間が相手なので、読めば伝わる場所に書いておくことが効きます。フォームの近くに、営業をお断りしている旨をはっきり書く。それだけでも、送る前にやめる人は出てきます。

「ご要件」セレクトの項目例

  • 発注
  • 資料請求
  • 通常のお問い合わせ
  • 営業の提案

この4つに分けておくと、届いた時点で中身を読む前に仕分けができます。営業の提案を選んだ人には、お断りしていますとはっきり表示してもいいですし、そもそも送っても届かないようにしてしまう——つまり処理しない——という手もあります。どちらを選ぶかは、営業提案の中から協業の話が出てくる可能性をどう見るかで変わります。

副産物として、発注と資料請求が分かれていると、こちらの対応の優先順位もつけやすくなります。営業メール対策として入れた項目が、受信後の運用を軽くする側面もあります。

確認画面を挟むとスパムは減る?

送信までに確認画面を一回挟むケースもあります。送信までのステップが一つ増える形になります。減少幅については、実務で明確な数字を把握しているわけではありません。

入力画面から直接送信するのではなく、入力内容を確認する画面を一枚挟む構成です。問い合わせする側にとっては、送る前に内容を見直せるという利点もあります。

ただし、確認画面を入れたことでスパムが何パーセント減る、といった数字をこちらで持っているわけではありません。効果を断定せずに、ステップを増やす選択肢の一つとして捉えておくのが現実的です。確認画面を入れるとステップが増える分、問い合わせしたい人の離脱も理屈の上では起こり得るので、入れたあとに問い合わせ件数が落ちていないかは見ておきたいところです。

二段階フォーム(メール認証型)はどういう仕組み?

問い合わせフォームの最初のステップをメールアドレスの入力だけにして、そのアドレス宛てに本フォームのURLをレスポンスメールで送ります。届いたメールのリンクをクリックした先で、本フォームに入力して送信する流れです。ロボット系の送信はかなり減らせる方法だと考えています。

流れ

  1. 利用者が最初のフォームにメールアドレスだけを入力する
  2. そのアドレス宛てに、お問い合わせフォームのURLがレスポンスメールで届く
  3. 利用者がメールを開き、URLをクリックする
  4. 遷移先の本フォームに内容を入力して送信する

メールを受け取って開いて、リンクを踏まないと本フォームにたどり着けない構造になるため、自動送信のプログラムからすると突破しづらくなります。ロボット系のスパムはかなり減らせるので、とてもいい方法だとは思っています。

トレードオフ

  • 実装工数が多少かかる:フォームが2つになり、メール送信の仕組みも必要になります
  • 利用者の手間が増える:結局メールを送って、メールが飛んできて、それをもう一度開かないといけないので、ユーザー側としてもとても面倒です
  • 離脱の原因になり得る:面倒さがそのまま、問い合わせをやめる理由になる可能性があります

だからこれは最初に試す対策ではありません。本当に営業メールが多すぎてどうにもならないと思った場合に、そういう方法を取り入れるのもありかな、という位置づけです。reCAPTCHAやCloudflare、ご要件セレクトを一通り試したうえで、それでも業務が回らないほど届くなら検討する。その順番で考えるのが妥当だと思います。

スパムをゼロにすることは目指すべき?

ゼロにすることを目標に置くと、対策が過剰になって本来の問い合わせまで減らしかねません。問い合わせフォームを公開している以上、営業メールはどうやっても増えるという前提で、業務が回る水準まで減らすことを目標にするほうが現実的です。

対策を強くするほど、問い合わせする側のハードルも上がります。reCAPTCHAの判定を厳しくすれば人間も弾かれますし、二段階フォームにすれば手間が増えます。スパムを一通も通さない状態と、問い合わせが取れる状態は、どこかで必ずぶつかります。

判断の軸

  • いま届くスパムで、実際にどれだけ業務時間を取られているか
  • その対策を入れることで、問い合わせしたい人にどれだけ手間が増えるか
  • 対策を入れたあと、本物の問い合わせが届いているかを確認できているか

問い合わせフォームは、スパムを止める装置である前に、仕事を受け取る入口です。止めることを優先しすぎて入口を狭めてしまっては、本末転倒になります。対策を入れたあとに必ずテスト送信して受信を確かめる、という一手間を運用に組み込んでおくことが、どの施策を選ぶ場合でも共通して必要になります。

よくある質問

reCAPTCHAとCloudflare、どちらを入れればいいですか?

どちらも「ロボットではありません」というチェックを行うツールで、ロボット対策の入り口として使えます。選ぶ際は、いま使っているフォームが自作か外部サービスの埋め込みかによって設定できる範囲が変わるため、実装方式との相性で判断してください。仕様は変わるため、導入前に最新の公式情報を確認することをおすすめします。

ツールを入れたのに営業メールが止まりません。なぜですか?

届いている営業メールが、ロボットではなく人間が手で入力して送っているものである可能性があります。reCAPTCHAやCloudflareは自動送信を止める仕組みなので、人間には効きません。人間向けには、営業お断りの明記と「ご要件」セレクトでの振り分けという別の対策が必要です。

「営業の提案」を選んだ送信は、届かないようにしてもいいですか?

お断りしていますとはっきり表示する方法と、そもそも送っても届かないようにして処理しない方法の両方があります。どちらを選ぶかは、営業提案の中から協業などの話が出てくる可能性をどう見るかによって変わります。

二段階フォームは最初から入れたほうがいいですか?

最初に入れる対策ではないと考えています。メールを開いてリンクをクリックし直す手間が利用者側にかかり、それが離脱の原因になり得るためです。まずreCAPTCHAやCloudflare、ご要件セレクトを試し、それでも営業メールが多すぎてどうにもならない場合の選択肢として考えるのが現実的です。

対策を入れたあとに確認することはありますか?

必ず自分でテスト送信して、受信箱に届くところまで確かめてください。ツール導入時の設定ミスで本物の問い合わせが届かなくなっていても、受信がゼロの状態は「スパムが止まった」と区別がつかないためです。

参考・出典

関連記事

ABテストは何件のクリックから意味を持つか|30件・100件・200件の目安
動画はファーストビューに置かなくていい|下部配置と時間差表示
士業のホームページに顔写真と動画を載せる理由|信頼の伝え方

記事が積み上がる仕組みを見るお問い合わせはこちら

← 問い合わせが増えないへ戻る