WordPressのreCAPTCHAの設定と対処法|表示されない・送信できない・ログインできないとき
直らないときは、無料でご相談いただけます(直らなければ料金はいただきません)。
結論:reCAPTCHA(リキャプチャ)は、お問い合わせフォームなどへの機械的な迷惑な送信を見分ける、Googleの仕組みです。Contact Form 7 では、v3 という、チェックボックスを出さずに裏側で判定する形が使われます。
うまく動かないときは、キーの種類(v2 と v3)・登録したドメイン・設定の保存を先に確かめます。ログイン画面に入れるプラグインで締め出されたときは、そのプラグインのフォルダの名前を変えると、ログインできることがあります(ログインできなくなったとき)。
目次
reCAPTCHA とは・v2 と v3 の違い
| v2 | v3 | |
|---|---|---|
| 画面 | 「私はロボットではありません」のチェックボックスや、画像を選ぶ問題が出る | 何も出さず、裏側で判定する。画面の右下などに、reCAPTCHA の小さなマーク(バッジ)が出る |
| 判定 | チェックや問題に答えられたか | サイトでの動きから、0.0〜1.0 の点数を出す(1.0 に近いほど人による操作らしい) |
| Contact Form 7 | 5.1 より前の版で使われていた | 5.1 以降はこちら |
v2 と v3 のキー(サイトキー・シークレットキー)は別のものです。v2 のキーは v3 では使えないため、Contact Form 7 で使うときは、v3 としてサイトを登録して、キーを取り直します。
Contact Form 7 に入れる手順
- Google にログインして、reCAPTCHA の管理コンソールを開き、種類に reCAPTCHA v3 を選んで、サイトのドメイン(例:
example.com)を入れて登録します。example.comを登録すると、www.example.comなどのサブドメインも含まれます。 - 登録すると、サイトキーとシークレットキーが出ます。
- WordPressの管理画面で「お問い合わせ」→「インテグレーション」を開き、reCAPTCHA の欄の「インテグレーションのセットアップ」を押します。
- 「サイトキー」と「シークレットキー」に貼り、「変更を保存」を押します。「reCAPTCHA はこのサイト上で有効化されています。」と出れば、設定できています。
- フォームから試しに送って、いつもどおり送れるか、メールが届くかを確かめます。
- v3 では、フォームに
[recaptcha]のタグを入れる必要はありません。Contact Form 7 5.1 以降では、入っていても無視されます。 - Contact Form 7 の reCAPTCHA は、フォームの無いページも含めて、サイトのページで読み込まれます。そのため、バッジはフォームの無いページにも出ます。
- キー、とくにシークレットキーは、ほかの人に見せないようにします。
- 試しのサイトでは、本番とは別のキーを使うよう、Googleは案内しています。
うまく動かないときの確かめ方
| 出ている状態 | 考えられること・確かめるところ |
|---|---|
| チェックボックスが表示されない | v3 では、チェックボックスは出ません。右下などにバッジが出ていれば、読み込まれている目安になります |
| バッジも出ない | 「インテグレーション」の画面で、有効化されているか。表示を速くするプラグインなどで、JavaScriptの読み込みを止めたり遅らせたりしていないか。バッジを隠す設定(CSS)を入れていないか |
| 送ると、オレンジの枠で「メッセージの送信に失敗しました。後でまたお試しください。」 | 迷惑な送信と判断されています(Contact Form 7 のメールの記事の「オレンジの枠」)。reCAPTCHA が読み込まれずに判定の値が空のまま送られたか、点数が Contact Form 7 の基準(初期は 0.50)を下回った可能性があります。上の表示を速くするプラグインやキャッシュの設定、ブラウザの広告ブロックなども確かめます |
| キーを保存すると「エラー: キーの値が無効です。」 | サイトキーとシークレットキーが、同じ登録の組か。前後に空白が入っていないか |
| 前は動いていたのに、送れなくなった | ドメインを変えた・サイトを引っ越した後なら、新しいドメインを管理コンソールの登録に足します(引っ越しの記事)。v2 のころのキーのままなら、v3 で登録し直します |
Flamingo を入れている場合は、迷惑と判断された送信の記録に、「reCAPTCHA の応答トークンが空です。」「reCAPTCHA スコア (…) が設定された閾値 (…) を下回っています。」のように、理由が残ることがあります(Flamingo について)。
どうしても原因が分からず、お問い合わせを受けられない状態が続くときは、「インテグレーション」の画面でキーを削除すると、reCAPTCHA の確認は止まります。止めている間は、ほかの迷惑な送信を防ぐ機能で守りながら、原因を確かめます。
ログインできなくなったとき
ログイン画面に reCAPTCHA を入れるプラグインを使っていて、キーやドメインの設定が合わないと、正しいパスワードでもログインできなくなることがあります。
- レンタルサーバーの「ファイルマネージャー」やFTPのソフトで、
wp-content/pluginsの中の、そのプラグインのフォルダの名前を変えます(例:(プラグインのフォルダ名)-off)。フォルダの名前を変えたプラグインは、動かなくなります。 - ログインして、そのプラグインの設定(キー・ドメイン・v2 か v3 か)を確かめます。
- フォルダの名前を元に戻し、「プラグイン」の画面で有効化して、ログインできるかを確かめます。
どのプラグインか分からないときの止め方は、真っ白の記事の手順3「プラグインを止めて確かめる」と同じです。ほかの原因も、ログインできないときの記事で確かめられます。
バッジを隠したいとき
Googleの案内では、reCAPTCHA を使っていることが画面の流れの中で分かるように、次の文を載せれば、バッジを隠してよいとされています。
This site is protected by reCAPTCHA.
隠すときは、CSS の .grecaptcha-badge { visibility: hidden; } を使うよう案内されています。文はフォームの近くなど、送る前に目に入る所に置きます。
使える量と、ほかの方法
reCAPTCHA は Google Cloud のサービスに移りつつあり、Googleの今の案内では、無料で使えるのは月1万回の判定までのプランがあります。お問い合わせの多いサイトや、ほかのフォームでも使っているサイトは、Googleの管理画面で使った量を確かめておきます。
Contact Form 7 は、reCAPTCHA のほかに、Cloudflare の Turnstile(ターンスタイル)にも対応しています(「インテグレーション」の画面)。
reCAPTCHA の設定のご相談
WP-ingでは、reCAPTCHA の設定や、お問い合わせフォームが送れない・ログインできないなどの不具合の修理を承っています。設定を見直しても直らないときは、お気軽にご相談ください。
よくある質問
Contact Form 7 で「私はロボットではありません」のチェックボックスを出せますか?
Contact Form 7 の標準の reCAPTCHA は v3 なので、チェックボックスは出ません。v2 を使いたいときは、別のプラグインが要ります。入れる前に、今のWordPressの版で試験されているか、更新が続いているかを確かめます。
reCAPTCHA を入れれば、迷惑な送信は来なくなりますか?
減らす助けにはなりますが、すべてを止められるとは限りません。人の手で送られるものは通ることがあります。Contact Form 7 の禁止する言葉の一覧や Akismet など、ほかの機能と組み合わせる方法もあります。