公開日: 2025 年 3 月 27 日
ページの最初のドキュメント リクエストは、すべてのネットワーク リクエストとページ コンテンツがこれに依存するため、最も重要です。最初のドキュメント リクエストを最適化すると、パフォーマンスが向上します。
分析情報のチェック内容
この分析情報では、次のいずれかの条件が最初のドキュメント リクエストに影響したかどうかを確認します。
- ナビゲーション リクエストが 1 回以上リダイレクトされた。
- サーバーがリクエストに応答するまでに 600 ミリ秒以上かかった。
- レスポンスが圧縮されていない。

リダイレクトを避ける
リダイレクトを使用すると、ページの読み込み速度が遅くなります。ブラウザがリダイレクトされたリソースをリクエストすると、通常、サーバーは次のような 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 レスポンス ヘッダーを返す必要があります。

スタック固有のガイダンス
WordPress
- ウェブサーバーの設定でテキスト圧縮を有効にしてください。
- 軽量のテーマ(ブロック テーマが理想的)を選択し、フルページ キャッシュまたは静的なサイト ソリューションを実装します。不要なプラグインを無効にして、サーバーのオーバーヘッドを最小限に抑えます。
- ホスティングをマネージド サービスまたは専用サービスにアップグレードすることを検討してください。
Drupal
- Redirect モジュールがインストールされている場合は、不要なリダイレクトを確認して削除します。
Internal Page Cache
、Internal Dynamic Page Cache
、BigPipe
などのDrupal
キャッシュ モジュールを 1 つ以上使用してトラフィックをオフロードします。CDN と組み合わせると、応答時間をさらに短縮できます。ホスティング サーバーでは、PHP OPcache を使用する必要があります。- データベースのクエリ時間を短縮するには、Redis や Memcached などのメモリ キャッシュの使用を検討してください。
- パフォーマンスの高いテーマ、モジュール、高速サーバーを使用して、サーバー応答時間を短縮してください。
対応
- React Router を使用している場合、ルート ナビゲーションで
<Redirect>
コンポーネントの使用を最小限に抑えます。 - React コンポーネントをサーバーサイドでレンダリングする場合は、クライアントでマークアップの全体を一度に受信するのではなく一部ずつ受信してデータを挿入できるように、
renderToNodeStream()
またはrenderToStaticNodeStream()
を使用することを検討してください。
Joomla
- [Gzip ページ圧縮] 設定を有効にします([システム] > [グローバル設定] > [サーバ])。
- テンプレート、拡張機能、サーバー仕様はすべてサーバーの応答時間に影響します。より最適化されたテンプレートを探す、最適化拡張機能を慎重に選ぶ、サーバーをアップグレードすることをおすすめします。
Magento
- Magento の Varnish 統合を使用します。