お問い合わせフォームに reCAPTCHA を追加する方法
- お問い合わせフォームにスパムが大量に届いて困っている(英語やロシア語の自動投稿が多い)
- reCAPTCHA v2 と v3 の違い、Contact Form 7 / WPForms / Ninja Forms での考え方をざっくり掴みたい
- SEOやUXを落とさずにスパム対策・セキュリティ強化を進めたい(キャッシュやCDNとの相性も気になる)
WordPressレベル別 対応難易度
赤:外注推奨 オレンジ:条件付き自力可 緑:自力対応可
お問い合わせフォームに reCAPTCHA を追加する全体像と対応方針
reCAPTCHAは「人間かボットか」を判定してスパム投稿を減らす仕組みです。
v2(チェックボックス/画像選択)と v3(スコア判定・バッジ表示)のどちらを選ぶか、フォームプラグインにどう紐づけるか、そしてキャッシュ・CDN・最適化プラグインとの相性を整えるのがカギです。
迷ったら「サイトキー/シークレットキーの取得→フォーム側で有効化→送信テスト→ログ監視と閾値調整」という流れで段階的に進めましょう。
reCAPTCHA追加 ~WordPressレベルごとのおすすめ対応
まずは「仕組みの理解」と「安全な導入」を最優先
赤レベルの方は、管理画面の操作に慣れていなくて「どこに何を入れればいいの?」となりがちです。
reCAPTCHAは Googleの管理画面でサイトキー/シークレットキーを発行し、フォームプラグイン側で設定するのが基本です。Contact Form 7(CF7)・WPForms・Ninja Forms など主要プラグインは連携機能を持っています。
ただし、キャッシュ系プラグイン(LiteSpeed Cache など)のJS遅延読み込みや、CDN(Cloudflare等)の設定しだいでバッジが表示されない、送信が失敗する、といったトラブルが起きます。
その判断は少し難易度が高いので、設定の噛み合わせに不安があるなら、外注に任せてしまうのが安全です。
やっておきたいのは、目的の整理(スパム量/言語/時間帯の傾向)と、現状のスクショや再現手順のメモの2点です。
さらに、プライバシーポリシーにreCAPTCHAの利用を追記する、利用規約の整備、同意チェックの有無など、法務・コンプラ目線も軽く確認しておくと後でスムーズです。
「画像選択が出てユーザーが離脱しないか?」と心配な場合は、v3(スコア判定)を検討しましょう。
ただしスコアの調整や誤検知の監視が必要になるため、設定自体はプロに任せるのが無難です。
プラグイン連携と「相性調整」を押さえる
普段からWordPress運用に慣れているオレンジレベルの方なら、手順さえわかれば自力導入可能です。
Google reCAPTCHA Adminでサイトを登録し、v2(チェックボックス/Invisible)か v3を選択、サイトキー/シークレットキーを取得。その後、使っているフォームプラグイン(CF7・WPForms・Ninja Forms など)にキーを設定し、対象フォームで有効化します。
このときのポイントは次の3つです。
- キャッシュ/最適化プラグインの除外設定… reCAPTCHAのJSを遅延/縮小しすぎると読み込み順が崩れてエラーになる可能性があります。フォームページのキャッシュやJS遅延を部分的にオフにするのが定番です。
- CDN/Firewallとの相性… 海外IPブロックやBOT対策が強すぎると、正規ユーザーでも判定が弾かれることがあります。WAFログを見ながら適切に緩和していきましょう。
- UI/UXへの配慮… v2は視認性が高い反面、画像選択が出ると離脱の原因になります。v3はバッジ表示が軽く、UXには優しいが、スコア調整と誤検知対応が必要です。
Contact Form 7なら「reCAPTCHA(v3)統合」をONにするだけで全フォームに適用でき、スパム対策(honeypot併用も可)と合わせて堅くできます。
WPFormsやNinja Formsもダッシュボードからキー登録→フォーム単位で有効化の流れです。
多言語サイトでは、reCAPTCHAの言語設定やバッジの位置(右下固定)に注意が必要です。
導入後は、送信ログ・スコアの傾向・離脱率をチェックします。スパムが抜けてくるようならスコアを厳しめに、誤検知が気になるなら緩めに調整し、メールヘッダーにスコアを付ける運用も有効です。
スコア設計・計測・フェイルセーフまで含めて最適化
緑レベルの方は、v3スコアの本番運用を前提に、A/B的な閾値チューニングや、バックアップ認証(フォールバック)を設計。
たとえばスコアが閾値未満なら「簡易クイズ(人間検証)」を出す、海外IPや同一UA連投はレートリミットへ回す、など多層防御にします。
合わせて、監査ログ(送信元IP/UA/リファラ/スコア/経路)を記録し、GA4/サーバーログと突き合わせて「深夜帯だけ急増」「特定国から集中」などのパターンを可視化。
CDN(Cloudflare)やホスティングのWAF(ModSecurity)とルール連携し、特定ASブロック/チャレンジを試すと効果が出やすいです。
UI面では、送信エラー時のメッセージ可読性・フォームバリデーション・アクセシビリティも最適化。Tab移動/スクリーンリーダーでの操作性を担保し、Core Web Vitals(INP/CLS)を落とさないようにJSの実行を整理します。
必要なら、reCAPTCHA Enterpriseや、代替のCloudflare TurnstileのABテストで検証するのも手です(本記事テーマはreCAPTCHAですが、比較検討の文脈で把握しておくのも良いです)。
最後に、プライバシーポリシーの明記・データ保持期間・ログの取り扱いなど、法務/セキュリティのガイドラインを更新しておくと、チーム運用でも安心して回せます。
reCAPTCHA導入を外注する場合のポイント
「設定の相性が複雑」「すぐ止めたいスパムが多い」というときは、プロに任せるのが最短です。
費用と流れ、事前準備を押さえておけば、当日中に落ち着くケースも珍しくありません。
項目 | ポイント |
---|---|
費用の目安 |
・単純なキー登録とプラグイン連携だけ: 8,000円~15,000円 ・キャッシュ/最適化/CDNの除外調整やABテスト込み: 20,000円~40,000円 ・多言語/複数フォーム/監査ログまで: 50,000円~ |
依頼の流れ |
1. 現状ヒアリング(スパム発生状況・使用プラグイン・サーバー/キャッシュ環境) 2. 見積と方針提示(v2/v3の選定、除外設定の方針、検証手順) 3. 構築/調整(キー発行→連携→テスト→閾値/除外の微調整) 4. 簡易レポート納品(設定一覧/再現手順/運用の注意点) |
準備しておくと便利 |
・WordPressログインURLとアカウント(権限/二段階認証の有無) ・使用中プラグイン/テーマ/ホスティングの情報 ・スパム発生のスクショ/原文/時間帯の傾向メモ ・キャッシュ/最適化/CDNの管理画面アクセス、または設定エクスポート |
reCAPTCHAは「入れるだけ」ではなく、環境との相性調整と運用での見直しが効いてきます。スパムの量や傾向、ユーザー体験、SEO(フォーム回りの表示速度・エラー率)を総合的に見て選択しましょう。
赤は外注で安全最優先、オレンジは連携と除外設定まで丁寧に、緑はスコア設計とログ分析で仕上げ、これが基本方針です。
「画像選択が出て離脱が…」という懸念は、v3やInvisible、honeypot併用で緩和できます。
詰まったら遠回りせず、プロの初期設計に一度寄せてから内製化していくのもアリです。