WordPress の設置先が HTTP/2 ウェブサーバーの注意点

130

前回、WordPress が稼働しているウェブサーバーを HTTP/2 に変更しました。

HTTP/2 環境では、ローカルブラウザと PageSpeed Insights のテスト結果から、JS(JavaScript)と CSS(Cascading Style Sheets)の連結は行わないほうが結果が良くなることが確認できました。これは主に HTTP/1.1 と HTTP/2 の仕様の違いが理由と推察しています。

HTTP/1.1 と HTTP/2 の違い

以下に仕様の違いと連結の必要有無をまとめました。

HTTP1.1HTTP/2
コネクション数と挙動同時6~8接続程度まで1つの接続で無制限に並列処理
オーバーヘッドインパクトリクエストごとに負荷がかかるヘッダー圧縮により低い
連結の必要性必須(リクエスト数低減のため)不要(並列で送信可能)

HTTP/2 のメリット

HTTP/2 環境における JS/CSS を連結しない運用上のメリットもあります。

  • 連結していない場合、キャッシュ機能が最大の効果を発揮します。ブラウザの再読み込みの際、修正がある小さなファイルだけが再ダウンロードされるため、キャッシュ機能を有効にしている WordPress では、より高速化が期待できます。
  • 連結していない場合、重要な CSS だけを先に読み込ませる機能の「制御」が細かく可能になります。連結してしまうと1つの巨大な CSS ファイルをダウンロードさせるため、ブラウザは解析を待たされてしまいます。
  • JS(JavaScript)を連結して巨大な1つのファイルにまとめると、ブラウザのメインスレッドが解析に占有され、ページ表示がフリーズするような挙動になることがあります。連結しなければこのような挙動の発生を低減できます。

そのため、著名な高速化プラグインである AutoptimizeWP-Optimize などの「JS/CSS の連結(merging)」機能は OFF を推奨します。但し、以下の機能は継続して利用する価値があります。

  • JS/CSS の最適化(不要な改行や空白を削る)【理由】ファイル数に限らず送信量を減らすために有効です。
  • 圧縮(Gzipなど)【理由】圧縮して小さいサイズでファイルを送信するために有効です。

最後に、そうは言っても、デスクトップとモバイル(スマホ)の読み込み遅延の最大の要素は「画像のサイズ」です。特にモバイル(スマホ)では表示性能の結果にとても大きく影響します。
画像は分割して送信されませんので、画像は1KB でもサイズを小さくすることは、HTTP/1.1 と HTTP/2 のどちらでも鉄則ですので、ご注意ください。

HTTP/1.1 と HTTP/2 の判別方法

移行先のウェブサーバー(ウェブサービス)が、HTTP/1.1 または HTTP/2 、最新の HTTP/3 なのか判別する方法について簡単に紹介します。

Chrome ブラウザーを例にとると、デベロッパーツールから判別する方法がありますが、少し面倒です。そこで、以下の Chrome プラグインを使用することで簡単に判別ができます。

HTTP Indicator

インストールして、プラグインを常時表示にします。その後、対象のウェブサイトにアクセスすれば、プラグインアイコンの色で簡単に判別ができます。

グレーは HTTP/1.1 です。

ブルーは HTTP/2 です。

オレンジは HTTP/3 です。

このように簡単に判別が可能です。
次回は、HTTP/3 にして、さらにパフォーマンスアップできるのか、検証したいと思います。

商品画像
makorin
  • makorin
  • AI を使用して情報を得ることが普通の時代になりました。その AI もウェブ上に公開されている情報を元にして動作しています。その情報の一つになればいいなという、極々ささやかな思いで気ままに更新しています。

コメントする

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください