LuxeritasにreCAPTCHA v3を設定する手順とAPIキー取得方法

ブログの読者から感想や質問を受け取るコメント欄は、読者との貴重な接点です。しかし、コメント欄を公開していると避けて通れないのがBOTによるスパム投稿です。

従来のスパム対策としては、歪んだ英数字やひらがなを入力させる画像認証、あるいは「信号機を選んでください」といった画像選択タイル(reCAPTCHA v2)が一般的でした。しかし、これらは投稿者に余計な操作を強いるため、入力の手間によってコメント送信そのものを諦めてしまう離脱要因になります。読者の負担を増やさずに悪質なBOTのみを排除する仕組みとして、バックグラウンドで挙動を自動解析する「Google reCAPTCHA v3」の導入が適しています。

目次

広告

読者の認証操作をゼロにする運用方針

スパム対策の強化にあたり、読者体験を損なわない設計を最優先としました。

本設定における目標は、「コメント投稿時に読者へ一切の認証操作(文字入力やチェックボックスのクリック、画像選択)を求めないこと」です。

WordPressテーマ「Luxeritas」にはreCAPTCHA v3との連動機能が標準搭載されているため、Google側でAPIキーを発行してテーマ側に設定するだけで、読者の利便性を維持したまま高度なスパム対策を導入できます。

reCAPTCHAのバージョン仕様とキー取得時の注意点

Google reCAPTCHAの導入で最も注意すべき点は、APIキーのバージョン互換性です。

Google reCAPTCHAには「v2(チェックボックス型 / 非表示バッジ型)」と「v3(スコア判定型)」が存在します。これらは内部仕様が完全に異なるため、v2用として発行したキーをLuxeritasのv3設定欄に登録しても認証エラーとなり動作しません。

また、APIキーにはフロントエンドで呼び出す「サイトキー(公開鍵)」と、サーバ側で検証に用いる「シークレットキー(秘密鍵)」の2種類があります。これらを取り違えずに取得し、Luxeritasの所定の項目へ正確に入力する必要があります。

google管理コンソールでのAPIキー発行手順

まずはGoogle reCAPTCHAの管理コンソールへアクセスし、サイト登録を行います。

Googleアカウントにログインした状態で、以下の登録ページを開きます。

https://www.google.com/recaptcha/admin/create

表示された登録フォームに以下の通り入力します。

  1. ラベル: 任意の識別名を入力します(例: 納戸工房 や donguri3.net)。
  2. reCAPTCHA タイプ: 必ず「reCAPTCHA v3」を選択します。
  3. ドメイン: 対象ブログのドメイン名(プロトコルやスラッシュを除いたホスト名)を入力します(例: donguri3.net)。
  4. Google Cloud Platform の利用規約: 同意のチェックボックスをオンにします。

入力が完了したら「送信」をクリックします。

Google reCAPTCHA新規登録画面(ラベル入力、reCAPTCHA v3の選択、ドメイン登録箇所)

登録が完了すると、「サイトキー」と「シークレットキー」が画面に表示されます。

サイトキーとシークレットキーの発行完了画面

これらのキーは後ほどWordPressの管理画面で使用するため、画面をそのまま残すか、メモ帳などにコピーしておきます。

Luxeritasへのキー登録とスコアしきい値の設定

キーを取得したら、WordPressの管理画面にログインしてLuxeritasへ登録します。

  1. 管理画面の左メニューから Luxeritas → カスタマイズ を開きます(または 外観 → カスタマイズ)。
  2. カスタマイザー内の コメント または reCAPTCHA 設定項目を開きます。
  3. 画像認証の選択肢から「reCAPTCHA v3」を有効化します。
  4. 先ほど取得した「サイトキー」と「シークレットキー」をそれぞれの入力欄へ貼り付けます。
  5. 「reCAPTCHA v3 判定スコア」を設定します(初期値の 0.5 のままで問題ありません)。
  6. 「公開」をクリックして設定を保存します。

LuxeritasカスタマイザーのreCAPTCHA設定画面(キー入力欄およびしきい値設定)

※判定スコアは 0.0(確実にBOT)から 1.0(確実に人間)の間で評価されます。初期値の 0.5 で運用し、もしスパムがすり抜ける場合は 0.6 や 0.7 に引き上げ、正規の投稿者が弾かれる場合は数値を下げることで調整が可能です。

コメントフォームでの動作検証とログ確認

設定保存後、正常に動作しているか検証を行います。

WordPressにログインしている状態ではreCAPTCHAの判定処理がスキップされる仕様になっているため、必ずブラウザのシークレットウィンドウを開くか、ログアウトした状態で記事のコメント欄を開きます。

コメント欄に「名前」と「本文」を入力し、送信ボタンを押します。画像認証やチェックボックスなどのUIが一切表示されず、即座にコメントが正常投稿されれば設定完了です。

像認証UIが表示されないシンプルなコメント欄

また、Google reCAPTCHAの管理コンソール(Analytics)を開くと、リクエスト数と判定されたスコアの分布グラフを確認できます。

https://www.google.com/recaptcha/admin

Google reCAPTCHA管理コンソールのリクエスト数およびスコア分布グラフ

正常に通信が行われていれば、送信テストを行った日時のリクエスト数がカウントされ、人間として判定されたスコア(0.7〜0.9付近)が記録されます。

※もし送信ボタンを押した際に「認証サーバーへの接続に失敗しました」やステータスコード「418 I’m a teapot」が表示されてコメントが送信できない場合は、テーマや自作プラグインによるフィルターフックの干渉が疑われます。その場合の詳細な原因調査と対処手順は、以下のトラブルシューティング記事を参照してください。

https://donguri3.net/server-tech/wordpress-blog-seo/luxeritas-recaptcha-v3-comment-form-fields-418/

まとめ

画像選択などの入力負担をなくしつつBOTスパムを遮断するため、LuxeritasにGoogle reCAPTCHA v3を導入しました。Google管理コンソールでv3のサイトキーとシークレットキーを取得し、Luxeritasのカスタマイザーへ登録してスコアしきい値を設定しました。ログアウト状態でのテスト投稿とGoogle管理コンソールのスコアログ確認により、読者への認証操作を一切強いることなく、安全かつ快適にコメントを受け付けられる環境を確立できました。