Speed Index(スピードインデックス)

Speed Indexが測定するもの、良いスコアの目安、Core Web Vitalでもランキング要因でもないLighthouse専用のラボ指標である理由、改善方法を説明します。

初回公開:2026年6月26日 · 最終更新:2026年8月3日 · Advanced
言語

Speed Indexは、ページ読み込み中にコンテンツが視覚的に表示される速さを測定します。表示される部分が現れる平均時間を秒でスコア化し、低いほど良い指標です。読み込みの動画から計算されるため、ラボ専用の指標であり、CrUX、PageSpeed Insightsのフィールドデータ、Search Consoleには含まれません。Pat MeenanのWebPageTestで生まれ、LighthouseはオープンソースのSpeedlineモジュールで計算します。Core Web Vitalでもランキング要因でもありません。Lighthouseの5つのパフォーマンス指標の1つで、Lighthouse 10では重みが10%です。モバイルの閾値はGoodが3,4秒以下、Needs improvementが5,8秒以下、Poorが5,8秒超です(デスクトップのGoodは約1,3秒以下)。FCPやLCPと同じく、サーバー応答の高速化とレンダリングをブロックするリソースの削減で改善できます。

Evidence for this claim Lighthouse Speed Index estimates how quickly page contents are visually populated during a lab load. Scope: Lighthouse lab metric; results depend on test environment and viewport. Confidence: high · Verified: Chrome Developers: Speed Index Evidence for this claim Lighthouse documents Speed Index scoring and weighting, which can change between Lighthouse versions. Scope: Current Lighthouse scoring model, not a Google Search ranking factor. Confidence: high · Verified: Lighthouse: Performance scoring

TL;DR — Speed Indexは、ページ読み込み中にコンテンツが視覚的に表示される速さ、つまり見えるコンテンツが表示される平均時間を秒で測定します(低いほど良い)。読み込み動画から視覚的な進捗曲線の上側の面積を合計して計算するため、ラボ専用の指標です(CrUX、PSIのフィールドデータ、Search Consoleには含まれません)。Pat MeenanのWebPageTestで生まれ、LighthouseはオープンソースのSpeedlineモジュールで計算します。Core Web Vitalでもランキング要因でもありません。 Lighthouseの5つの指標の1つで、Lighthouse 10では重みが**10%**です。モバイルはGoodが3,4秒以下、Needs improvementが5,8秒以下、Poorが5,8秒超、デスクトップのGoodは約1,3秒以下です。FCPより速くなることはなく、ビューポートに依存し、FCP/LCPと同じ施策で改善します。

Evidence for this claim Lighthouse Speed Index estimates how quickly page contents are visually populated during a lab load. Scope: Lighthouse lab metric; results depend on test environment and viewport. Confidence: high · Verified: Chrome Developers: Speed Index

Speed Indexが実際に測るもの

Googleの定義は1行です。「Speed Indexは、ページ読み込み中にコンテンツが視覚的に表示される速さを測定する」。重要な語は視覚的です。Speed IndexはFirst Contentful PaintやLargest Contentful Paintのような単一のタイムスタンプではありません。ページの見える部分が表示されるまでの平均時間を表す複合スコアです。低いほど良く、秒で報告されます。

最も分かりやすい考え方は、X軸を時間、Y軸を「ページが視覚的に完成した割合」とするグラフを描き、0%から100%まで上昇させることです。Speed Indexはその曲線の上側の面積です。曲線が100%まで速く上がるほど面積は小さくなり、スコアは良くなります。しばらく空白のページは線の上に大きな空白の長方形を残し、速く描画するページはほとんど残しません。

計算方法

Lighthouseはページ読み込みの動画を撮影し、フレーム間の視覚的な進行を計算します。各時間間隔は、その時点でページがどれだけ未完成かで重み付けされます。完全に空白のフレームは100%として数えられ、ほぼレンダリング済みのフレームはごくわずかにしか寄与しません。元のWebPageTestの式は次のとおりです。

Speed Index = Σ ( interval × (1 − visual completeness% / 100) )

具体的な計算例を見ると分かりやすくなります。DebugBearは1回の読み込みを次のように説明しています。

  • 0% 完了(0〜253ミリ秒)→ 253,0ミリ秒の寄与
  • 43% 完了(253〜403ミリ秒)→ 85,5ミリ秒の寄与
  • 98% 完了(403〜536ミリ秒)→ 2,7ミリ秒の寄与
  • 99% 完了(536〜653ミリ秒)→ 1,2ミリ秒の寄与
  • 合計:342,3ミリ秒

