お問い合わせフォームに reCAPTCHA を追加する方法

この記事はこんな人向けです
  • お問い合わせフォームにスパムが大量に届いて困っている(英語やロシア語の自動投稿が多い)
  • reCAPTCHA v2 と v3 の違い、Contact Form 7 / WPForms / Ninja Forms での考え方をざっくり掴みたい
  • SEOやUXを落とさずにスパム対策・セキュリティ強化を進めたい(キャッシュやCDNとの相性も気になる)

WordPressレベル別 対応難易度

Lv1 Lv2 Lv3 Lv4 Lv5 Lv6 Lv7
レベル判断は、右のレベル表(スマホは画面下)を参考にしてください。

赤:外注推奨 オレンジ:条件付き自力可 緑:自力対応可

お問い合わせフォームに 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つです。

  1. キャッシュ/最適化プラグインの除外設定… reCAPTCHAのJSを遅延/縮小しすぎると読み込み順が崩れてエラーになる可能性があります。フォームページのキャッシュやJS遅延を部分的にオフにするのが定番です。
  2. CDN/Firewallとの相性… 海外IPブロックやBOT対策が強すぎると、正規ユーザーでも判定が弾かれることがあります。WAFログを見ながら適切に緩和していきましょう。
  3. 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併用で緩和できます。
詰まったら遠回りせず、プロの初期設計に一度寄せてから内製化していくのもアリです。

この記事を書いた人
著者アイコン

桐山智行(株式会社H.T.P. 代表)

2007年よりWeb制作に従事し、現在は企業サイトやWordPressの保守・改善支援も行っています。これまで100社以上・500サイトを超える案件を担当し、トラブル対応から集客サポートまで幅広く経験しています。

その他のWordPress関連記事はこちら

  • Lv1 初心者 初心者 … ログインなど基本も不安
  • Lv2 基本操作 基本操作 … 投稿OK/更新は不安
  • Lv3 投稿メイン 投稿メイン … 記事更新・差替えはできる
  • Lv4 更新ユーザー 更新ユーザー … テーマ/プラグイン更新経験あり
  • Lv5 データ操作 データ操作 … DBやバックアップを理解
  • Lv6 カスタマイザー カスタマイザー … 子テーマ・CSS修正が可能
  • Lv7 マスター マスター … コード/サーバーまで自走可能