テクニック

Core Web Vitalsスコア改善の実践テクニック【2026年版】

この記事の対象: Core Web Vitalsのスコアを改善したいWeb制作者・サイト運営者
読了時間: 約8分

Core Web Vitals(CWV)は、Googleが定義するページのユーザー体験を測定する3つの指標です。検索順位に影響するランキング要因の1つであり、特にモバイル検索ではCWVのスコアが低いサイトは競合に差をつけられます。

この記事では、2026年最新のCore Web Vitalsの3指標と、それぞれの具体的な改善テクニックを解説します。


Core Web Vitalsの3指標(2026年版)

LCP(Largest Contentful Paint)

ページのメインコンテンツが表示されるまでの時間を測定します。

判定 基準
Good 2.5秒以内
Needs Improvement 2.5〜4.0秒
Poor 4.0秒超

対象要素: <img><video>のポスター画像、CSSのbackground-image、テキストブロック。ファーストビューで最も大きな要素が対象です。

INP(Interaction to Next Paint)

ユーザーの操作(クリック、タップ、キー入力)から次の画面描画までの遅延時間を測定します。2024年3月にFID(First Input Delay)から変更された指標です。

判定 基準
Good 200ms以内
Needs Improvement 200〜500ms
Poor 500ms超

FIDとの違い: FIDは「最初の操作」のみ測定していたのに対し、INPはページ内のすべての操作を対象に、最も遅延が大きい操作を代表値とします。

CLS(Cumulative Layout Shift)

ページの読み込み中に要素が予期せず移動する量を測定します。

判定 基準
Good 0.1以下
Needs Improvement 0.1〜0.25
Poor 0.25超

発生例: 画像が遅れて読み込まれてテキストが押し下げられる、広告が突然挿入されてボタンの位置がずれる、Webフォントの読み込みでテキストのサイズが変わる。


計測方法

PageSpeed Insights

Googleが提供する無料ツール。URLを入力するだけで3指標のスコアと改善提案を確認できます。

フィールドデータ(実際のユーザーデータ)とラボデータ(シミュレーション結果)の2種類を表示。SEOに影響するのはフィールドデータです。

Google Search Console

「ウェブに関する主な指標」レポートで、サイト全体のCWVスコアの推移と問題のあるURLを確認できます。

活用法: ページ単位の問題を特定し、優先的に改善すべきURLを見つけます。

Chrome DevTools(Lighthouseタブ)

ブラウザのDevToolsからLighthouseを実行。ローカル環境やステージング環境での計測に便利です。

注意: Lighthouseはラボデータのみ。実際のユーザー環境とは異なる場合があります。


LCP改善テクニック

画像の最適化

LCPの原因の約70%は画像の読み込み遅延です。

<!-- ファーストビューの画像はpreloadで先読み -->
<link rel="preload" as="image" href="/hero.webp" fetchpriority="high">

<!-- 画像フォーマットはWebP/AVIFを使用 -->
<picture>
  <source srcset="/hero.avif" type="image/avif">
  <source srcset="/hero.webp" type="image/webp">
  <img src="/hero.jpg" alt="ヒーロー画像" width="1200" height="600"
       fetchpriority="high" decoding="async">
</picture>
対策 効果
WebP/AVIF形式に変換 ファイルサイズを50〜80%削減
fetchpriority=”high” LCP画像の読み込み優先度を上げる
preload 画像のリクエストを前倒しする
適切なサイズ指定 必要以上に大きな画像を読み込まない

サーバーレスポンス時間の短縮

TTFB(Time to First Byte)が500ms以上かかっている場合は、サーバー側の改善が必要です。

対策 方法
CDN導入 Cloudflare等でエッジキャッシュ
サーバーキャッシュ ページキャッシュの有効化
PHPバージョン PHP 8.1以上にアップグレード
データベース最適化 不要なpost revisionの削除、インデックス最適化

レンダリングブロックの排除

CSSやJavaScriptがページの描画をブロックしている場合、LCPが遅延します。

<!-- クリティカルCSSをインライン化 -->
<style>/* ファーストビューに必要なCSS */</style>

<!-- 残りのCSSは非同期読み込み -->
<link rel="preload" href="/style.css" as="style"
      onload="this.onload=null;this.rel='stylesheet'">

<!-- JavaScriptはdefer -->
<script src="/main.js" defer></script>

INP改善テクニック

JavaScriptの最適化

INPの問題の多くは、重いJavaScript処理がメインスレッドをブロックしていることが原因です。

// NG: クリック時に重い処理を同期実行
button.addEventListener('click', () => {
  heavyCalculation();  // メインスレッドを300msブロック
  updateUI();
});

// OK: 重い処理をスケジューラで分割
button.addEventListener('click', () => {
  updateUI();  // まずUIを更新
  requestIdleCallback(() => {
    heavyCalculation();  // アイドル時に重い処理
  });
});

長時間タスクの分割

50ms以上のタスク(Long Task)はINPに悪影響を与えます。

// Long Taskを分割する
async function processItems(items) {
  for (const item of items) {
    processItem(item);
    // 定期的にメインスレッドに制御を戻す
    await new Promise(resolve => setTimeout(resolve, 0));
  }
}

インタラクション応答の優先度設計

/* コンテンツの表示をブロックしないCSS */
.non-critical {
  content-visibility: auto;
  contain-intrinsic-size: 0 500px;
}

content-visibility: autoを使うと、画面外の要素のレンダリングを省略し、インタラクションの応答速度が向上します。


CLS改善テクニック

画像・動画のサイズ指定

<!-- 必ずwidth/heightを指定 -->
<img src="/photo.webp" alt="写真" width="800" height="450">

<!-- CSSでアスペクト比を維持 -->
<style>
  .responsive-img {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
</style>

Webフォントの読み込み最適化

/* font-display: swapでFOIT(テキスト非表示)を防止 */
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom.woff2') format('woff2');
  font-display: swap;
}

/* サイズ調整で代替フォントとのCLSを軽減 */
@font-face {
  font-family: 'CustomFont';
  src: url('/fonts/custom.woff2') format('woff2');
  font-display: swap;
  size-adjust: 105%;
  ascent-override: 90%;
}

動的コンテンツの挿入ルール

広告やCookie同意バナーなど、後から挿入される要素はCLSの主要因です。

要素 対策
広告スロット 事前にスペースを確保(min-height設定)
Cookie同意バナー position: fixedで重ならない配置
遅延読み込みコンテンツ skeleton UIでスペースを確保
/* 広告スロットの事前スペース確保 */
.ad-slot {
  min-height: 250px;
  background: #f5f5f5;
}

まとめ

Core Web Vitalsの改善ポイントをまとめます。

LCP(表示速度):
– 画像をWebP/AVIFに変換+fetchpriority=”high”
– CDN導入+サーバーキャッシュ
– クリティカルCSSのインライン化

INP(応答速度):
– Long Taskの分割
– UIの更新を先行、重い処理は後回し
– content-visibility: autoの活用

CLS(レイアウト安定性):
– img/videoにwidth/height指定
– font-display: swap+size-adjust
– 動的要素のスペースを事前確保

3指標すべてで「Good」を達成することで、ユーザー体験の向上とSEO評価の改善が期待できます。