reCAPTCHAの設定方法
FormNestでは、GoogleのreCAPTCHAサービスを使用してスパムを防止できます。この記事では、reCAPTCHAの設定方法を詳しく解説します。
reCAPTCHAとは
reCAPTCHAは、Googleが提供する無料のスパム防止サービスです。フォームへの自動送信やボットによる攻撃を防ぐために使用されます。
主な特徴:
- Googleが提供する無料のスパム防止サービス
- 複数のバージョンに対応(v2、v2 Invisible、v3)
- ユーザーに優しいインターフェース
- 高度な機械学習によるボット検出
- フォーム送信前に自動的に検証
💡 ヒント: reCAPTCHAを有効にすると、スパムメールや自動送信を大幅に減らすことができます。
reCAPTCHAのバージョン
FormNestでは、以下の3つのreCAPTCHAバージョンに対応しています:
reCAPTCHA v2(チェックボックス)
ユーザーが「私はロボットではありません」のチェックボックスをクリックするタイプです。
特徴:
- ユーザーが明示的にチェックボックスをクリックする必要がある
- 場合によっては画像認証が表示される
- 最も一般的で、多くのサイトで使用されている
- テーマ(ライト/ダーク)とサイズ(ノーマル/コンパクト)を選択可能
推奨: 一般的なフォームに適しています。
reCAPTCHA v2(Invisible)
ユーザーが何も操作しなくても、バックグラウンドで自動的に検証されるタイプです。
特徴:
- ユーザーに追加の操作が不要
- フォーム送信時に自動的に検証
- 疑わしい場合のみ、追加の認証が表示される
- ユーザー体験が向上
推奨: ユーザー体験を重視したい場合に適しています。
reCAPTCHA v3(スコアベース)
ユーザーの行動を分析してスコアを算出し、ボットの可能性を判定するタイプです。
特徴:
- ユーザーに追加の操作が不要
- バックグラウンドで自動的にスコアを算出
- スコアに基づいて送信を許可/拒否
- 最小スコアを設定可能(0.0-1.0)
- Google Analyticsで追跡可能
推奨: 最新の技術を使用したい場合や、ユーザー体験を最優先したい場合に適しています。
基本的な設定手順
ステップ1: Google reCAPTCHAでキーを取得
まず、Google reCAPTCHA管理コンソールでサイトキーとシークレットキーを取得します。
- Google reCAPTCHA管理コンソールにアクセス
- https://www.google.com/recaptcha/admin にアクセス
- Googleアカウントでログイン
- 新しいサイトを登録
- 「+」ボタンをクリックして新しいサイトを追加
- ラベル(サイト名)を入力
- 使用するreCAPTCHAバージョンを選択(v2、v2 Invisible、v3)
- ドメインを入力(例:
example.com、www.example.com) - 複数のドメインを登録する場合は、改行で区切る
- 利用規約に同意
- 利用規約を確認して同意
- 「送信」ボタンをクリック
- キーをコピー
- サイトキー(Site Key)をコピー
- シークレットキー(Secret Key)をコピー
- ⚠️ 重要: シークレットキーは他人に知られないように注意してください
⚠️ 注意:
- reCAPTCHA v2とv3では、サイトキーとシークレットキーが異なります
- 使用するバージョンに対応するキーを取得してください
- ドメインは、実際にフォームを表示するサイトのドメインを入力してください
- ローカル開発環境(
localhost)でも使用できます
ステップ2: FormNestの設定画面を開く
- WordPress管理画面で「FormNest」→「設定」をクリック
- 設定画面が表示されます
ステップ3: reCAPTCHAを有効にする
- 「reCAPTCHAを有効化」にチェックを入れる
- チェックを入れると、reCAPTCHAの設定項目が表示されます
ステップ4: reCAPTCHAバージョンを選択
- 「reCAPTCHAバージョン」から使用するバージョンを選択:
- reCAPTCHA v2(チェックボックス)
- reCAPTCHA v2(Invisible)
- reCAPTCHA v3(スコアベース)
- 選択したバージョンに対応する設定項目が表示されます
⚠️ 重要: 選択したバージョンに対応するキーを入力してください。v2とv3ではキーが異なります。
ステップ5: サイトキーとシークレットキーを入力
- 「サイトキー」フィールドに、Google reCAPTCHA管理コンソールで取得したサイトキーを貼り付け
- 「シークレットキー」フィールドに、Google reCAPTCHA管理コンソールで取得したシークレットキーを貼り付け
- シークレットキーは、デフォルトで非表示になっています。「表示/非表示」ボタンで表示/非表示を切り替えられます
ステップ6: バージョン別の設定
選択したバージョンに応じて、以下の設定を行います:
reCAPTCHA v2(チェックボックス)の場合
- テーマ:ライトまたはダークを選択
- サイズ:ノーマルまたはコンパクトを選択
reCAPTCHA v3(スコアベース)の場合
- 最小スコア:0.0から1.0の間で設定(デフォルト:0.5)
- 0.0:ボットの可能性が高い
- 1.0:人間の可能性が高い
- 推奨値:0.5(デフォルト)
- アクション名:Google Analyticsで追跡する際のアクション名(デフォルト:submit)
ステップ7: 設定を保存
- すべての設定を入力したら、「設定を保存」ボタンをクリック
- 設定が保存されます
各設定項目の詳細
reCAPTCHAを有効化
reCAPTCHA機能を有効にするかどうかを設定します。
設定方法:
- チェックを入れると、すべてのフォームでreCAPTCHAが有効になります
- チェックを外すと、reCAPTCHAは無効になります
reCAPTCHAバージョン
使用するreCAPTCHAのバージョンを選択します。
選択肢:
- reCAPTCHA v2(チェックボックス):一般的なチェックボックスタイプ
- reCAPTCHA v2(Invisible):非表示タイプ
- reCAPTCHA v3(スコアベース):スコアベースの最新バージョン
💡 ヒント: 初めて使用する場合は、reCAPTCHA v2(チェックボックス)を推奨します。
サイトキー
Google reCAPTCHA管理コンソールで取得したサイトキーを入力します。
設定方法:
- Google reCAPTCHA管理コンソールで取得したサイトキーを貼り付け
- サイトキーは公開されても問題ありません
⚠️ 注意: 選択したバージョンに対応するサイトキーを入力してください。v2とv3ではキーが異なります。
シークレットキー
Google reCAPTCHA管理コンソールで取得したシークレットキーを入力します。
設定方法:
- Google reCAPTCHA管理コンソールで取得したシークレットキーを貼り付け
- シークレットキーはデフォルトで非表示になっています
- 「表示/非表示」ボタンで表示/非表示を切り替えられます
⚠️ 重要: シークレットキーは他人に知られないように注意してください。公開されると、セキュリティ上の問題が発生する可能性があります。
テーマ(reCAPTCHA v2のみ)
reCAPTCHAウィジェットの色テーマを選択します。
選択肢:
- ライト:明るい背景に適したテーマ
- ダーク:暗い背景に適したテーマ
💡 ヒント: サイトのデザインに合わせて選択してください。
サイズ(reCAPTCHA v2のみ)
reCAPTCHAウィジェットのサイズを選択します。
選択肢:
- ノーマル:標準サイズ
- コンパクト:小さめのサイズ
💡 ヒント: フォームのレイアウトに合わせて選択してください。
最小スコア(reCAPTCHA v3のみ)
reCAPTCHA v3で送信を許可する最小スコアを設定します。
設定方法:
- 0.0から1.0の間で設定
- デフォルト値:0.5
- スコアがこの値未満の場合、送信が拒否されます
スコアの目安:
- 0.0-0.3:ボットの可能性が高い
- 0.3-0.7:疑わしい
- 0.7-1.0:人間の可能性が高い
💡 ヒント: 最小スコアを高く設定すると、より厳格なスパム防止になりますが、正当なユーザーがブロックされる可能性もあります。デフォルトの0.5を推奨します。
アクション名(reCAPTCHA v3のみ)
reCAPTCHA v3で使用するアクション名を設定します。
設定方法:
- アクション名を入力(デフォルト:submit)
- Google Analyticsで追跡する際に使用されます
- 複数のフォームで異なるアクション名を設定することで、フォームごとに追跡可能
使用例:
submit:デフォルトcontact_form:お問い合わせフォームnewsletter_signup:ニュースレター登録フォーム
reCAPTCHAの動作
reCAPTCHA v2(チェックボックス)の動作
- フォームにreCAPTCHAウィジェットが表示される
- ユーザーが「私はロボットではありません」のチェックボックスをクリック
- Googleが自動的に検証を実行
- 疑わしい場合のみ、画像認証が表示される
- 検証が成功すると、フォーム送信が可能になる
reCAPTCHA v2(Invisible)の動作
- フォームにreCAPTCHAウィジェットは表示されない(非表示)
- ユーザーがフォーム送信ボタンをクリック
- バックグラウンドで自動的に検証が実行される
- 疑わしい場合のみ、追加の認証が表示される
- 検証が成功すると、フォーム送信が実行される
reCAPTCHA v3(スコアベース)の動作
- フォームにreCAPTCHAウィジェットは表示されない
- ユーザーがフォームを操作している間、バックグラウンドでスコアが算出される
- ユーザーがフォーム送信ボタンをクリック
- スコアが最小スコア以上の場合、フォーム送信が実行される
- スコアが最小スコア未満の場合、フォーム送信が拒否される
設定のテスト
設定が正しく動作しているかテストできます。
テスト方法
- 設定画面で「設定を保存」をクリック
- フォームを表示するページにアクセス
- フォームにreCAPTCHAが表示されているか確認
- フォームを送信して、正常に動作するか確認
確認ポイント:
- reCAPTCHAウィジェットが正しく表示されているか(v2の場合)
- フォーム送信時にエラーが発生しないか
- 検証が正常に動作しているか
よくある設定例
例1: 基本的な設定(reCAPTCHA v2)
設定:
- reCAPTCHAを有効化:✓
- reCAPTCHAバージョン:reCAPTCHA v2(チェックボックス)
- サイトキー:Google reCAPTCHA管理コンソールで取得したv2のサイトキー
- シークレットキー:Google reCAPTCHA管理コンソールで取得したv2のシークレットキー
- テーマ:ライト
- サイズ:ノーマル
メリット:
- 最も一般的で、多くのサイトで使用されている
- 設定が簡単
- ユーザーに分かりやすい
例2: ユーザー体験を重視した設定(reCAPTCHA v2 Invisible)
設定:
- reCAPTCHAを有効化:✓
- reCAPTCHAバージョン:reCAPTCHA v2(Invisible)
- サイトキー:Google reCAPTCHA管理コンソールで取得したv2 Invisibleのサイトキー
- シークレットキー:Google reCAPTCHA管理コンソールで取得したv2 Invisibleのシークレットキー
メリット:
- ユーザーに追加の操作が不要
- ユーザー体験が向上
- 疑わしい場合のみ追加の認証が表示される
例3: 最新技術を使用した設定(reCAPTCHA v3)
設定:
- reCAPTCHAを有効化:✓
- reCAPTCHAバージョン:reCAPTCHA v3(スコアベース)
- サイトキー:Google reCAPTCHA管理コンソールで取得したv3のサイトキー
- シークレットキー:Google reCAPTCHA管理コンソールで取得したv3のシークレットキー
- 最小スコア:0.5
- アクション名:submit
メリット:
- ユーザーに追加の操作が不要
- 最新の機械学習技術を使用
- Google Analyticsで追跡可能
- スコアに基づいて柔軟に判定
トラブルシューティング
問題1: reCAPTCHAが表示されない
原因と解決方法:
- reCAPTCHAが有効になっていない
- 設定画面で「reCAPTCHAを有効化」にチェックが入っているか確認
- 設定を保存する必要がある
- サイトキーが正しく設定されていない
- サイトキーが正しく入力されているか確認
- サイトキーに余分なスペースが含まれていないか確認
- ドメインが登録されていない
- Google reCAPTCHA管理コンソールで、サイトのドメインが登録されているか確認
- 登録されていない場合は、ドメインを追加
- JavaScriptが無効になっている
- ブラウザのJavaScriptが有効になっているか確認
- 他のJavaScriptエラーがないか確認
問題2: フォーム送信時にエラーが発生する
原因と解決方法:
- シークレットキーが正しく設定されていない
- シークレットキーが正しく入力されているか確認
- シークレットキーに余分なスペースが含まれていないか確認
- バージョンとキーが一致していない
- 選択したバージョンに対応するキーが入力されているか確認
- v2とv3ではキーが異なります
- サーバーがGoogleのAPIに接続できない
- サーバーのファイアウォール設定を確認
- サーバーが
https://www.google.com/recaptcha/api/siteverifyにアクセスできるか確認
問題3: reCAPTCHA v3でスコアが低すぎる
原因と解決方法:
- 最小スコアが高すぎる
- 最小スコアを下げる(例:0.5から0.3に変更)
- ただし、スコアを下げすぎると、スパムが通過する可能性があります
- ユーザーの行動が疑わしい
- VPNを使用している場合、スコアが低くなる可能性があります
- ユーザーに通常の方法でアクセスしてもらう
問題4: 画像認証が頻繁に表示される(v2)
原因と解決方法:
- ユーザーの行動が疑わしい
- VPNを使用している場合、画像認証が表示される可能性があります
- ユーザーに通常の方法でアクセスしてもらう
- IPアドレスがブラックリストに登録されている
- IPアドレスがGoogleのブラックリストに登録されている可能性があります
- 時間をおいて再度試す
ベストプラクティス
1. バージョンの選択
- 一般的なフォーム:reCAPTCHA v2(チェックボックス)を推奨
- ユーザー体験を重視:reCAPTCHA v2(Invisible)またはv3を推奨
- 最新技術を使用:reCAPTCHA v3を推奨
2. キーの管理
- シークレットキーは安全に管理:他人に知られないように注意
- バージョンとキーを一致させる:選択したバージョンに対応するキーを使用
- 定期的にキーを確認:Google reCAPTCHA管理コンソールでキーの状態を確認
3. スコアの設定(v3)
- デフォルト値を使用:最小スコアは0.5を推奨
- 必要に応じて調整:スパムが多い場合は上げる、正当なユーザーがブロックされる場合は下げる
- 定期的に確認:スコアの分布を確認して、適切な値を設定
4. テストの実施
- 設定後に必ずテスト:フォームが正常に動作するか確認
- 複数の環境でテスト:本番環境と開発環境の両方で確認
- ユーザー体験を確認:実際のユーザーが使用する状況を想定して確認
よくある質問
Q: reCAPTCHAを無効にできますか?
A: はい、可能です。設定画面で「reCAPTCHAを有効化」のチェックを外すと、reCAPTCHAは無効になります。
Q: 複数のフォームで異なるreCAPTCHA設定を使用できますか?
A: 現在のバージョンでは、すべてのフォームで同じreCAPTCHA設定が使用されます。フォームごとに異なる設定を使用する機能は、今後のバージョンで追加予定です。
Q: reCAPTCHA v2とv3の違いは何ですか?
A: reCAPTCHA v2は、ユーザーがチェックボックスをクリックする必要があります。reCAPTCHA v3は、バックグラウンドで自動的にスコアを算出し、ユーザーに追加の操作は不要です。
Q: ローカル開発環境(localhost)でも使用できますか?
A: はい、可能です。Google reCAPTCHA管理コンソールで、localhostをドメインとして登録してください。
Q: シークレットキーが漏洩した場合、どうすればよいですか?
A: Google reCAPTCHA管理コンソールで、シークレットキーを再生成してください。その後、FormNestの設定画面で新しいシークレットキーを入力してください。
Q: reCAPTCHAが動作しない場合、どうすればよいですか?
A: まず、設定が正しく入力されているか確認してください。問題が解決しない場合は、サーバーのファイアウォール設定やJavaScriptのエラーを確認してください。
まとめ
reCAPTCHAの設定により、スパムメールや自動送信を大幅に減らすことができます。
設定のポイント:
- Google reCAPTCHA管理コンソールでキーを取得
- 使用するバージョンを選択(v2、v2 Invisible、v3)
- 選択したバージョンに対応するキーを入力
- バージョン別の設定を行う
- 設定後にテストを実施して、正常に動作するか確認
詳細な設定方法については、「基本的なフォームの作成方法」の記事を参照してください。問題が解決しない場合は、ヘルプページの「よくある問題と解決方法」セクションを確認するか、サポートにお問い合わせください。
