SEO

LCPとは?画像を圧縮しても直らない理由と、4つの区間の見つけ方

LCPとは?画像を圧縮しても直らない理由と、4つの区間の見つけ方

「LCPが2.5秒を超えたから画像を圧縮した。でも数値が変わらない!」と困っていませんか?

画像を軽くするのが定番の対策とされているため、ほかに打つ手が見えにくいのも無理はありません。

この記事では、LCPを分ける4つの区間と、圧縮しても直らない理由、遅延読み込みの注意点を解説します。

表示速度の警告に手を焼いている方が、どこから直せばよいかを自分で判断できるようになります。

LCPとは、最も大きい要素が表示されるまでの時間

LCPはページを開いてから、最初の画面の中で最も大きい画像や文章のかたまりが表示されるまでの時間で、ページ全体の読み込みが終わるまでの時間ではないことを示した図
測るのは、最初の画面の主役が出るまで

LCPは「Largest Contentful Paint」の略です。最初の画面の中で、最も大きい要素が表示されるまでの時間を測ります。

ページ全体の読み込みが終わるまでの時間ではありません。利用者が表示されたと感じる瞬間を数値にしたものです。Core Web Vitalsの3つの指標のひとつで、読み込みの速さを表します。

対象になる要素

LCPの対象になるのは、web.devで決められたいくつかの種類の要素だけです。主なものは次のとおりです。

  • 画像のタグで置いた画像
  • 動画のポスター画像
  • CSSで指定した背景画像
  • 文章を含むかたまり

この中で、最初の画面に占める面積が最も大きいものが1つ選ばれます。画像だと思い込んでいたら、見出しの文章が選ばれていたということもあります。

2.5秒以内が良好、4秒超は不良

基準は、2.5秒以内が良好です。4秒を超えると不良で、その間は改善が必要の区分になります。

LCPの値 評価
2.5秒以内 良好
2.5秒を超え4秒以内 改善が必要
4秒超 不良

判定には、実際にページを開いた利用者の表示の75%が収まる値を使います。平均ではない点に注意してください。4人に3人が収まっていれば、その評価になるという考え方です。

PCとスマホで、別の要素が選ばれる

画面の大きさが違えば、最も大きい要素も変わります。PCでは写真、スマホでは見出しが選ばれることも珍しくありません。

PageSpeed Insightsは、モバイルとデスクトップを切り替えて診断できます。両方を見て、それぞれで何が選ばれているかを確かめてください。片方だけ直しても、もう片方は変わりません。

LCPを分ける4つの区間

LCPはサーバーの応答、読み込みを始めるまでの遅延、読み込みにかかる時間、描画されるまでの遅延という隙間なく続く4つの区間の合計で、画像の圧縮が効くのは3つ目の区間だけであることを示した図
圧縮が効くのは、4つのうち1つだけ

LCPは1つの塊ではありません。隙間なく続く4つの区間の合計です。

どの区間が長いかで、打つ手はまったく変わります。web.devは、名前に遅延と付く2つの区間を、できるだけ0に近づけるよう勧めています。残りの2つには、それぞれ全体の約4割を充てる配分が目安です。まず、4つの区間がそれぞれ何を指すかを押さえてください。

① サーバーの応答

1つ目はTTFBで、ページを求めてからHTMLの最初の1バイトが届くまでの時間です。ここが終わらないと、ほかの区間は始まりません。

ここが長ければ、画像をどれだけ軽くしても全体は縮みません。原因はサーバーやリダイレクトの側にあるため、画像の作業は後回しです。TTFBの目安は800ミリ秒で、超えているならこちらを先に直してください。

② 読み込みを始めるまでの遅延

2つ目は、HTMLが届いてから、ブラウザが画像の取得を始めるまでの待ち時間です。ブラウザが画像の存在を知るのが遅いと、ここが長くなります。

HTMLの中に画像のタグがあれば、ブラウザは読みながら取得を始めます。JavaScriptで後から差し込む形では、その実行が終わるまで取得が始まりません。CSSの背景画像も、CSSを読み終えるまで見つかりません。

③ 読み込みにかかる時間

3つ目が、実際に画像を落としている時間です。圧縮や形式の変更が効くのは、この区間だけです。WebPのような軽い形式に変えるのも、この区間に効きます。

多くの記事が対策として挙げるのはここですが、4つのうちの1つにすぎません。とはいえ、写真を圧縮せずに載せているなら、まずはそこを直してください。言いたいのは、圧縮だけで足りるとは限らないということです。

④ 描画されるまでの遅延

