問い合わせフォームのスパムを月48件から4件へ — Cloudflare Turnstile によるボット対策

カテゴリ
News

こんにちは!システムデザインワークスの山岸です。

Webサイトに問い合わせフォームを設置すると、必ずと言っていいほど「人間ではない送信」が届くようになります。弊社サイトも例外ではなく、現在のフォームの運用開始(2025年11月末)から約8ヶ月で届いた送信437件のうち、約7割にあたる310件前後がボットによるスパムでした

2026年7月、この対策として Cloudflare Turnstile というボット検証の仕組みを導入し、直前の月に48件あったスパムは翌月4件まで減りました。この記事では、導入の設計方針と効果を、実数値とあわせて公開します。

問い合わせフォームに届くスパムの実態

まず前提として、いまどきのフォームスパムは「海外からの怪しい文字列」ばかりではありません。弊社に届いていたスパムの大半は、日本語の営業文面を自動送信する「フォーム営業ツール」経由のものでした。文面は人間が書いたものですが、送信しているのはプログラム(ボット)です。記録を集計すると、特定の営業自動送信サービス経由だけで100件を超えていました。

導入直前までの月別の送信件数がこちらです。

月(2026年)

送信件数

うちスパム(推定)

1月

25件

16件

2月

34件

27件

3月

32件

23件

4月

42件

34件

5月

41件

35件

6月

70件

48件

7月(2日に Turnstile 導入)

8件

4件

8月(10日時点)

4件

2件

月を追うごとに増え、6月には送信の7割近くがスパムという状態でした。1件ずつは「削除すれば済む」ものでも、本物の問い合わせがスパムに埋もれて見落とされるリスクは、件数に比例して大きくなります。

Cloudflare Turnstile とは何か

Turnstile とは、Cloudflare が提供するボット検証サービスです。「信号機の画像をすべて選んでください」のようなパズル型の CAPTCHA と違い、ユーザーには原則なにも操作を求めません。ブラウザの振る舞いなどから自動で「人間らしさ」を判定し、フォームに小さなチェックマークが表示されるだけです。

reCAPTCHA などの従来型と比べたときの利点は3つあります。

  • ユーザーの手間がない — パズルを解かせないため、問い合わせの離脱要因にならない

  • プライバシーに配慮 — 行動追跡を前提としない設計で、Cookie を使った横断トラッキングを行わない

  • 基本無料 — 通常のサイト規模であれば無料で利用できる(2026年8月時点)

仕組みとしては、フォーム側のウィジェットが発行する「通行証(トークン)」を、送信時にサーバーへ添えてもらい、サーバーが Cloudflare の照合APIで本物かどうかを確認する——という2段構えです。ウィジェットを置くだけではボットの直接送信を防げないため、サーバー側の照合が本体です。

設計方針: スパムを止めることより、本物を落とさないこと

導入にあたって最初に決めたのは、優先順位です。「スパムを完璧に止める」ことより「本物の問い合わせを1件も落とさない」ことを優先しました。スパムが数件通過しても失うのは削除の手間ですが、本物の問い合わせを1件失えば、それは商談機会そのものの損失だからです。

この方針から、サーバー側の判定は次のように設計しました。

図を読み込み中…

ポイントは3つあります。

  1. ボット判定でもエラーは返さない。 ボットに「弾かれた」と分からせると、判定を回避する試行錯誤の材料を与えてしまいます。画面上は通常の完了表示を返しつつ、データは保存しません。

  2. 「期限切れ」だけは人間扱いする。 フォームを開いたまま長時間考えて送信すると、通行証の有効期限が切れることがあります。これは正規ユーザーの可能性が高い唯一のケースなので、明示的に「もう一度送信してください」とお願いします。

  3. 照合サービスの障害時は通す(フェイルオープン)。 Cloudflare の照合APIがダウンしていたら、検証をあきらめて問い合わせを通します。照合には5秒の上限時間も設け、外部サービスの遅延が問い合わせ全体を巻き込まないようにしました。セキュリティ的には「閉じる」のが定石ですが、問い合わせフォームで守るべきは機密ではなく商談機会なので、あえて開く方に倒しています。