最初の区間に注目してください。何も表示されていない間は、その時間のすべてが最大の重みで寄与します。だからSpeed IndexがFirst Contentful Paintより速くなることはありません。最初のコンテンツが描画される前の1ミリ秒ごとに、100%で数えられるためです。

Lighthouseはここで独自の実装を使っていません。オープンソースのSpeedlineモジュール(元はPaul Irish)を実行し、スクリーンショットを有効にしたChrome DevToolsのトレースから、WebPageTestと同じ視覚的進捗の動画手法を使います。Speedlineは、現在のフレームと最終フレームのヒストグラム差分による標準Speed Indexか、SSIMを使う知覚的な変種を計算できます。通常表示されるのは標準版です。

良いスコアとは

Lighthouse 10は、HTTP Archiveの実在サイトデータを基準にSpeed Indexを評価します。Lighthouseはデフォルトで中程度のモバイル端末にスロットリングをかけてシミュレートするため、端末によって閾値は大きく異なります。

Speed Indexモバイルデスクトップ
Good(緑)0〜3,4秒0〜1,3秒
Needs improvement(オレンジ)3,4〜5,8秒1,3〜2,3秒
Poor(赤)> 5,8秒> 2,3秒

「1 000ミリ秒未満ならGood」という古いベンチマークを見かけたなら、それは特定の時代と接続プロファイルに対する、古いWebPageTestのガイダンスです。現在のLighthouseモバイル基準ではありません。数値を生んだツールと端末/ネットワーク設定を必ず確認してください。同じページでもスコアは変わります。Lighthouse、WebPageTest、GTmetrixは同じ尺度ではありません。

Lighthouseスコア内での位置

Speed IndexはLighthouse 10のPerformanceスコアに含まれる5つの指標の1つで、重みは**10%**です。FCPと並び、最も重みが低い指標です。

指標Lighthouse 10の重み
First Contentful Paint10%
Speed Index10%
Largest Contentful Paint25%
Cumulative Layout Shift25%
Total Blocking Time30%

実務上の結論は、Speed Indexだけを追うのは投資対効果が低いということです。Total Blocking Time(30%)とLCP、CLS(各25%)のほうが全体スコアを大きく動かします。Speed Index自体が問題になっていない限り、通常はLCPとTBTを修正したほうが得られ、Speed Indexも副次的に改善します。PageSpeed Insightsでは、Speed Indexは上部のフィールドデータではなく、ラボ(Lighthouse)セクションに表示されます。

Speed IndexはCore Web Vitalまたはランキング要因ですか?

どちらも違います。レポートを関係者に説明するとき、この区別が重要です。

  • Core Web Vitalではありません。 Core Web VitalsはLCP、INP、CLSで、CrUXを通じて実ユーザーで測定します。Speed Indexはこの集合に含まれず、Search ConsoleのCore Web Vitalsレポートにも表示されません。
  • 直接的なランキング要因ではありません。 GoogleのページエクスペリエンスシグナルはCore Web Vitalsのフィールドデータを使います。Speed IndexはGoogleが実ユーザーから収集しないラボ専用の診断指標なので、Speed Indexの数値からランキングへ直接つながる経路はありません。

ランキングとの関係は間接的です。悪いSpeed Indexを生む遅いTTFB、レンダリングをブロックするCSS/JS、フォント切り替え中の見えないテキストは、悪いFCPとLCPを生む問題と同じです。修正するとSpeed Indexも通常はLCPと一緒に改善し、Googleが実際に評価する部分が良くなります。

ラボ専用である理由

Speed Indexには、ページのレンダリングをフレームごとに記録する動画と、各フレームの視覚的な完成度を計算する画像処理が必要です。すべての実訪問者に実行するにはコストが高すぎるため、Lighthouse、WebPageTest、GTmetrixのような合成/ラボツールにしか存在しません。Real User MonitoringとCrUXデータセットにもありません。フィールドのパフォーマンスデータが必要ならCore Web Vitalsを使い、Speed Indexは管理されたテストでのレンダリング診断に使います。

どこから生まれたか

Speed IndexはWebPageTestで生まれました。Pat Meenanが2008年に作成してオープンソース化したツールで、指標自体は2012年頃に追加されました。当時の指標にあった実際の不足を解決するために設計されました。

  • Render startは、1ピクセルや背景色だけで発火することがあり、意味のあるコンテンツを示しません。
  • Document complete(onload)には、画面下部や関係のないリソースも含まれます。

