reCAPTCHAを入れてもスパムが止まらない原因と対処|送信できない・CVが減った時の切り分け
問い合わせフォームにreCAPTCHAを入れたのにスパムが止まらない、逆に送信できなくなった時の原因を、人力スパム・サーバー検証欠落・しきい値・実装競合の4系統で切り分け。v2/v3の違いとCV(問い合わせ)を落とさない設定手順、ハニーポット併用やTurnstileへの乗り換え判断まで当日中に対処できる実務手順で解説します。
この記事のポイント
- reCAPTCHAはボット対策専用の仕組みで、人力スパムは原理的に防げません。
- スパムが減らない主因はサーバーサイド検証の欠落としきい値設定の緩さです。
- v3導入後に問い合わせが減った場合、スコアのしきい値を0.3〜0.7で段階調整するのが定石です。
- ハニーポットを最初の層に置けばCVを犠牲にせずボットの大半を捕捉できます。
- reCAPTCHAで詰んだ場合、Cloudflare Turnstileへの乗り換えも現実的な選択肢です。
reCAPTCHAを入れたはずなのに、問い合わせフォームに同じような英文スパムが毎朝届いている。あるいは逆に、ある日を境に問い合わせそのものがぱたりと減った——このどちらかで検索にたどり着いた方が多いはずです。実はこの二つ、原因は別物ではありません。reCAPTCHAの設計思想を理解しないまま「入れただけ」で終わらせていることが、両方の症状を引き起こしています。
結論を先に言うと、スパムが止まらない場合は人力スパム・サーバー検証欠落・しきい値の緩さのいずれか、送信できなくなった場合は実装競合かしきい値の締めすぎが原因です。この記事では両方を1本の診断フローで切り分け、CV(問い合わせ数)を落とさずに直す手順まで示します。

