よこのじ(@yokonoji_work)です。
PageSpeed Insightsの評価項目に「サーバーの応答時間が遅い(TTFB)」があります。この項目に合格できない原因のひとつにサーバーの能力不足があります。しかし、月額の高いサーバーにグレードアップしなくても合格させることができるかもしれません。今回はWordPressで改善させる方法をご紹介します。
サーバーの応答時間が遅い(TTFB)とは?
TTFB(Time To First Byte)は、ブラウザがWebサーバーにリクエストを送信してから、Webサーバーが最初の1バイトの応答をブラウザに返すまでの時間です。この時間が長いとページの表示が遅れることになりますので、改善するように言われるわけです。
WordPressはサーバー側でPHPの処理によりHTMLコードが動的に生成されています。例えば、wp_head()やwp_footer()の記述位置でlinkタグやscriptタグが挿入されていることを過去記事でご紹介しました。これらのタグの数が多いとサーバーでの処理が増えるためTTFBが長くなる原因となります。
参考:jQueryのCDNをbodyで読み込む wp_headからwp_footerへの変更でWordPress高速化
その他、プラグインが増えることもサーバー側の処理が増えることになりますし、Gzip圧縮もサーバー負荷がかかる原因となります。
参考:【設定方法あり】gzip圧縮でページの読み込みが速くなる仕組み
さて、もう一度TTFBの内訳を見てみます。
- ブラウザ -> サーバーへのリクエスト
- サーバーでの処理
- サーバー -> ブラウザへのレスポンス
1,3ではネットワーク速度が影響する他、DNSルックアップのような処理が含まれます。dns-prefetchやGzipによる転送データの縮小で改善には向かうはずですが、コントロールできる部分は少ないように思います。
なお、PageSpeed Insightsにおいて「サーバーの応答時間を改善する」で表示される時間は、ネットワーク遅延が差し引かれているので評価だけを気にするのであれば1,3は関係ないかもしれません。
これは、より重要度が高いのは2のサーバー側での処理にあると言えそうです。サーバー処理速度を向上させるにはサーバーのスペックを上げることを思いつきます。しかし、共用レンタルサーバーの一般向けプランではプランが違ってもハード的な性能は同じなので、サーバースペックによる解決は現実的ではありません。
サーバーの応答時間が遅い(TTFB)の改善方法
簡単かつ費用をかけずに「サーバーの応答時間が遅い(TTFB)」を改善する方法を2つ挙げます。
- サーバーのPHPバージョンを7系に設定する
- サーバーでWordPressページのキャッシュを作成する
サーバーのPHPバージョンを7系に設定する
ブラウザからのリクエストを受け取ったサーバーは、WordPressのページを動的に生成します。このときの処理はPHPで行われます。
PHPはセキュリティや処理速度の向上のためにバージョンアップが行われていますが、バージョン5系と7系では処理速度が大きく異なります。処理内容にもよるかと思いますが、7系は5系の2倍以上の速度で処理を実行することができます。
処理速度が向上すれば、当然サーバーからのレスポンスは速くなりますので「サーバーの応答時間が遅い(TTFB)」は改善されます。古くからサーバー契約している場合には5系のままになっている可能性もありますので、サーバーの設定を確認してみてください。
- エックスサーバー:PHPのバージョンについて
- さくらのレンタルサーバー:PHPのバージョン変更
サーバーでWordPressページのキャッシュを作成する
ブラウザ側でキャッシュデータを保存して、キャッシュ済みのファイルを再ダウンロードしないことでページを高速表示させる仕組みはご存知かと思いますが、サーバー側でもキャッシュデータを保持させることができます。
これは、ブラウザからのリクエストのたびに生成しているページデータをあらかじめ保存しておき、生成済みのデータをレスポンスとして返す仕組みです。ページ生成のための処理時間を短縮することができますので、サーバーからブラウザへの応答は高速になります。
サーバーキャッシュを利用するためのプラグインはいくつかありますが、この系統のプラグインはサーバー、テーマ、他のプラグインなどとの相性によりうまく動作しないことがあるようです。そのため、いくつか試してみて相性が良いものを選択してください。
私は「Cache Enabler – WordPress Cache」を利用しています。設定はこのようにしています。
キャッシュされたデータを返すということは、ページの内容に変更があった場合には更新しないといけません。そのため、新しい投稿があった場合とプラグインの更新をした場合にはキャッシュを更新させるようにしています。
たったこれだけの簡単な設定ですが、前回の記事「WordPressの引っ越しでサーバー移転・移行するときURLのリダイレクトは必須」では80中盤のスコアが90代まで上昇しました。
さくらのレンタルサーバーのスタンダードプランで、それほどサーバースペックが高いわけではないですが、これだけのスコアが出せれば快適に閲覧してもらうことができそうです。ぜひ試してみてください。
[toggle title=”参考サイト”]
Keep Server Response Times Low
TTFBを減らし、WordPressのページ読み込み時間を改善する方法について
WordPressでサーバーの応答時間を短縮するのに”一番”効果的な方法
[/toggle]