TTFBを減らしてWordPressページの読み込み時間を改善する方法
公開: 2017-01-26WordPressサイトの全体的な速度に関しては、多くの場合、フロントエンドのパフォーマンスとページの読み込み速度を向上させるための最適化に重点を置いています。 ただし、Webサイトの読み込みが最初に開始されるサーバー側から見るとよい場合があります。 今日は、 TTFB(最初のバイトまでの時間)がどのように影響するかを詳しく調べ、それを減らす方法についていくつかの簡単な方法について説明します。 TTFBは一般的に見過ごされがちなパフォーマンス要因ですが、サイトの速度をテストする際には考慮に入れる必要があります。
- TTFBとは何ですか?
- TTFBは重要ですか?
- TTFBを測定する方法
- WordPressサイトでTTFBを減らす4つの方法
TTFBとは何ですか?
TTFBは、最初のバイトまでの時間を表します。 簡単に言うと、これは、サーバーからデータの最初のバイトを受信する前にブラウザーが待機する必要がある時間の測定値です。 そのデータの取得に時間がかかるほど、ページの表示に時間がかかります。 よくある誤解は、これはDNSルックアップ時間の後に計算されるというものですが、ネットワークでのTTFBの元の計算には、常にネットワーク遅延が含まれます。 これには3ステップのプロセスが含まれ、遅延と遅延がその間のどこでも発生する可能性があり、合計でTTFBの合計になります。

1.サーバーへのリクエスト
誰かがあなたのウェブサイトにアクセスすると、最初に発生するのは、HTTPリクエストがクライアント(ブラウザ)からサーバーに送信されることです。 このステップでは、遅延を引き起こす可能性のあるさまざまな要因があります。 DNSルックアップ時間が遅いと、リクエストの時間が長くなる可能性があります。 サーバーが地理的に離れた場所にある場合、データが移動する距離に遅延が生じる可能性があります。 また、複雑なファイアウォールルールがある場合、これによりルーティング時間が長くなる可能性があります。 そして、クライアントのインターネット速度を忘れないでください。
2.サーバー処理
リクエストが送信された後、サーバーはリクエストを処理して応答を生成する必要があります。 これにより、データベース呼び出しが遅い、サードパーティのスクリプトが多すぎる、最初の応答がキャッシュされない、コードやWordPressテーマが最適化されていない、ディスクI / Oやメモリなどのサーバーリソースが非効率になるなど、さまざまな遅延が発生する可能性があります。
3.クライアントへの応答
サーバーはリクエストを処理した後、それをクライアントに送り返す必要があります(または、最初のバイトを送り返す必要があります)。 これは、サーバーとクライアントの両方のネットワーク速度に大きく影響されます。 クライアントがWi-Fiホットスポットからの低速インターネットを使用している場合、それはTTFBに反映されます。
TTFBは重要ですか?
TTFB(最初のバイトまでの時間)はWebサイトの速度と同じではないことを理解することが重要です。 これは実際には応答性の測定値です。 TTFBが重要かどうかについては、Web上で多くの議論があります。 意味がないと言う人もいれば(Cloudflare、LittleBizzy)、重要だと言う人もいます(Ilya Grigorik、GoogleのWebパフォーマンスエンジニア)。 双方は、それが重要でない理由または理由に関するいくつかの有効なポイントと、それが実際にどのように計算されるかについてのいくつかの質問を提起します。
Mozは、検索ランキングと最初のバイトまでの時間との相関関係についても詳細に調査しました。 ただし、これが原因であるのか、TTFBが低いサイトも一般的に単純に高速であるのかを判断するのは困難です。これは、Googleのページ速度ランキング係数の影響を受ける可能性があります。
ただし、重要かどうかにかかわらず、時間をかけて検討するのではなく、この指標を改善するために実行できる最適化に焦点を当てたいと思います。 あなたがすることはすべてあなたのWordPressサイトの全体的な速度に貢献することができます、そしてこれはあなたのTTFBに影響を及ぼします。 TTFBがはるかに大きいテストサイトでは、ロードが遅く感じられます。
一般的に、 100ミリ秒未満のものはどれも素晴らしくて良いTTFBです。 Google PageSpeed Insightsは、サーバーの応答時間として200ミリ秒未満を推奨しています。 300〜500ミリ秒の範囲にある場合、これはかなり標準的です。 また、600ミリ秒を超える場合は、サーバーで何かが正しく構成されていないか、より適切なWebスタックにアップグレードする必要がある可能性があります。 または、TTFBを減らす方法について、以下の推奨事項に従ってください。 また、SSL/TLSネゴシエーションも要因になる可能性があることを忘れないでください。
TTFBを測定する方法
TTFBをテストする方法は多数あります。 以下でいくつか調べます。 ただし、ツールごとに結果がわずかに異なることを忘れないでください。そのため、ツールを使用してベースラインを維持することが重要です。
GoogleChromeDevToolsを使用してTTFBを測定する
DevToolsを起動すると、GoogleChromeでTTFBを測定できます。 ただし、コンピュータからテストしている場合は、TTFBがネットワーク遅延とインターネット接続の影響を受けることを忘れないでください。 したがって、データセンターからテストしているサードパーティのツール(以下でさらに説明します)を使用する方がおそらくより効果的です。
- Chromeメニューから[その他のツール]>[開発者ツール]を選択します。
- ページ要素を右クリックして、[検査]を選択します
- キーボードショートカットを使用するCtrl + Shift + I (Windows)またはCmd + Opt + I (Mac)
ネットワークウィンドウを起動して、サイトのパフォーマンスを確認できます。