4つ目は、画像を受け取っているのに画面に出せていない時間です。ブラウザがほかの処理で手一杯のときに長くなります。

読み込み直後に動くJavaScriptが多いページで、起きがちです。スライダーやアニメーション、解析のタグなどが当てはまります。この区間は、読み込みを速くしても縮みません。最初の画面に要らない処理は、表示が終わってから動かすように変えてください。

LCPは画像を圧縮しても直らないことがある

JavaScriptが終わるまで要素が隠されているページでは、画像の読み込みを速くしても、縮めた分だけ描画を待つ時間が伸びて、LCPの合計が変わらないことを示した図
縮めた分は、隣の区間に移るだけ

圧縮しても数値が変わらないのは、珍しいことではありません。実際の利用者のデータでも、画像を落とす時間は全体の一部にすぎないと分かっています。

手を付ける前に、どの区間が長いかを確かめるのが近道です。順番を逆にすると、作業しても数値が動かないまま時間だけが過ぎます。まずは実際のデータで、どの区間が長くなりがちかを見てください。

不良のサイトで長いのは、画像を落とす前

web.devは、Chromeで画像がLCPになったページの実測を区間ごとに公開しています。LCPが不良のサイトの中央値は次のとおりです。

区間 LCPが不良のサイトの中央値
サーバーの応答 2,270ms
読み込みを始めるまで 1,290ms
読み込みにかかる時間 350ms
描画されるまで 360ms

画像を落とす時間は、取得を始めるまでの待ち時間の4分の1ほどです。圧縮だけで2.5秒に収めるのは、この内訳では難しいと分かります。

縮めた分が、別の区間にずれる

web.devが例に挙げているのは、JavaScriptが終わるまで要素が隠されているページです。この作りでは、すべてが一度に表示されます。

画像の読み込みを速くしても、早く届いた分だけ描画を待つ時間が伸びます。合計が変わらないので、LCPも動きません。1つの区間だけを見て手を打つと、時間が隣に移るだけで終わることがあるのです。

開発者ツールで内訳を見る

内訳は、Chromeの開発者ツールで確かめられます。F12で開き、パフォーマンスのタブで記録してから、ページを読み込み直してください。

記録の中のLCPの項目を選ぶと、4つの区間の内訳が数値で出ます。CPUの速度を落とす設定を使えば、性能の低いスマホに近い状態で測れます。そのうえで、最も長い区間から手を付けてください。

LCP画像に遅延読み込みを付けてはいけない

遅延読み込みは画面の外の画像を後回しにする仕組みで、最初の画面にあるLCP画像に付けると取得の開始が遅れるため、LCP画像には遅延読み込みを付けずに優先度を上げる指定を入れることを示した図
主役の1枚は、後回しにせず先に取る

遅延読み込みは、表示速度の対策としてよく紹介されます。ただし、LCPの画像に付けると逆効果です。

付けてよい画像と付けてはいけない画像を分けて考えてください。画面の外にある画像には有効で、外すべきは最初の画面の1枚だけです。この区別ができていないと、対策のつもりが悪化の原因になります。WordPressは標準で画像に遅延読み込みを付けるため、どの画像に付いているかの確認が欠かせません。

loading=”lazy”は、取得の開始を遅らせる

遅延読み込みは、画面の外の画像を後回しにする仕組みです。画面に入りそうになるまで、取得を始めません。

LCPの画像は最初の画面にあるので、これを付けると取得の開始が遅れます。4つの区間でいえば、2つ目の待ち時間が伸びる形です。ページのソースを開き、最上部の画像のタグに loading=”lazy” がないかを見てください。

背景画像は、CSSを読むまで見つからない

主役の画像をCSSの背景として置くと、ブラウザはCSSを読み終えるまでその画像に気づきません。取得の開始が、それだけ遅れます。

装飾のための背景ならCSSで構いませんが、最初の画面で大きく見せる写真は別です。画像のタグで書き直すと、HTMLを読む段階で取得が始まります。全面に敷いた写真がある作りなら、まずここを疑ってください。

fetchpriorityで優先度を上げる

反対に、LCPの画像には優先度を上げる指定を入れます。fetchpriority=”high”を付けると、ブラウザはほかの画像より先に取りに行きます。

WordPressは6.3から、LCPになりそうな画像にこの指定を自動で付ける仕様です。当サイトの記事でも、アイキャッチに付いていることを確かめました。テーマやプラグインが手を加えていると外れることもあるので、ページのソースで確認してください。

WordPressでLCPを確認する順序