reCAPTCHAを入れてもスパムが止まらないのはなぜ?
reCAPTCHAを設置してもスパムが止まらない原因は、人力スパム・サーバー検証欠落・しきい値の緩さ・ボットの高度化という4系統に大別できます。まずこの前提を押さえないと、どこをいじっても効果が出ません。
reCAPTCHAが防げるのはボットだけ(人力スパムは素通りする)
Google reCAPTCHA v3とは、ユーザーの行動パターンから機械的な操作かどうかをスコアリングし、ボットらしさを判定するGoogleの認証サービスです。あくまで自動化されたスクリプトを弾く仕組みであり、人間が実際にキーボードでフォームを入力して送ってくるスパムは検知の対象外です。海外のマーケティングツール企業Clearoutのブログ記事では、reCAPTCHA単体では人力で送られてくるスパムリードを止められないと明確に指摘されています。日本語の解説記事はボット前提で書かれているものが大半で、この「そもそも人力かどうか」という分岐が抜け落ちがちです。
v3のトークンをサーバー側で検証していない実装ミス
もう一つの本丸は、reCAPTCHA v3のトークンを取得しているだけで、サーバー側でシークレットキーを使った検証を行っていないケースです。WordPress実務系のブログAditya R Sharmaの記事でも、フロントでトークンを発行するだけの実装ではスコアが一切機能せず、結果としてスパムが素通りすると解説されています。プラグインの初期設定を終えただけで満足してしまうと、この検証漏れに気づけません。
しきい値が緩すぎる・高度なボットによる突破
サーバー検証が正しく動いていても、スコアのしきい値が緩すぎれば低品質なボットも通過します。加えて近年のボットは人間らしい挙動を模倣する精度が上がっており、reCAPTCHA単体では突破されるケースも増えています。
まずやる切り分け:届いているスパムはボット型か人力型か
スパムの届き方を見比べて切り分ける
対処を決める前に、届いているスパムがボット型か人力型かを見極める必要があります。この判定を誤ると、しきい値を締めても人力スパムは減らず、逆に正規ユーザーを弾くだけの結果になります。
ボット型スパムの見分け方(定型文・URL羅列・深夜連投)
ボット型は本文が定型文で、リンクが不自然に羅列され、深夜や早朝に短時間で連投される傾向があります。送信元IPが海外の特定レンジに偏っていることも多く、ログを見れば比較的すぐに判別できます。
人力型スパムの見分け方と現実的な対処
人力型は文面に多少の個別性があり、送信間隔も人が操作しているペースになります。営業目的の売り込みメールなどがこれにあたり、技術的な検知だけでは減らせません。キーワードフィルタで文面の傾向を弾く、返信不要な内容は個別対応せず定型文で処理する、といった運用面での対処が現実的です。
切り分け結果別の対処マップ
| 判定結果 | 主な原因 | 有効な対処 |
|---|---|---|
| ボット型が大半 | 検証欠落・しきい値の緩さ | サーバー検証の実装確認、しきい値調整 |
| 人力型が混在 | reCAPTCHAの守備範囲外 | ハニーポット、キーワードフィルタ、運用対処 |
| 両方混在 | 多層防御の未整備 | 手順を層で組み直す(後述) |
reCAPTCHA v2とv3の違い|どちらを使うべきか
reCAPTCHA v2はユーザーにチェックボックス操作や画像選択を求める方式、v3は無操作でスコアを算出する方式です。どちらもGoogleが提供するボット判定サービスですが、CV(問い合わせ)への影響の出方がまったく異なります。
v2:ユーザーに操作を求める分、離脱コストがある
v2はチェックを入れる、あるいは画像パズルを解くという一手間が発生します。この操作自体が離脱の引き金になり得ます。
v3:無操作だが誤判定で正規ユーザーを弾くリスク
v3はユーザーに何も求めない代わりに、スコアが低いと正規ユーザーの送信までブロックしてしまう誤判定のリスクを抱えます。特にVPN利用者や社内ネットワーク経由のアクセスはスコアが下がりやすいと言われています。
海外試算に見るCV損失の目安と選択フレーム
比較検証系ブログのSplitFormsでは、v3の誤判定によるCV損失は概ね1〜2%、v2のチェックボックス操作による離脱は3〜5%という海外の実測系試算が紹介されています。一方でハニーポットはユーザーに見えない仕組みのためCV影響はほぼゼロで、ボットの8〜9割を捕捉できるとされています。日本のサイトでもこの数字をそのまま鵜呑みにする必要はありませんが、「スパム対策は強めるほどCVを削る交換関係にある」という考え方自体は広告費を払って集客している事業者にとって重要な判断軸になります。
| 方式 | ユーザー操作 | CV影響の目安(海外試算) | ボット捕捉力 |
|---|---|---|---|
| ハニーポット | なし | ほぼゼロ | 高い(単純ボット中心) |
| v3(スコア型) | なし | 1〜2%程度 | 中〜高(誤判定リスクあり) |
| v2(チェックボックス型) | あり | 3〜5%程度 | 高い |
reCAPTCHA導入後に送信できなくなった時の直し方
送信できない原因をひとつずつ潰す
送信できない、あるいは「スパムと判定されました」というエラーが出る場合、原因はキー設定・プラグイン競合・しきい値の締めすぎのいずれかにほぼ絞られます。順に潰していけば当日中に解決できることがほとんどです。
キー設定・バージョン不一致・プラグイン競合の確認
まず確認すべきは、サイトキーとシークレットキーが正しいドメインで発行されたものか、v2用の設定にv3のキーを入れていないかという点です。Contact Form 7では、プラグイン側とreCAPTCHA側でバージョンが一致していないと検証自体が失敗します。次にセキュリティ系プラグインやキャッシュ系プラグインとの競合を疑います。
テーマのJS非同期読み込みがgrecaptchaを壊すケース
見落とされがちなのが、テーマ側でJavaScriptを非同期(async/defer)読み込みに変更した際に、grecaptchaのオブジェクトが期待するタイミングで生成されず、フォーム側から呼び出せなくなるケースです。これは実装上の競合であり、ブラウザの開発者ツールでコンソールエラーを確認すれば気づけます。この種のスクリプト競合を洗い出す手順は、タグが発火しない時の切り分けチェックリストで紹介しているデバッグ手順とほぼ同じです。
v3スコアしきい値の調整とContact Form 7での設定場所
Contact Form 7の場合、reCAPTCHAのしきい値は統合設定内の該当項目で調整できます。デフォルトの0.5から急に0.7や0.8まで締めると、正規ユーザーまで弾かれて「送信できない」という問い合わせが増えます。締める場合は0.1刻みで様子を見るのが安全です。
CVを落とさずスパムを止める設定手順
スパム対策は摩擦のない層から順に積み、reCAPTCHAは最後の砦として使うのが多層防御の基本です。WPFormsのガイドでも、ハニーポットからキーワード・国別フィルタまでを層として重ねる考え方が整理されています。ここでは実務で動かせる順番に並べます。
手順1〜2:ハニーポット併用とサーバーサイド検証の確認
まずハニーポット(ユーザーには見えない入力欄を仕込み、ボットだけがそこを埋めて送信することを利用した検知手法)をフォームに追加します。次に、reCAPTCHAのトークンがサーバー側で正しく検証されているかをログで確認します。ここが抜けていると、以降の調整はすべて無意味になります。
手順3〜4:v3しきい値の段階調整と誤判定時の救済導線
サーバー検証が確認できたら、しきい値を0.5から0.1刻みで調整しながら残スパム量と誤判定の苦情を観察します。あわせて、スコアが低く弾かれた場合に電話番号やメールアドレスへの直接連絡先を表示するなど、正規ユーザーが行き場を失わない救済導線を用意しておきます。
手順5:問い合わせ数の前後比較でCV影響を検証する
設定変更の前後で問い合わせ数を比較し、想定外の減少がないかを確認します。この工程は単発で終わらせず、フォーム全体のCV率診断とセットで見直すと精度が上がります。問い合わせフォームのCV率診断と改善の優先順位で扱っている優先順位の考え方は、この検証フェーズにそのまま接続できます。
reCAPTCHAで防げない時の追加対策と代替手段
reCAPTCHAとハニーポットを併用してもなお人力スパムや誤判定に悩まされる場合、防御層を追加するか、reCAPTCHA自体を乗り換えるかの二択になります。
Akismet・キーワードフィルタ・国別制限の使いどころ
Akismetとは、WordPress向けに提供されているスパムフィルタリングサービスで、コメントやフォーム投稿の内容を解析してスパム判定を行います。人力スパムの一部にも有効で、キーワードフィルタや国別アクセス制限と組み合わせると効果が高まります。海外向けにビジネスを展開していないサイトであれば、国別制限は比較的導入しやすい層です。
Cloudflare Turnstileへの乗り換え判断(無料・無制限・軽量)
Cloudflare Turnstileとは、Cloudflareが提供する無料のボット判定サービスで、reCAPTCHAと違って利用回数の上限がなく、ユーザーデータの広告利用も行われません。海外の比較記事では、検知精度そのものはreCAPTCHAがやや優位、プライバシーと軽さはTurnstileが優位という棲み分けが定番になりつつあると紹介されています。reCAPTCHAの無料枠(月間の判定回数上限)に近づいている、あるいは誤判定対応に手を焼いているサイトにとっては、現実的な乗り換え先になります。ただし日本語圏ではTurnstileの認知がまだ低く、社内稟議や既存プラグインとの互換性は個別に確認したほうが安全です。
広告流入の受け皿としてフォームを守る運用チェック
広告費をかけてLPに集客している場合、フォームの不具合や過剰なブロックはそのまま広告費の無駄打ちにつながります。ボットトラフィックの混入は流入経路の数字の不一致としても表れることがあり、広告クリックとセッションが合わない原因の切り分けで扱っている論点とも重なります。定期的にフォームの送信テストを行い、広告の受け皿が正常に機能しているかを確認する運用が欠かせません。また、人力の低質リードそのものを減らしたい場合は、フォーム設計の側から絞り込む方法もあります。質の低いリードをフォーム設計で減らす三層スクリーニングは、reCAPTCHAでは防げない領域を設計で補う考え方として参考になります。
よくある質問
Q:reCAPTCHAを設置したのにスパムメールが来るのはなぜですか? 主な原因は二つです。一つはreCAPTCHAが人力で入力されるスパムを検知できない仕様であること、もう一つはv3のトークンをサーバー側で検証していない実装漏れです。まず届いているスパムがボット型か人力型かを見分け、本記事の切り分けフローに沿って対処してください。
Q:reCAPTCHA v3のしきい値(スコア)はいくつに設定すべきですか? デフォルトの0.5を起点に、誤判定の苦情が出れば0.3〜0.4へ緩め、残スパムが多ければ0.6〜0.7へ締めるという段階調整が基本です。一気に極端な値へ変更せず、0.1刻みで様子を見ながら動かすことをおすすめします。
Q:reCAPTCHAを入れたら問い合わせが減った気がします。CVに影響しますか? 影響する可能性はあります。v2はチェックボックス操作という手間そのものが離脱要因になり、v3は誤判定で正規ユーザーの送信をブロックすることがあります。海外の試算ではv2で3〜5%、v3で1〜2%程度のCV損失があるとされており、設定変更の前後で問い合わせ数を比較して検証するのが確実です。
Q:Contact Form 7でスパム判定され送信できない時はどうすればいいですか? まずサイトキーとシークレットキーの再設定を確認し、次にセキュリティ系・キャッシュ系プラグインとの競合を疑います。それでも解決しない場合はテーマのJavaScript読み込み方式(async/defer)がgrecaptchaの生成タイミングを壊していないかを確認し、最後にv3のしきい値を見直すという順番で潰していきます。
Q:reCAPTCHA以外のスパム対策にはどんな方法がありますか? 摩擦の低い順に、ユーザーに見えないハニーポット、WordPress向けのAkismet、そしてreCAPTCHAの代替となるCloudflare Turnstileが挙げられます。ハニーポットとreCAPTCHA(またはTurnstile)を併用し、人力スパムにはキーワードフィルタや運用対処を組み合わせる多層構成が実務では現実的です。
問い合わせフォームのスパム対策は、技術的な検証漏れの確認から始めて、CVへの影響を数字で見ながら層を積み直す作業になります。真策堂では、広告運用で獲得した流入をフォームがきちんと受け止められているかという観点から、こうしたスパム対策とCV診断をあわせてご相談いただくケースが増えています。設定の切り分けに迷った際は、お気軽にお問い合わせください。
- LP改善・CRO
記事LPは使うべきか?直LPとの使い分け判断・媒体ポリシーリスク・CVR比較検証の実務設計
記事LP(クッションページ)を導入すべきか迷う方向けに、直LPとの使い分けを商材・トラフィック温度・運用体制の3軸で判断するフレームを解説。Google・Meta広告のポリシー違反の線引き、初回CVRだけに頼らないリード品質までの比較検証設計を実務視点で体系化します。
- LP改善・CRO
BtoB問い合わせLPの「質の低いリード」を減らすフォーム設計実務|三層スクリーニング設計フレーム
BtoB問い合わせLPに質の低いリードが混入する原因を解説し、LP文言・フォーム項目・サンクスページの三層スクリーニング設計で事前に絞り込む実務手順を体系化。CVRとのトレードオフ試算の考え方からGA4×CRM連携によるリード品質の定量測定まで一気通貫で解説します。
- LP改善・CRO
LP表示速度がCV率に与える影響|Core Web Vitals改善と広告成果への投資優先順位フレーム
LP表示速度とCV率の定量的関係から、Core Web Vitals(LCP・INP・CLS)がGoogle広告の品質スコアやCPAに波及するメカニズムまでを一気通貫で解説。改善施策をインパクト×実装コスト×広告成果波及度で優先順位化し、投資の損益分岐点試算方法まで実務視点で体系化します。