Geekflareのツールを使用してTTFBを測定する
Geekflareには、Webサイトのテストとトラブルシューティングに使用できる無料のツールのすばらしいコレクションがあります。 GeekflareのTTFBツールはシンプルで迅速であり、世界中の3か所から最初のバイトまでの時間がどれだけ速いか(短いか)を確認できます。

WebPageTestを使用してTTFBを測定する
WebPageTestを使用してTTFBを測定することもできます。 彼らの用語集によると、目標時間はDNS、ソケット、SSLネゴシエーションに必要な時間+100msです。 目標を100ms超えるごとに1文字の成績が差し引かれます。 以下のテストでわかるように、このサイトは0.256秒または256ミリ秒のTTFBで測定されました。

PingdomでTTFBを測定する
ChromeとWebPageTestはそれをTTFBと呼んでいます。 ただし、Pingdomを使用している場合、実際には「待機」時間と呼ばれます。 Pingdomの使用方法に関する詳細なガイドも確認してください。

GTmetrixでTTFBを測定する
GTmetrixでは、Pingdomと同様に、TTFBは待機時間と呼ばれます。 GTmetrixの使用方法に関する詳細なガイドも確認してください。

KeyCDNのツールを使用してTTFBを測定する
KeyCDNには、14の異なる場所から同時にTTFBを測定できる優れたWebパフォーマンステストツールがあります。 以下のテストでわかるように、TTFBは米国では低く、海外でははるかに高くなっています。 これは、サーバーが物理的に米国にあるためです。 これは、レイテンシーと距離がTTFBに影響を与えることの証明です。

Sucuri Performance ToolやByteCheckなど、TTFBを測定するための他のさまざまなツールもあります。 知ってますか? Google Analyticsでさえ、平均応答時間を確認するセクションがあります。 [動作]>[サイトの速度]>[概要]をクリックするだけです。

WordPressサイトでTTFBを減らす4つの方法
それでは、WordPressサイトのTTFBを減らす方法についていくつか説明しましょう。
1.高速のWordPressホストを利用する
TTFBを減らす最初の方法は、高速のWordPressホストを使用していることを確認することです。 サードパーティの共有ホストのTTFB(アリゾナ州フェニックスにある)とKinstaのTTFB(アイオワ州カウンシルブラフスにある)を比較しました。 デフォルトのTwentySeventeenテーマを実行して、まったく同じセットアップを利用しました。 Kinstaでは29か所すべてのGoogleCloudPlatformが利用できるようになったため、WordPressサイトを訪問者の近くに戦略的に配置することが重要です。
より高速なホストに切り替えると、サイトのTTFBが最大200%減少する可能性があります。 Kinstaを無料でお試しください。
Kinstaには、すべてのホスティングプランにGoogleCloudPlatformのプレミアム階層ネットワークも含まれています。 他の多くのホスティングプロバイダーはGoogleCloudの標準階層ネットワークを使用しているため、速度が遅くなります。
共有ホストTTFB
すべての地域で、平均TTFBは520ミリ秒でした。 米国とカナダ全体で、平均TTFBは240ミリ秒でした。

キンスタTTFB
すべての地域で、平均TTFBは412ミリ秒でした。 米国とカナダ全体で、平均TTFBは164ミリ秒でした。 Kinstaでホストしている場合は、ヨーロッパまたはアジアでWordPressサイトをホストすることもできます。 GoogleCloudデータセンターの場所のリストをご覧ください。

したがって、より高速なホストを使用するだけで、TTFBが世界全体で20%減少しました。 また、米国とカナダ全体でTTFBが32%減少しました。 TTFBを下げるには、慎重に考え抜かれたアーキテクチャを備えた優れたWordPressホストを用意することが重要です。 これは、顧客がいる地域に物理的に位置する場所を慎重に選択する場合にも適しています。 ほとんどの顧客が米国にいる場合は、サーバーをヨーロッパでホストしないでください(ただし、CDNはその一部を無効にするのに役立ちます)。
2.CDNを実装します
TTFBを減らすもう1つの簡単な方法は、コンテンツ配信ネットワーク(CDN)を利用することです。 国のさまざまな地域または世界中の訪問者にサービスを提供しているWebサイトがある場合、これによりTTFBが大幅に減少する可能性があります。 上で見たように、場所は非常に重要です。 CDNプロバイダーとしてのKeyCDNとの違いを示すために、少しテストを実行しました。 各テストは5回実行され、平均が取られました。
CDNなしのTTFB
最初にCDNを無効にしてテストを実行しました。ご覧のとおり、合計読み込み時間は1.45秒で、アセットの平均TTFBは約136ミリ秒でした。