WordPressでLCPを確認するときは、まずLCPに選ばれた要素が何かを確かめ、それが画像なら遅延読み込みと優先度の指定を見て、直したあとに同じ手順で測り直すという順序を示した図
要素を確かめ、指定を見て、測り直す

WordPressの場合、手を入れる箇所は限られます。本文の画像より先に、テーマとアイキャッチを見てください。本文の画像は、WordPressが読み込みの指定を自動で整えているからです。

確認の順序を決めておくと、関係のない作業に時間を使わずに済みます。最初にやるのは、何がLCPに選ばれているかを確かめることです。そこが分かれば、見るべき区間も絞れます。

まずLCPの要素を特定する

PageSpeed Insightsの診断結果には、LCPに選ばれた要素が表示されます。最初にこれを見てください。

要素が文章なら、画像の作業はすべて無関係です。その場合は、Webフォントの読み込みや、その文章より前に動く重い処理を疑います。文章が選ばれているのに画像を圧縮しても、数値は動きません。要素が画像なら、アイキャッチの確認に進んでください。

記事ページでは、アイキャッチが選ばれやすい

記事ページでは、アイキャッチがLCPに選ばれやすくなります。本文より上にあり、面積も大きいためです。

この1枚に遅延読み込みが付いていないか、優先度の指定が入っているかを確かめてください。画像を最適化するプラグインが、区別せず一律に遅延読み込みを付けている例もあります。アイキャッチを出さない設定なら、最初の見出しが対象になりがちです。

直したあとは、同じ手順で測り直す

手を入れたら、同じ手順で測り直します。区間の内訳を見て、狙った区間が縮んだかを確かめてください。直す前の記録も残しておくと、比べやすくなります。

合計が変わっていなければ、縮んだ分が別の区間にずれています。実測値に反映されるまでには数週間かかるため、開発者ツールの記録で判断して構いません。数値が動くのを待ってから次に進む必要はありません。

LCPの改善に関するよくある質問

LCPを改善すると、検索順位は上がりますか

Googleは、Core Web Vitalsをランキングを決める際に考慮する要素の1つとしています。ただし、直しただけで大きく上がるとは限りません。

内容が検索の意図に合っていることが先で、LCPは待たせる時間を減らすために直すものです。最初の画面がなかなか出ないページは、読まれる前に閉じられやすくなります。順位より、読む人のために直すと考えてください。

モバイルとPCで数値が大きく違うのはなぜですか

回線と端末の性能が違ううえに、LCPに選ばれる要素そのものが違うことがあるためです。多くの場合、モバイルのほうが悪く出ます。

モバイルの参考値は、遅い回線と性能の低い端末を想定した測り方です。PCで良好でも、モバイルで不良になるのはこのためです。判断はモバイルの実測値を基準にしてください。Search Consoleでも、モバイルとPCは別々に表示されます。

LCPの要素が文章のときは、どうすればいいですか

文章が選ばれている場合、画像の取得は関係しません。疑うのは、サーバーの応答と、文章より前に動く処理です。

Webフォントの読み込みが終わるまで文字を隠す作りだと、描画が遅れます。端末に入っている書体を先に指定するか、読み込み中も代わりの書体で文字を出す指定にしてください。それだけで描画を待つ時間が縮むことがあります。

LCPの改善は、プラグインだけでできますか

画像の圧縮や形式の変更は、プラグインで補えます。画像の数が多いサイトでは、手作業より楽になるのは確かです。ただし、効くのは4つのうち3つ目の区間だけです。

サーバーの応答が遅い場合や、JavaScriptが描画を止めている場合には効きません。プラグインが一律に遅延読み込みを付け、かえって遅くなる例もあります。先に区間の内訳を見てから、道具を選んでください。

直してから、どれくらいで数値に反映されますか

実測値は直近28日間の集計なので、反映には数週間かかります。直した翌日に変わらなくても、失敗とは限りません。

その間は、PageSpeed Insightsの参考値と開発者ツールの記録で効果を確かめてください。Search Consoleで修正の確認を始めると、28日間のモニタリングに入ります。手元で縮んでいれば、あとは集計が追いつくのを待つだけです。

まとめ

LCPは、4つの区間の足し算です。画像の圧縮が効くのはそのうち1つだけで、不良のサイトほど画像を落とす前の時間が長くなっています。

最も長い区間を見つけてから手を付けないと、時間が別の区間にずれるだけで終わります。そして、LCPの画像には遅延読み込みを付けず、優先度を上げる指定を入れてください。

まずはPageSpeed Insightsで、LCPに選ばれている要素が何かを確かめてください。

無料で
サイト診断
料金を
見る
料金を見る 無料でサイト診断