ドキュメント リクエストのレイテンシ

Adam Raine
Adam Raine

公開日: 2025 年 3 月 27 日

ページの最初のドキュメント リクエストは、すべてのネットワーク リクエストとページ コンテンツがこれに依存するため、最も重要です。最初のドキュメント リクエストを最適化すると、パフォーマンスが向上します。

分析情報でチェックされる内容

この分析情報では、次のいずれかの条件が最初のドキュメント リクエストに影響したかどうかを確認します。

  • ナビゲーション リクエストが 1 回以上リダイレクトされました。
  • サーバーがリクエストに応答するまでに 600 ミリ秒以上かかりました。
  • レスポンスは圧縮されていませんでした。
DevTools は、リダイレクトを排除することでドキュメントのレイテンシを短縮できると報告しています
DevTools は、リダイレクトを排除することでドキュメントのレイテンシを短縮できると報告しています

リダイレクトを避ける

リダイレクトはページの読み込み速度を低下させます。ブラウザがリダイレクトされたリソースをリクエストすると、通常、サーバーは次のような HTTP レスポンスを返します。

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

ブラウザは、新しい場所で別の HTTP リクエストを行い、リソースを取得する必要があります。この追加のネットワーク トリップにより、リソースの読み込みが遅れる可能性があります。

リンクがリソースの現在の場所を指していることを確認します。リダイレクトを使用してモバイル ユーザーをページのモバイル版に誘導している場合は、レスポンシブ デザインを使用するようにサイトを再設計することを検討してください。

サーバーの応答時間を短縮する

サーバーの応答時間を改善する最初のステップは、サーバーがページ コンテンツを返すために完了する必要があるコア コンセプト タスクを特定し、各タスクにかかる時間を測定することです。最も長いタスクを特定したら、そのタスクを高速化する方法を見つけます。

サーバーのレスポンスが遅くなる原因は数多くあり、改善方法も数多くあります。

  • ページの準備を高速化するために、サーバーのアプリケーション ロジックを最適化します。サーバー フレームワークを使用している場合は、そのフレームワークにおすすめの方法が記載されている場合があります。
  • サーバーがデータベースをクエリする方法を最適化するか、より高速なデータベース システムに移行します。
  • より多くのメモリまたは CPU を搭載するようにサーバー ハードウェアをアップグレードします。
  • CDN を使用してネットワーク レイテンシを短縮します。これは、ドキュメントを CDN エッジノードでキャッシュに保存できる場合に特に効果的です。

詳しくは、TTFB の最適化ガイドをご覧ください。

圧縮を有効にする

テキスト圧縮により、初期 HTML ドキュメントの全体的なサイズを縮小できます。ブラウザがリソースをリクエストすると、Accept-Encoding HTTP リクエスト ヘッダーを使用して、サポートしている圧縮アルゴリズムを示します。

Accept-Encoding: gzip, compress, br, zstd

テキストベースのアセットのエンコードと転送サイズを最適化するもご覧ください。

サーバーは、使用した圧縮アルゴリズムを示す Content-Encoding HTTP レスポンス ヘッダーを返す必要があります。

DevTools で、ドキュメント リクエストが gzip 圧縮を使用していることが報告される
ドキュメント リクエストで gzip 圧縮が使用されていることが DevTools で報告される

スタック固有のガイダンス

この分析情報では、次のテクノロジーを使用するページについて、スタック固有のガイダンスも提供されます。

WordPress

  • ウェブサーバーの設定でテキスト圧縮を有効にしてください。
  • 軽量のテーマ(ブロック テーマが理想的)を選択し、フルページ キャッシュまたは静的なサイト ソリューションを実装します。不要なプラグインを無効にして、サーバーのオーバーヘッドを最小限に抑えます。
  • ホスティングをマネージド サービスまたは専用サービスにアップグレードすることを検討してください。

Drupal

  • Redirect モジュールがインストールされている場合は、不要なリダイレクトを確認して削除します。
  • Internal Page CacheInternal Dynamic Page CacheBigPipe などの Drupal キャッシュ モジュールを 1 つ以上使用してトラフィックをオフロードします。CDN と組み合わせると、応答時間をさらに短縮できます。ホスティング サーバーでは、PHP OPcache を使用する必要があります。
  • データベースのクエリ時間を短縮するには、Redis や Memcached などのメモリ キャッシュの使用を検討してください。
  • パフォーマンスの高いテーマ、モジュール、高速サーバーを使用して、サーバー応答時間を短縮してください。

対応

  • React Router を使用している場合、<Redirect> コンポーネントを使ったナビゲーションのルーティングは最小限にします。
  • React コンポーネントをサーバーサイドでレンダリングする場合は、クライアントでマークアップの全体を一度に受信するのではなく一部ずつ受信してデータを挿入できるように、renderToNodeStream() または renderToStaticNodeStream() を使用することを検討してください。

Joomla

  • Gzip ページ圧縮の設定を有効にします([システム] > [グローバル設定] > [サーバ])。
  • テンプレート、拡張機能、サーバー仕様はすべてサーバーの応答時間に影響します。より最適化されたテンプレートを探す、最適化拡張機能を慎重に選ぶ、サーバーをアップグレードすることをおすすめします。

Magento

リソース