##はじめに
Googleが提供している認証システムのreCAPTCHA v3は各種フォームに導入できる強力なスパム対策ですが、デフォルトでは全てのページで読み込まれてしまいます。
この状態では、全ページでreCAPTCHA v3のバッジが表示されてしまいますし、全ページでJavaScriptファイルを読み込むので、WordPressの表示速度も遅くなってしまうという課題を抱えています。
この記事では、簡単なカスタマイズにより、WordPressに導入したreCAPTCHAを特定ページでのみ読み込む方法を紹介します。
必要なページでのみreCAPTCHA v3を読み込むようにカスタマイズすることで、スパム対策とWordPressの高速化を両立することができます。
##reCAPTCHA v3を特定ページでのみ読み込む方法
WordPressのfunction.phpに以下のコードを設置してください。
管理画面から、外観→テーマエディター→テーマファイルで編集できます。
function recaptcha_limitation() {
if ( ! is_page( 'contact' ) ) {
wp_deregister_script( 'google-recaptcha' );
}
}
add_action( 'wp_enqueue_scripts', 'recaptcha_limitation' );
is_page( 'contact' )
の部分は、reCAPTCHA v3を有効にしたいページのパーマリンクに合わせて変更してください。
上記コードは、お問い合わせフォームを設置したhttps://hogehoge.com/contact/
でのみreCAPTCHA v3を有効にする場合を想定しています。
また、該当ページが複数ある場合は、is_page( array ( 'contact1', 'contact2' ) )
のように配列で記述すればOKです。