このほか、広告ブロッカーなどでウィジェット自体が読み込めなかった場合には、無言で送信できなくなる事故を防ぐため、目に見えるエラーを表示するようにしています。

効果と、AI時代のボット対策のさじ加減

導入前後の変化をまとめます。

  • スパム送信: 月48件(6月) → 月4件(7月)、約92%減。8月も10日時点で2件と低水準を維持

  • 商談確率の向上: フォームに届く送信のうち本物の問い合わせが占める割合は、導入前の約4件に1件(約25%)から約2件に1件(約50%)へ倍増。本物がスパムに埋もれて見落とされたり返信が遅れたりするリスクが減り、届いた1件を商談につなげやすくなりました

  • 正規の問い合わせ: フェイルオープン設計のため、Turnstile 起因で失われた問い合わせは確認されていません

  • 運用の手間: スパム削除・見落とし確認の作業がほぼゼロに

なお、ボット対策を強めるときに気をつけたいのが、先日の記事で紹介したAI検索対策(AEO)との両立です。ChatGPT などのAIクローラーも分類上は「ボット」なので、CDN側で一律にボットを遮断すると、来てほしいAIまで門前払いしてしまいます。Turnstile は問い合わせフォームの送信だけを守る仕組みなので、サイトの閲覧・巡回には一切影響しません。「読むボットには開き、送るボットには閉じる」——これがAI時代のボット対策の基本形だと考えています。

まとめ

  • 問い合わせフォームのスパムの主力は、日本語の営業文面を自動送信する「フォーム営業ツール」。弊社では送信全体の約7割を占めていた

  • Cloudflare Turnstile の導入で、スパムは月48件から月4件へ約92%減。ユーザーにパズルを解かせず、基本無料

  • 送信に占める本物の問い合わせの割合は約25%から約50%へ倍増。スパムに埋もれない運用になり、問い合わせが商談につながる確率が上がった

  • 設計の軸は「本物の問い合わせを1件も落とさない」。ボットには成功を装い、期限切れだけ再送を促し、照合サービス障害時は通す(フェイルオープン)

よくある質問

Turnstile の導入に費用はかかりますか?
通常のサイト規模であれば無料で利用できます(2026年8月時点)。導入作業も、フォームへのウィジェット設置とサーバー側の照合処理の追加が中心で、既存サイトへの後付けが可能です。
reCAPTCHA と何が違うのですか?
最大の違いはユーザー体験です。Turnstile は画像選択などのパズルを原則出さず、自動で判定が完了します。また行動追跡を前提としない設計のためプライバシー面の説明がしやすく、基本無料で利用できます。
スパムは完全になくなりますか?
いいえ、ゼロにはなりません。弊社でも月数件は通過しています。ボット対策は「完全に止める」より「本物の問い合わせを落とさずに、大幅に減らす」バランスが重要で、どこまで厳しくするかはサイトの性質に合わせた設計判断になります。
AI検索のクローラーまでブロックしてしまいませんか?
Turnstile は問い合わせフォームの送信だけを検証する仕組みなので、AIクローラーによるサイトの閲覧・巡回には影響しません。AI検索に見つけてもらう対策(AEO)と両立できます。

ご相談お待ちしております。

栃木県でアプリ開発・システム開発の会社をお探しの方、Web サイトや業務システムを長く安心して任せられるパートナー企業を探している方へ。 フォームスパムにお困りのサイトへの Turnstile 導入はもちろん、サイト制作・業務システム・アプリ開発まで、システムデザインワークスが一貫して対応します。

弊社は今回のように、自社サイトで実際に運用して効果を確かめたうえでご提案するスタイルです。「うちのフォーム、スパムだらけで困っている」といったご相談からで構いません。お気軽にお問い合わせフォームよりご連絡ください。