Core Web Vitals のための画像最適化:LCP・CLS・INP 完全ガイド

core-web-vitals-images

多くのサイトで、Core Web Vitals のスコアを最も大きく左右する単一要因は画像です。最大の表示要素であり、最も多くレイアウトずれを起こし、メインスレッドを長時間止める原因にもなります。本記事では LCPCLSINP をすべて緑域にするための、画像まわりの全レバーを整理します。

3 指標のおさらい

3 つすべて画像が関係します。順に対策を見ていきます。

1. LCP 画像を最優先で読ませる

多くのランディングページでは LCP 要素はヒーロー画像です。即効性のある 3 つ:

2. 現代フォーマットを使う

JPG / PNG を WebP や AVIF に置き換えるだけで、画質はそのまま 25〜50% 軽量化でき、LCP に直結します。古いブラウザ向けには <picture> で JPG フォールバックを:

<picture>
  <source srcset="/hero.avif" type="image/avif">
  <source srcset="/hero.webp" type="image/webp">
  <img src="/24picture/hero.jpg" alt="..." width="1920" height="1080">
</picture>

変換は PNG → WebP ツール で数秒。

3. 圧縮はしっかり、しかし適切に

JPG / WebP の品質 80 が写真ではスイートスポット。品質 95 と見分けはつきませんが、容量は半分。グラフィックは可逆 WebP か圧縮 PNG。一発で軽くするには 画像圧縮ツール を(ブラウザ内処理、ファイルは外に出ません)。

4. 必ず width と height を書く

CLS 対策の最重要ポイント。widthheight はレイアウト寸法ではなく、最新ブラウザはこれでアスペクト比のスペースを事前確保します:

<img src="/24picture/hero.webp" width="1920" height="1080" alt="...">

CSS で max-width: 100%; height: auto; を組み合わせれば、レイアウトを崩さず可変。

5. srcset でレスポンシブ配信

360px のスマホに 4K 画像を送るのは無駄。srcset + sizes でデバイスごとに最適な解像度を:

<img
  src="/24picture/hero-1280.webp"
  srcset="/hero-640.webp 640w, /hero-1280.webp 1280w, /hero-1920.webp 1920w"
  sizes="(max-width: 768px) 100vw, 1280px"
  alt="..." width="1920" height="1080">

一括リサイズには 画像リサイズツール

6. ファーストビュー外は遅延読み込み

初期画面より下の <img> にはすべて loading="lazy"。スクロール接近時のみダウンロードされ、帯域と CPU を LCP に振り向けられて INP も改善。

例外: LCP 画像と preload した画像には 付けない

7. デコードを非同期に

非クリティカル画像に decoding="async" を付けると、デコードがメインスレッド外で行われ、スクロールやタップ時の引っかかりを防ぎます(INP 改善)。

8. Web フォントとアイコンスプライトに注意

アイコンスプライトや大きな SVG を使うなら、SVG オプティマイザーを必ず通します。SVG オプティマイザーで 30〜60% 軽量化が普通。パース時間も短くなり、操作の多いページの INP に効きます。

9. ガタつくカルーセルに注意

カルーセルのコンテナは固定高さに。スライドのアスペクト比が違うなら object-fit: cover で揃える。スライド読み込みのたびに高さが変わるカルーセルは CLS の温床です。

10. キャッシュは強気で

ハッシュ付きファイル名の画像には Cache-Control: public, max-age=31536000, immutable を。再訪ユーザーはほぼ満点の LCP になります。

クイック監査チェックリスト

Pro Tip:LCP 失点の大半はたった 1 枚の重いヒーロー画像が原因です。WebP に変換し、寸法を書き、preload する。これだけで他をいじる前にスコアが跳ねます。

まとめ

Core Web Vitals はブラックボックスではありません。画像が指標を支配しており、対策の多くは 1 行の HTML か、コンバーターを 1 回通すだけです。ヒーロー画像を整え、すべてに寸法を書き、ファーストビュー外を遅延化すれば合格できます。

とっかかりが欲しい? ヒーロー画像を 圧縮ツール にかけ、PNG → WebP ツール で変換すれば、LCP は即座に下がります。