CDNを使用したTTFB
次に、CDNを有効にして、テストを再実行しました。 ご覧のとおり、合計読み込み時間は788ミリ秒に短縮され、平均TTFBは37ミリ秒になりました。 CDNがもたらす違いは何でしょう。 注意すべきもう1つの重要な点は、このテストを実行するためにストックホルムの場所を選択したことです。 なんで? 物理的な距離を縮めることで得られる本当の改善をお見せしたかったからです。 ストックホルムにCDNPOPがあるので、私たちのコンテンツはストックホルムから提供されています。

注:Cloudflareを利用している場合は、TTFBがわずかに高くなる可能性があります。 これは、完全なプロキシサービスを実行することによる追加のオーバーヘッドと複雑さが原因である可能性があります。 Cloudflareには、一部のCDNプロバイダーにはない追加のファイアウォールやその他の機能があることに注意してください。 だからあなたはあなた自身の決心をする必要があるでしょう、それはあなたにもっと利益をもたらすかもしれません。 サイト全体が適切に最適化されていない場合は、わずかに高いTTFBにヒットすることは、トレードオフの価値がある可能性があります。
ただし、Cloudflareページキャッシングを使用してTTFBを下げる方法に関するWBPulletのガイドも確認することをお勧めします。 これには、追加のセットアップとテストが必要になる場合があります。 環境はそれぞれ異なるため、必ず独自のテストを実行してください。
推奨読書:WordPress用にCloudflareAPOを設定する方法。
3.WordPressキャッシング
3番目の方法でおそらくTTFBを減らす最も簡単な方法の1つは、WordPressサイトでキャッシュを利用することです。 多くの人は、キャッシュがロード時間を短縮するのに役立つと考えているだけですが、実際には、サーバーの処理時間を短縮するのに役立つため、TTFBを減らすのにも役立ちます。 キャッシュを実行する場合と実行しない場合で、いくつかのテストを再度実行しました。 各テストは5回実行され、平均が取られました。
キャッシュを実行せずに
Pingdomを介してサイトを実行しましたが、キャッシュを実行せずに、サイトの読み込み時間は1.17秒、TTFBは560ミリ秒でした。

キャッシュを有効にした場合
次に、キャッシュを有効にして、サイトをPingdomで再度実行しました。 今回、私たちのサイトは643ミリ秒のロード時間と57ミリ秒のTTFBを記録しました。

したがって、キャッシュを有効にすることで、TTFBをなんと90%削減することができました。 Kinstaのキャッシュについて詳しく読むことができます。 これはサーバーレベルで行います。つまり、キャッシュプラグインは必要ありません。 マネージドWordPressホストを使用していない場合は、CacheEnablerなどの無料のキャッシュプラグインを使用することをお勧めします。
4.プレミアムDNSプロバイダーを使用する
最後になりましたが、DNSはTTFBでも役割を果たします。 影響を受ける量を正確に計算することは困難ですが、それでも全体的なDNSルックアップ時間を確認でき、プロバイダーが高速で低速であることがわかります。 SolveDNS速度テストツールを使用していくつかのテストを実行しました。 これは、NameCheapの無料DNSと応答時間を使用するドメインの例です。
Free NameCheap DNS

以下は、AmazonRoute53のプレミアムDNSを使用した例です。 一般的にわかるように、DNSルックアップ時間はAmazonの方がはるかに高速です。 通常、プレミアムDNSプロバイダーの方が速度が速くなります。 Cloudflareは無料のもので、パフォーマンスも優れています。
Amazon Route 53 DNS

プレミアムDNSプロバイダーを使用する必要がある理由についての投稿を確認してください。 ここKinstaでAmazonRoute53と提携し、すべてのお客様が無料で利用できます。
概要
データベースキャッシング、ディスクIO、スワップ使用量、RAM、PHP設定、MySQL設定、ネットワーク設定、TLSオーバーヘッドなど、TTFBを削減するために最適化または修正できるものは他にも多数あります。ただし、上記のものはかなり適切です。実装が簡単で、パフォーマンスが最速に向上します。 したがって、次に誰かがTTFBを減らす方法を尋ねたときは、高速のWordPressホスト、CDN、キャッシング、およびDNSがすべて大きな役割を果たしていることを忘れないでください。 これらのボトルネックを修正または改善することでうまくいきます。
TTFBでのあなたの経験は何ですか? 以下でそれについて聞いてみたいです。