この記事は、ホームページに問い合わせフォームを置いている個人事業主・小規模事業者の方に向けて書いています。迷惑なものが届いていて困っている方にも、これから設置する方にも、同じ順番で使えます。
先に結論を3つ。ひとつ、スパム対策が見ているのは送られ方です。文面は読んでいません。ふたつ、だから捉えられるのは「振る舞い」まで。同じ相手が短時間に大量に送れば、送り手が人であっても対象になります。逆に、1通だけ書かれた営業の売り込みは、送られ方としては普通の送信なので、そこでは分けられません。みっつ、用件で分けたいなら、届いたあとの側でやることになります。受信箱の振り分けか、フォームの項目設計か。どちらを使うかは、いま自分に何がどれだけ届いているかを数えてから決めるものです。
根拠は各社の公式ドキュメント、査読論文、W3Cの文書、そして法令の原文に限定し、2026年8月29日に確認しました。なお、法律の話が少し出てきますが、この記事は法的な助言ではありません。条文にこう書かれている、という事実の紹介にとどめます。
対策の記事はたくさんある。切り分けが無いだけで
2026年8月29日に「問い合わせフォーム スパム」「問い合わせフォーム 対策」で検索しました。上位に並んだのは、フォームのサービスを提供している会社、不正検知の会社、ドメイン事業者、制作会社の解説記事です。型はどれも同じで、原因を挙げて対策を並べる形でした。CAPTCHA、必須項目、隠しフィールド、IP制限。要約には「対策を重ねると利用者の利便性を損ねる」という注意も出てきます。
観測の境界を書いておくと、私たちが見たのは検索結果のタイトルとURL、そこに付いた要約までで、各ページの本文は開いていません。だから中身が浅いと言っているのではありません。言いたいのは、並んだ対策のどれが何に効くのかが、その並びからは分からないということです。
面白いのは、検索している人のほうが先に分けていることです。「問い合わせフォーム 対策」と入力したときに出てくる候補には、「スパム」とは別に「営業メール」「嫌がらせ」が並びます。困っている人は、届いているものが同じ種類ではないと気づいている。それなら記事の側も、分けて書くべきです。
スパム対策が見ているもの——文面ではなく、送られ方
ここがこの記事の核心です。
Cloudflare Turnstileの公式FAQに、こう書かれています。
Turnstile does not access, store, or transmit user communications, form entries, or other page inputs.
Turnstileは、利用者の通信内容、フォームの入力、その他ページの入力に、アクセスも保存も送信もしない。プライバシーを守るための設計の説明ですが、同時に、何を材料にしていないかの説明でもあります。読んでいないものを判定の材料にはできません。つまりこの仕組みは、用件が営業かどうかで振り分ける道具ではないということです。
では何を見ているのか。Turnstileの公式ドキュメントは、訪問者のリスクの高さとブラウザ側の信号に応じて出し分けると説明しています。公式ブログはもう少し具体的で、計算パズル、領域の証明、ブラウザの機能の探索といった方法で、ブラウザの癖と人間らしい挙動を検出すると書いています。
Googleのほうも同じ方向です。reCAPTCHA v2は公式の説明で「人間かどうかを確かめる」という言い方をしていますが、v3は合否ではなく0.0から1.0のスコアを返します。そしてそのスコアが表しているのは、Googleのドキュメントによれば「人間かどうか」ではなくやりとりが持つリスクの高さです。Google自身の技術ブログには、こう書かれています。
detecting fraudulent behavior rather than caring about who or what is behind the network connection.
接続の向こうが誰か・何かを気にするのではなく、不正な振る舞いを検出する。ここでいう不正は、送信の仕方の話であって、用件の中身の話ではありません。
ここで大事なのは、「機械かどうか」と「振る舞いが怪しいかどうか」は別だということです。Cloudflareは別の公式ブログで、同じ相手からの行動を紐づけて「ボットであれ人間であれ」不正な活動を検出すると書いています。例として挙げられているのは、実在の人物が実際の端末を使い、接続元を変えながら大量の偽アカウントを作る、という場面です。
detecting fraudulent activity, bot or human, that links behavior to a specific client
つまり人が送っていても、大量に繰り返せば対象になります。「CAPTCHAは人間には効かない」は言いすぎです。捉えているのは送り手の種類ではなく、送られ方の相関だからです。
そのうえで、逆側も言えます。1通だけ、宛名も本文も整えて送られた営業の売り込みは、送られ方としては普通の送信です。繰り返しも、異常な速さも、接続元の使い分けもない。だからこの仕組みでは、それを「営業だから」という理由で分けることはできません。分けたいなら、用件を見られる場所——つまり届いたあと——でやることになります。
隠しフィールド(ハニーポット)も同じ性質です。人には見えない入力欄を置き、そこが埋まっていたら弾く。埋めてしまうのは、画面を見ずにHTMLを解析して全部の欄を埋めようとするプログラムだからです。これも見ているのは書かれた中身ではなく、埋め方のほうです。
確認先:Cloudflare Turnstile FAQ/同 Widget の概念/Cloudflare 公式ブログ「Turnstile GA」/reCAPTCHA のバージョン/reCAPTCHA スコアの読み方/Google Cloud 公式ブログ/WPForms 公式ドキュメント。いずれも2026年8月29日に取得して確認
機械が撃つものに効く手段と、その値段
切り分けができたので、片方ずつ見ていきます。まず機械のほうです。
主な手段と、公式に書かれている条件各提供元の公式ドキュメントより転記・2026年8月29日に確認
| 手段 | 値段 | 公式に書かれている条件 |
|---|---|---|
| Cloudflare Turnstile | 0円 | 無料プランはウィジェット20個・1つあたりホスト名10件で、チャレンジの回数は無制限。公式ブログも「Managedモードは全ユーザーに無制限で完全無料」と書いている |
| Google reCAPTCHA | 0円〜 | 無料枠は組織あたり月10,000回の判定まで。超えると、課金を設定していなければエラーになり、設定していれば10,001〜100,000回で$8の定額、それを超えると1回$0.001 |
| 隠しフィールド(ハニーポット) | 0円 | 人には見えない入力欄を置き、プログラムが埋めたら静かにスパムとして扱う。多くのフォームツールが標準で持っている |
値段の心配はほとんど要りません。問題は導入の手間のほうです。Turnstileは、画面に置くための鍵とサーバー側で使う鍵の2つに加えて、受け取った側で検証する処理が必須です。公式ドキュメントは、この検証を省くと重大な脆弱性になると明記しています。「画面に置いただけ」では素通りします。発行された通行証は5分で失効し、1回しか使えません。
自分で作ったフォームなら、この検証をどこに入れるかを決める必要があります。フォームのサービスを使っているなら、設定画面のスイッチで済むことが多いはずです。
入れると問い合わせが減るのか——減ったという実測と、減らなかったという報告
ここは慎重に書きます。「入れると問い合わせが減る」とよく言われますが、調べると両方の報告が出てきます。
2023年のUSENIX Securityという学会で発表された査読論文が、1,000人規模の実験でこう報告しています。
we found that between 18% and 45% of participants abandoned the study after the presentation of the first CAPTCHA.
最初のCAPTCHAを見せた後に、18%から45%が離脱した。幅があるのは実験の条件によります。同じ論文は、アカウント作成のような自然な流れの中で遭遇した人は、単独で解かされた人に比べて120%離脱しやすかったとも書いています。
ただし、この数字が何の割合かは正確に読む必要があります。これは実験に参加した人が研究のタスクを途中でやめた割合であって、問い合わせフォームの送信がどれだけ減ったかではありません。実験で使われたのも、画像を選ばせるような対話型のCAPTCHAです。
売っている側も、その問題は認めています。Cloudflareの公式ブログは「人間はCAPTCHAパズルを約15%の確率で諦める」という数字(第三者の論文からの引用)を挙げ、これをTurnstileを作った動機として説明しています。
いっぽうで、同じページには反対向きの報告も載っています。
we've blocked over 1 million automated signup attempts using Turnstile, without a reported false positive or any change in our self-service billings that rely on this signup flow.
Turnstileで100万件を超える自動登録を止めたが、誤検知の報告も、この経路に依存している売上の変化も無かった。自社での実績なので割り引いて読む必要はありますが、「入れれば必ず減る」とは言えないことの根拠にはなります。
整理すると、対話型のパズルを解かせる形では離脱が観測されていて、解かせない形では変化が無かったという報告があるということです。どちらも条件つきで、あなたのフォームで何が起きるかは、この2つからは決まりません。
誤って弾かれることもあります。reCAPTCHAの公式FAQには、同じネットワークを悪用している人が他にいると巻き添えになりうること、契約している通信会社が最近割り当てた疑わしいアドレスのせいでブロックされることがある、と書かれています。あなたのお客様が、あなたのせいではない理由で送れなくなるということです。
もうひとつ、見落とされやすい問題があります。W3Cのアクセシビリティの文書は、CAPTCHAについてこう書いています。
asking users who are blind, visually impaired or dyslexic to identify textual characters in a distorted graphic is asking them to perform a task they are intrinsically least able to accomplish
目の見えない方、見えにくい方、読み書きに困難のある方に、歪んだ画像の文字を読ませるのは、その人が本質的に最も苦手なことをさせている。同じ文書は、音声版についても聴覚に障害のある方に同じ問題を起こすと書き、何度もやり直させる設計は不安障害のある人にとって設計上アクセシブルでないとも述べています。
つまり、対策を入れるという判断は、「迷惑なものが減る」と「本当の問い合わせも減る」を天秤にかける判断です。無料だから入れておこう、という話ではありません。
確認先:Andrew Searles ほか「An Empirical Study & Evaluation of Modern CAPTCHAs」USENIX Security Symposium 2023(arXiv:2307.12108)/Cloudflare 公式ブログ/reCAPTCHA 公式FAQ/W3C「Inaccessibility of CAPTCHA」。いずれも2026年8月29日に取得して確認
HaruIroAIのフォームに届いたもの、全件
ここからは私たち自身の記録です。数が少ないので、全部そのまま書けます。
2026年8月7日に、受信箱を開いて、フォームからの通知を全件数えました。フォームの通知は決まった件名で届くので、漏れなく拾えます。結果は3件でした。
HaruIroAIのフォームに届いた通知の全件受信箱の実物より・2026年8月7日に確認
| 到着 | 正体 |
|---|---|
| 2026年7月4日 | 自分たちのテスト送信 |
| 2026年7月17日 | 自分たちのテスト送信(動作確認) |
| 2026年8月3日 | 実際の送信。ただし内容はWeb制作の受託営業で、相談ではない |
つまり、お客様からの相談は0件。実際に届いた1件は、ホームページ制作をしている会社に、ホームページ制作の営業が来た、という話です。差出人の情報は書きません。
正直に書いておくと、この1件が人が手で書いたものか、自動で送られたものかは分かりません。私たちが記録したのは内容の区分までで、送信の方法は残していないからです。分かるのは、3件が約1か月に分散していて、短い間隔で同じ文面が繰り返し届いた記録は無いということだけです。
そしてこの調査は、もともと別の心配から始まりました。アクセス解析には送信が記録されているのに、代表の認識では「問い合わせは1件も来ていない」。本当の相談が通知されずに消えているのではないかという疑いです。受信箱を数えた結果、消えてはいませんでした。数字と記憶が食い違っていたのは、届いた3件のうち2件が自分たちのテスト送信だったからです。
ついでに見つかった、数字の穴
このとき、想定していなかった欠陥が1つ見つかりました。
アクセス解析の送信数は、実際の送信数を下回ります。7月17日のテスト送信は通知メールが確かに届いているのに、その週のアクセス解析の送信数は0でした。理由は、うちの計測が同意を前提にしているからです。訪問者がアクセス解析に同意していない場合、送信しても記録に残りません。
ここから出た結論はひとつです。フォーム送信の正本は、アクセス解析ではなく受信箱。ダッシュボードの数字を「実際の送信数」として読むと、少なく見積もることになります。数字の見方についてはGA4のアクセス解析だけでは足りないにも書きました。
人が送ってくるものへの対策
CAPTCHAで止まらないほうです。できることは3つあります。
ひとつ、受け取ったあとで振り分ける。Gmailを使っているなら、送信元や本文に含まれる言葉で条件を作り、受信トレイをスキップさせたりラベルを付けたりできます。個別のメールから「これに似たメールをフィルタ」でも作れます。止めるのではなく、目に入る場所から外すという考え方です。営業メールは同じ文面が使い回されることが多いので、条件を作りやすい相手でもあります。
ふたつ、フォームの入口で用件を選ばせる。「ご相談の内容」のような選択肢を必須にしておくと、当てはまるものが無い送信者は書きにくくなります。ただし正直に書くと、これを「営業を選別する方法」として明記した公式のドキュメントは、私たちが探した範囲では見つかりませんでした。効果を保証するものではありません。そして選択肢を増やせば、本当のお客様の手間も増えます。ここも天秤です。
みっつ、受け取らない旨を表示する。ここは法律に関わるので、条文に書いてあることだけを紹介します。特定電子メール法は、広告や宣伝のためのメールを送ってよい相手を4つの類型に限っていて、そのうちの1つが「自分のメールアドレスを公表している団体・営業を営む個人」です。そして施行規則には、アドレスの公表と併せて受信を拒否する旨を表示している場合は、その「公表」に当たらないと定められています。総務省・消費者庁のガイドラインは、表示の例として「広告メール」「宣伝メール」といった言葉と「お断り」「拒否」といった言葉を組み合わせ、公表しているアドレスのすぐ前かすぐ後ろに置くことを挙げています。
ただし、ここで止まる範囲は限られます。これはあくまで4つの類型のうち1つを外す話であって、以前に同意した相手や、すでに取引のある相手からの送信には及びません。そして私たちが調べた範囲では、ウェブフォーム経由の送信がこの法律のいう「電子メール」に当たるかどうかを明記した公式の資料は見つかりませんでした。ですから「お断りと書けば全部止まる」とは書けません。個別の判断が必要な場面では、専門家にご相談ください。
確認先:Gmail ヘルプ「メールのフィルタを作成する」/総務省・消費者庁「特定電子メールの送信等に関するガイドライン」(平成22年4月)。条文は法務省 日本法令外国語訳データベースと突き合わせて確認。いずれも2026年8月29日に取得
HaruIroAIはこう考える——数えてから決める
私たちの立場を書きます。
入れるかどうかは、いま届いている量で決めるものです。無料だから入れておこう、でも、有名だから入れよう、でもありません。ここまで見てきたとおり、減ったという報告と減らなかったという報告があり、どちらも条件つきです。自分のところで何がどれだけ届いているかを知らないまま選ぶと、当たるかどうかは運になります。
見分け方は難しくありません。同じ文面が短い間隔で何通も届く、日本語として意味が通らない、宛名が入っていない、本文がほぼリンクだけ——このどれかが混ざり始めたら、送られ方で弾く仕組みの出番です。逆に、月に数通の営業メールが丁寧な文面で届いているだけなら、受信箱の側で振り分けるほうが早く、取りこぼしの心配もありません。
お客様のサイトを作るときは、フォームを含むプランでスパム対策を設計に入れています。理由は、公開した直後から機械の巡回を受ける前提で作るほうが、後から慌てるより手戻りが少ないからです。そしてお客様のフォームは受注の入口そのもので、取りこぼしの重みが違います。どの構成にするかは、そのサイトが受ける量を見て決めます。
この判断は、届く量が変われば変わります。だから記事の結論は「入れろ」でも「入れるな」でもありません。数えてから決めてください。
コピペで使う——1週間の仕分けシート
そのままコピーして、メモ帳やスプレッドシートに貼ってお使いください。1週間分たまれば、判断できます。
【問い合わせフォームに届くもの 1週間の仕分けシート】
記入開始日: ____年__月__日 / 記入者: __________
1件ずつ、届いたものを次で分類する
--------------------------------------------------
到着日時: ____/__/__ __:__
送られ方(どれか1つ)
□ A: 送られ方が異常
次のどれかに当てはまる
□ 同じ文面が短い間隔で複数届いている
□ 日本語として意味が通らない
□ 宛名が無い、または宛先の社名が違う
□ 本文がほぼリンクだけ
□ B: 送られ方は普通(1通ずつ、文面も整っている)
用件(どれか1つ)
□ 1: 営業・売り込み(自社のサービスを買ってほしい)
□ 2: 相談・問い合わせ(本来ほしいもの)
□ 3: それ以外(間違い、いたずら等)
※ 送り手が人か機械かは、届いたものからは分からないことが多い。
分かるのは「送られ方」と「用件」の2つ
--------------------------------------------------
1週間たったら数える
A(送られ方が異常) ____件
B-1(普通の送られ方・営業) ____件
B-2(普通の送られ方・相談) ____件
B-3(普通の送られ方・その他)____件
数えた結果で決める
□ A が届いている
→ 送られ方で弾く仕組みの出番。Turnstile は無料枠で足りる
→ ただし、対話型のパズルを解かせる形は離脱が観測されている。
解かせない形を選ぶ
□ A は 0 件、B-1 だけが届いている
→ 送られ方は普通なので、そこでは分けられない
→ 受信箱のフィルタで振り分ける
→ フォームに用件の選択肢を足すか検討する(効果は保証されない)
□ どちらも 0 件
→ いま入れる理由はない。次に見直す日を決める
□ B-2 が 0 件で、A も B-1 も多い
→ 対策より先に「そもそも見つかっているか」を疑う
入れると決めた場合、実装のときに確認すること
□ 受け取った側で検証する処理を入れたか
(画面に置いただけでは素通りする)
□ 入れたあと、自分で1回送信して届くか確かめたか
□ 送信できなかった人がいても分からない、という前提を
関係者と共有したか
次にこのシートを見直す日: ____年__月__日
いちばん大事なのは最後の分岐です。相談が0件で迷惑なものだけが届いているなら、対策より先に確かめることがあります。そもそも検索で見つかっているのか、という点です。
この記事で書いていないこと
4つあります。ひとつ、法的な助言はしていません。特定電子メール法について書いたのは条文とガイドラインの記述であって、個別の場面での適法性の判断ではありません。しかもウェブフォーム経由の送信がこの法律の対象になるかどうかは、公式の資料で確認できませんでした。
ふたつ、どの製品が優れているとは書いていません。値段と、公式に書かれている条件を並べただけです。みっつ、私たちの実測は3件しかありません。少なすぎるので、割合や比率は出していません。件数だけです。
よっつ、フォームの項目設計で営業を選別できると保証していません。そう明記した公式のドキュメントを見つけられなかったためです。また、届いたものから送り手が人か機械かを判定していません。私たちの記録も内容の区分までで、送信の方法は残していません。よく引用される「CAPTCHAでコンバージョンが最大40%下がる」という数字も、一次資料を特定できなかったので使っていません。
よくある質問
CAPTCHAを入れれば迷惑メールは止まりますか。
送られ方が異常なものには効きます。同じ相手が短時間に大量に送るような場合は、送り手が人であっても対象になりうる、とCloudflareは公式ブログで説明しています。いっぽう、1通だけ丁寧に書かれた営業の売り込みは送られ方としては普通なので、そこでは分けられません。Cloudflareの公式FAQに、Turnstileはフォームの入力内容にアクセスも保存も送信もしないとあり、用件を材料にしていないためです。
無料で使えますか。
Cloudflare Turnstileは無料プランでチャレンジの回数が無制限です(ウィジェット20個・1つあたりホスト名10件まで)。Google reCAPTCHAは組織あたり月10,000回の判定まで無料で、超えると課金の設定次第でエラーになるか、10,001〜100,000回で$8の定額になります。いずれも2026年8月29日に公式ページで確認した条件です。
入れると問い合わせが減るというのは本当ですか。
両方の報告があります。2023年のUSENIX Securityの査読論文は、対話型のCAPTCHAを見せた後に研究のタスクを18%から45%が離脱したと報告しています(フォームの送信数ではありません)。いっぽうCloudflareは、Turnstileで100万件を超える自動登録を止めたが誤検知の報告も売上の変化も無かったと公表しています。どちらも条件つきなので、自分のフォームで何が起きるかは、この2つからは決まりません。
「営業お断り」と書けば止まりますか。
条文の構造を書きます。特定電子メール法は広告・宣伝メールを送ってよい相手を4類型に限っていて、その1つが「アドレスを公表している事業者」です。施行規則は、公表と併せて受信拒否を表示している場合はその公表に当たらないと定めています。ただしこれは4類型のうち1つを外す話で、以前に同意した相手や取引のある相手には及びません。そしてフォーム経由の送信がこの法律の対象かどうかは確認できませんでした。個別の判断は専門家へご相談ください。
うちには何も届きません。設置し直したほうがいいですか。
まず、届いていないのか、届いているのに気づいていないのかを分けてください。私たちの場合、アクセス解析の送信数は実際より少なく出ていました(同意していない訪問者の送信が記録されないため)。正本は受信箱です。そのうえで本当に0件なら、対策ではなく「見つかっているか」を先に確かめる番です。
まとめ——数えてから決める
もう一度3つだけ。スパム対策が見ているのは送られ方であって、書かれている中身ではありません。だから捉えられるのは振る舞いまでで、1通だけ丁寧に書かれた営業の売り込みは、そこでは分けられません。用件で分けたいなら、届いたあとの側でやることになります。
だから順番は、対策を選ぶことではなく数えることから始まります。上のシートで1週間分ためれば、自分に必要なのがどちらなのかは決まります。何も届いていないなら、いま入れる理由はありません。
そして最後の分岐——相談が0件だった場合——は、フォームの問題ではありません。見つかっていないか、見つかっても連絡する理由が伝わっていないかのどちらかです。ホームページの制作から、公開後の更新、Googleマップ、数字の見守りまでを毎月まとめて引き受けるかたちは、はるいろWeb担当のページでご案内しています。毎月の保守費に何が含まれているかの読み方は、ホームページの維持費、機械の代金は月700〜1,250円に書きました。
この記事は、構成・事実の照合・文章化にAIを使用し、HaruIroAIの編集ルールに基づいて作成しています。手段と値段に関する記述は、Cloudflare・Google・WPFormsの公式ドキュメントを2026年8月29日に開いて転記しました。離脱率はUSENIX Security Symposium 2023の査読論文、アクセシビリティはW3Cの文書、法令は総務省・消費者庁のガイドラインと法務省の法令外国語訳データベースで条文を突き合わせています。まとめ記事・マーケティング会社の記事は根拠に使っていません。よく引用される「CAPTCHAでコンバージョンが最大40%下がる」という数字は、一次資料を特定できなかったため使用していません。フォームの項目設計で営業を選別できると明記した公式ドキュメント、隠しフィールドが人間の送信者に効かないと明記した公式ドキュメント、ウェブフォーム経由の送信が特定電子メール法の対象かを明記した公式資料は、いずれも確認できなかったため、その旨を本文に明記しています。自社のフォームに届いた3件は2026年8月7日に受信箱の実物を数えたもので、差出人の氏名・メールアドレス・社名は記録も掲載もしていません。件数が3件と少ないため、割合や比率は出していません。この記事は法的な助言ではありません。内容は公開前に人が最終確認しています。