2.

reCAPTCHA: ERROR for site owner: Invalid site key 対処

編集
この記事の要点
  • reCAPTCHA の ERROR for site owner: Invalid site key
  • 原因の大半: サイトキー文字列の誤り / Domains 一覧に当該ドメインが未登録
  • 対処1: reCAPTCHA 管理画面で site_key / secret_key を確認、取り違えていないか確認
  • 対処2: Domains に実際の配信ドメイン(サブドメイン込み)を登録

 

エラー内容

ERROR for site owner: Invalid site key

reCAPTCHA を画面に表示しようとしたとき、reCAPTCHA ウィジェットの代わりに赤いエラーメッセージが表示されるケースです。サイトオーナー宛のメッセージで、利用者には表示されないようサーバー側で対処する必要があります。

発生条件 / 原因

  • site_key(サイトキー)が誤っている — キー文字列が間違っている/別のサイトのキーを貼り付けている
  • reCAPTCHA管理画面の Domains 一覧に、現在表示しているドメインが登録されていない
  • reCAPTCHA v2 / v3 / Invisible のバージョンが混在 — v2用キーで v3 のスクリプトを読み込んでいる等
  • Enterprise版のキーを無料版のスクリプトで使っている(またはその逆)
  • secret_key(サーバー側で使う方)を site_key 側に貼ってしまった

対処法

1. site_key の値を確認

reCAPTCHA 管理画面を開き、対象サイトの設定から サイトキー(site_key)シークレットキー(secret_key)を確認します。

  • site_key: フロントエンドの data-sitekeygrecaptcha.render で使う
  • secret_key: サーバー側で検証APIを叩くときに使う

両者を取り違えていないか必ず確認します。

2. Domains 一覧に現在のドメインが含まれているか

管理画面の対象サイト → 設定 → Domains に、HTMLが配信されているドメインが登録されているかを確認します。サブドメインで配信している場合は、そのサブドメインも追加する必要があります。

  • localhost: 開発用にlocalhostを追加することも可能
  • サブドメイン: example.com を登録すれば www.example.com 等も対象(一部例外あり)
  • IP直接: 数値IPは登録不可

3. reCAPTCHA のバージョンを合わせる

バージョンスクリプト読み込みHTML
v2 チェックボックスhttps://www.google.com/recaptcha/api.js<div class="g-recaptcha" data-sitekey="..."></div>
v2 Invisiblehttps://www.google.com/recaptcha/api.js同上 + data-size="invisible"
v3https://www.google.com/recaptcha/api.js?render=サイトキー不要(JSで grecaptcha.execute

管理画面で発行されたバージョンに合うHTML/JSを使います。

4. 実装の確認例(v2)

<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<form action="/submit" method="POST">
    <div class="g-recaptcha" data-sitekey="ここにsite_key"></div>
    <button type="submit">送信</button>
</form>

注意点

  • site_key は公開情報で漏れても問題ない。secret_key はサーバー専用、絶対にHTMLに出さない
  • ドメイン変更時は管理画面の Domains を必ず更新する
  • 本番ドメインと開発ドメインで別のキーを使い分けると安全(誤って本番キーが開発に出回るのを防げる)
  • Cloudflare等のCDN経由で複数ドメインから配信している場合、全ドメインを登録する
編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. invalid-input-response
  2. ERROR for site owner: Invalid site key