Largest Contentful Paintについて
Largest Contentful Paintとは?
Largest Contentful Paint(LCP)は、最大の可視要素のレンダリングが完了するまでにかかる時間を測定します。通常は、ヒーロー画像、動画のポスター画像、または見出しテキストのブロックが該当します。「ページが表示されたのはいつか?」という問いに対して、単一の数値で最も近い答えを示す指標です。
意図的に、スクロールせずに見えない範囲にあるすべての要素と、表示されていないすべての要素を無視します。LCPの後も、ページではスクリプトやフォントの読み込みが続いている場合がありますが、この測定においては問題ありません。訪問者にはすでに読むものが表示されているためです。
これが、合計読み込み時間との違いです。読み込み時間はブラウザが処理を完了するまでを示すのに対し、LCPはページが実際に役立つ状態になった瞬間、つまり訪問者が実際に体験する瞬間を示します。
良好なLCPとは?
Googleでは、2.5秒以下を「良好」、2.5秒から4秒までを「改善が必要」、4秒を超える場合を「不良」としています。この基準は実際のページ読み込みにおける75パーセンタイルに適用されるため、平均値ではなく、4人中3人の訪問者に対して満たす必要があります。
そのパーセンタイルは、最初に思う以上に重要です。平均値は高速な接続での高速な訪問によって簡単に引き上げられてしまいますが、75パーセンタイルでは、通常はモバイルユーザーにあたる、オーディエンスの中で動作が遅い25%のユーザーも考慮できます。
そのため、構築に使用したマシン上では非常に速く感じられるページでも、LCPでは不合格になることがあります。この差は例外ではなく、むしろ一般的なケースです。
LCPが遅くなる主な原因
問題の原因がその要素自体であることは、ほとんどありません。遅延の原因は、ほぼ常にその要素が表示される前に発生している何らかの処理であり、一般的な原因は次の4つです。
- 遅いサーバー応答により、最初のバイトがレンダリングされるまでに、その後のすべての処理が遅延している。
- head 内のレンダリングを妨げる CSS と JavaScript。ブラウザは描画する前にこれらの処理を完了する必要がある。
- ヒーロー画像のサイズが大きい、最適化されていない、または遅延読み込みすべきでないのに遅延読み込みされている。
- 画像が HTML 内に記述されておらず、CSS で設定されているかスクリプトによって挿入されるため、発見が遅れている。
その最後の項目が、最も多くの人をつまずかせます。ブラウザはマークアップ上で確認できるものしか取得を開始できないため、HTML内で一度も参照されていない画像は、その画像を指定しているスタイルシートやスクリプトが取得・解析されるまで読み込みを開始できません。
改善方法
- ヒーロー画像をHTML内にimgタグとして記述し、ブラウザがすぐに検出できるようにします。
- LCP要素には遅延読み込みを設定しないでください。遅延読み込みは、ファーストビューの下にあるコンテンツに使用するものです。
- 実際に表示されるサイズに合わせ、最新の画像形式で配信します。
- ページ上で本当に最も重要な要素である場合は、プリロードします。
- 重要でないCSSとJavaScriptを、レンダリングパスから外します。
- サーバーの応答時間を短縮します。そこでは、ほかの処理が始まる前にすべてのミリ秒が費やされるためです。
このツールがチェックする項目
LCPテストでは、ページに関するGoogleのフィールドデータ(Chromeを使用する実際の訪問者から収集された測定値)を読み取り、上記のしきい値に対してどの位置にあるかを示します。
結果が表示されない場合は、Googleがレポートを作成するにはページへのトラフィックが十分でないことを意味します。これは新しいページやアクセスの少ないページではよくあることで、失敗ではありません。スコアが表示されるのを待つよりも、明らかな原因を修正するのが適切です。
次に行うこと