masakichi-code

独学エンジニアの技術ブログ

『レンダリングを妨げるリソースの除外』でコンタクトフォーム7用のファイルを特定ページのみ読み込ませる方法

  • CSS
  • JavaScript
  • PHP
  • プラグイン

2024.05.24(金)

『PageSpeed Insightsで「レンダリングを妨げるリソースの除外」にコンタクトフォーム7用のcssとjsがある』
『特定ページにのみコンタクトフォーム用のcssとjsを読み込ませたい』

こういった疑問に答えます。

本記事の内容

  • PageSpeed Insightsでコンタクトフォーム7用のcssとjsを確認する
  • 特定ページにのみコンタクトフォーム7を読み込ませる

Webエンジニア歴2年
WordPressの運営&立ち上げ70サイト以上かかわっている

こういった私が解説していきます。

1. PageSpeed Insightsでコンタクトフォーム7用のcssとjsを確認する

  • その①:PageSpeed Insightsの「レンダリングを妨げるリソースの除外」を確認する

その①:PageSpeed Insightsの「レンダリングを妨げるリソースの除外」を確認する

実際の画像がこちら

レンダリングを妨げるリソースの除外から『style.css?ver=5.8.6』、『js/index.js?ver=5.8.6』というファイルが読み込まれているのが分かります。
表示されているファイルネームにホバーするとパスが表示されてコンタクトフォーム7のものだとわかりました。
容量は小さめですが、塵も積もればなんとやら…
読み込みさせないようにしていきます。

2. 特定ページにのみコンタクトフォーム7を読み込ませる

  • その①:functions.phpにコードを書く
  • その②:PageSpeed Insightsを確認してみる

その①:functions.phpにコードを書く

条件分岐で読み込みます

functions.phpに下記コードを記載します。

コードの補足説明をします

最初の2行でCF7のcssとjsを読み込みさせないようにします。
『__return_false』は常に『false』を返すコールバック関数ですね。

下記は特定のページでのみコンタクトフォーム7のcssとjsを読み込ませる関数です。
特定のページは『is_page(”)』で判定しています。
特定のページが複数ある場合は『if(is_page(‘contact’) || is_page(‘recruit_contact’)){』のように条件を足して行けますよ。

最後に、先ほどの関数を『wp_enqueue_scripts』のアクションフックを使って、キューに追加してあげます。

追記出来たらfunctions.phpファイルを更新します。
かならずバックアップはとっておきましょうね。

ページを更新して、問題なければ最後のステップです!

その②:PageSpeed Insightsを確認してみる

再び確認してみましょう

ここまで出来たら最後にPageSpeed Insightsを確認してみましょう。

読み込まれなくなり、330ミリ秒(0.33秒)短縮されました。
微々たる差ですねw

以上、『レンダリングを妨げるリソースの除外』でコンタクトフォーム7用のファイルを特定ページのみ読み込ませる方法をご紹介しました。
ではまた。