
Contact Form 7を導入したWordPressサイトでは、お問い合わせフォームがないページでもJavaScriptやCSSが読み込まれることがあります。ページ数が多いサイトほど影響が大きくなり、PageSpeed Insightsで「未使用のJavaScript」や「レンダリングを妨げるリソース」として指摘されるケースもあります。
Contact Form 7を使っているWordPressサイトで、PageSpeedのスコアが低くて困っていませんか?
原因の一つがreCAPTCHAの読み込みの可能性があります。
現場で実際にやっている対処法をまとめます!
reCAPTCHAが全ページで読み込まれる問題
Contact Form 7にreCAPTCHAを設定すると、フォームが設置されていないページにもreCAPTCHAのスクリプトが読み込まれます。
これがPageSpeedのスコアを下げる原因になります。
実際にこの対応をしたサイトでは
モバイル34点→54点(+20点)
デスクトップ34点→84点(+50点)
という改善が出ました。
functions.phpに追加するだけで解決
php// reCAPTCHAをコンタクトページ以外で読み込まないadd_filter( 'wpcf7_load_js', '__return_false' );add_filter( 'wpcf7_load_css', '__return_false' );add_action( 'wp_enqueue_scripts', function() {if ( is_page( 'contact' ) ) {wpcf7_enqueue_scripts();wpcf7_enqueue_styles();}});is_page( ‘contact’ ) の部分は
メールフォームの表示ページのスラッグに合わせて変更してくださいね!
注意点
フォームが複数ページにある場合はis_page( array( ‘contact’, ‘inquiry’ ) ) のように配列で複数指定できます。
また、CF7のバージョンによって関数名が変わっている場合があるので動作確認は必ずしてくださいね!
まとめ
- reCAPTCHAは必要なページだけで読み込む
- PageSpeedのスコアが改善する
- Core Web Vitalsの評価も上がる
小さな対応ですが、表示速度やPageSpeedの改善につながるケースは意外と多いです!
困ったら相談してね!