サイトの表示が遅い原因、Contact Form 7 の読み込みは必要な時だけに

公開日:  更新日:2018/06/12

先日、「PageSpeed Insights」を使って、運営している自分のサイトの読み込み速度を計測しました。
>> サイトの読み込み速度が気になって。実際に計ってみました

私の持っているサイトのうち、3つはほとんど同じワードプレステーマを使い、同じような構成です。
それなのに、なぜスピードがこんなに違うのか、気になっていました。

具体的には、

なぜだろう・・・わかりました!

Contact Form 7 は、そのJavaScriptと、CSSスタイルシートをすべてのページでロードしていたから

ちゃんと「PageSpeed Insights」の「最適化についての提案」をしっかり読めば、簡単にわかる話でした。

今までは、あんまり「最適化」には興味がなくて、読んだことがありませんでした。

「スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除するといいよ」と書いてあります。
JavaScriptやCSSがジャマだ、ということですね。

JavaScriptは、ほとんど使っていないはずですが・・・と不審に感じながらも続きを読んでみると、

レンダリングをブロックする JavaScript を除去してください:

  • jquery.js?ver=1.12.4
  • jquery-migrate.min.js?ver=1.4.1

何だ何だ?
なぜ、こんなものを読み込むんだ?
いったい誰だ?

次のCSS 配信を最適化してください:

  • style.css
  • styles.css?ver=5.0.2

style.cssは分かります。
私のテーマのスタイルシートです。

もうひとつの、styles.css?ver=5.0.2って何者?
誰がこんなもん、読み込んでいるんだ??

Contact Form 7 さんでしたか

はい。
読み込みの遅かった2つのサイトには、「お問い合わせ」ページがありました。
有名なプラグイン、Contact Form 7 を使っています。

作者さん、ありがとうございます。
いつも便利に、使用しております。

お世話になっているうえに、作者さんのサイトに解決のヒントまで書いてありました。
参考にしたページはこちらです。

必要な場合だけ JavaScript とスタイルシートをロードさせるには

こちらのページに、2ステップで解決方法が書かれています。

  • 「ステップ 1: すべてのページで JavaScript と CSS スタイルシートをロードしないようにする」
  • 「ステップ 2: コンタクトフォームを含んだページで JavaScript と CSS スタイルシートをロードする」

お問い合わせページ用に、phpファイルを別に作る方法ですね。
phpファイルをこれ以上増やしたくない私としては、functions.php に書くことにしましょう。

さっそくコードを作って、functions.php に追記しましょう

私がブログで Contact Form 7 を使っているのは「お問い合わせ」ページだけ。
パーマリンクは「/otoiawase/」です。

・・・英語、苦手なんです。

普通の人は「/contact/」を使うと思いますので、下記の「/otoiawase/」を「/contact/」に変更してください。
(コピペする場合には自己責任でお願いします。また十分に検証してからお使いください。)

// contact form 7 のファイルを必要な場合(/otoiawase/)だけ読み込む
function wpcf7_file_load() {
	add_filter( 'wpcf7_load_js', '__return_false' );
	add_filter( 'wpcf7_load_css', '__return_false' );
	if( is_page( 'otoiawase' ) ){
		if ( function_exists( 'wpcf7_enqueue_scripts' ) ) {
			wpcf7_enqueue_scripts();
		}
		if ( function_exists( 'wpcf7_enqueue_styles' ) ) {
			wpcf7_enqueue_styles();
		}
	}
}
add_action( 'template_redirect', 'wpcf7_file_load' );

サイトの読み込みが、すっかり速くなりました

90点以上が、当たり前に出るようになりました!

あとできそうなのは、画像の圧縮です。
う~ん、これまた気が重い・・・。

スポンサーリンク

関連記事-こちらもどうぞ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です