Speed Indexは、画面上部の視覚的な完成度を時間に沿って測ることで、その中間を捉えました。ユーザーが実際に認識するものをよりよく表す指標です。Lighthouseは後にSpeedlineモジュールを通じてこの手法を採用したため、スロットリングは異なっていてもWebPageTestとLighthouseの数値には共通の系譜があります。

改善方法

Speed Index専用の裏技はありません。Google自身のガイダンスは、ページ読み込み速度を改善するために行うことは何でもSpeed Indexのスコアを改善するというものです。実際には次のとおりです。

  • サーバー応答時間(TTFB)を短縮する。 最初のバイトまでの1ミリ秒は、最大の重みで数えられる空白ページの時間です。
  • レンダリングをブロックするCSSとJavaScriptをなくす。 これらは最初の描画を遅らせ、曲線上で最もコストの高い部分に影響します。重要なCSSをインライン化し、残りを遅延させます。
  • フォント読み込みを修正する。 フォント切り替え中にテキストが見えないと、その範囲は0%完了として数えられます。font-display: swap(またはoptional)でテキストを表示し続けます。これはLighthouseがSpeed Indexについて明示的に指摘する監査の1つです。
  • メインスレッドの作業を最小化し、JavaScriptの実行時間を短縮する。 LighthouseがSpeed Indexに影響の大きいものとして挙げる、他の2つの診断です。
  • 画面上部のコンテンツを優先する。 Speed Indexは表示中のビューポートだけを気にするため、最初の画面を速く描画することが全てです。

これらはFCPとLCPの最適化とほぼ完全に重なります。だから私はSpeed Indexを別のToDoリストではなく、裏付けとなるシグナルとして扱います。単一の数値に基づいて行動する前に、読み込みのフィルムストリップ(LighthouseとWebPageTestの両方が生成します)を見て、実際に早く描画されたものと遅れたものを確認してください。また、1回のテストではなく、条件をそろえた繰り返し実行をいくつか比較します。下記の実行ごとのばらつきに関する注記も参照してください。

知っておくべき制約

  • ラボ専用 — 実ユーザーの体験ではなく、テスト環境だけを反映します。
  • ビューポート依存 — 表示領域を測るため、モバイルとデスクトップでは結果が大きく異なります(そのため閾値も大きく異なります)。
  • SPA/AJAXの盲点 — シングルページアプリは、シェルがすぐ描画され、ページ更新なしで本当のコンテンツが後から読み込まれるため、実際より速く見えることがあります。
  • カルーセル、自動再生動画、同意オーバーレイ — 意味のあるコンテンツが読み込まれた後もピクセルを変え続けるものは、「未完了」として記録され続けるため不利になることがあります。自動回転カルーセルが不利になるのと同じ仕組みです。
  • 「完全読み込み」指標ではない — すべてのスクリプト、画像、画面下部の要素が終わる時点ではなく、画面上部の視覚的な進行を測ります。WebPageTestの別指標Visually Complete(常にSpeed Index以上)が、遅れて遅延読み込みされるウィジェットを捉えます。
  • 視覚的な進行は有用性の証明ではない。 Speed Indexは最終フレームに対するピクセル変化だけを測り、画面上のものが読めるか、正しい順序か、アクセシブルか、実際に操作できるかは分かりません。高速に描画されるスケルトンやシェルは良いスコアでも、本当のコンテンツや操作可能性が後から届くことがあります。これは、意味のない早期描画というアンチパターンを指標側から説明したものです。
  • 実行ごとのばらつき — 1回の記録された読み込みから導出されるため、Speed Indexはテスト条件で変わります。Googleのスコアリングガイダンスも、デバイスの違い、ブラウザー拡張、ウイルス対策ソフト、広告やA/Bテストの変更など、コードとは関係のないスコア変動の原因を挙げています。単発の数値ではなく、条件をそろえた繰り返し実行の分布を比較してください。

関連する指標

Speed IndexはCore Web Vitalsハブとその関連項目と同じウェブパフォーマンスクラスターにあります。最も近いのはFirst Contentful Paint(Speed IndexがFCPを上回ることはない)とLargest Contentful Paint(同じ施策、同じ根本原因)です。LighthouseスコアではTotal Blocking Timeと並び、LighthousePageSpeed Insightsの中で確認できます。ランキングを実際に動かすフィールド指標については、Core Web Vitalsハブから始めてください。

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.