Core Web Vitals: Webパフォーマンスの測定と改善

Web2026-11-07TryQuickToolBox

Core Web Vitalsがウェブサイトにとって重要な理由

Core Web Vitals(CWV)について聞いたことがあるでしょう。これはGoogleがユーザーエクスペリエンスを測る指標です。しかし、あなたのサイトが遅い、またはカクつくと感じているなら、それはあなただけではありません。多くの開発者がCWVスコアを具体的な修正に結びつけるのに苦労しています。このガイドでは、各指標を測定し改善するための実践的な手順とコードスニペットを紹介します。

Core Web Vitalsは3つの特定の指標です:読み込みパフォーマンスのLargest Contentful Paint(LCP)、インタラクティブ性のFirst Input Delay(FID)、視覚的安定性のCumulative Layout Shift(CLS)。Googleはこれらをランキングシグナルとして使用しているため、最適化することはユーザーとSEOの両方に利益をもたらします。

3つのCore Web Vitalsを理解する

修正に飛び込む前に、各指標が何を測定し、良いスコアの閾値が何かを明確にしましょう。

指標 測定内容 良好 改善が必要 不良
LCP 読み込みパフォーマンス ≤ 2.5秒 2.5秒 – 4.0秒 > 4.0秒
FID インタラクティブ性 ≤ 100ms 100ms – 300ms > 300ms
CLS 視覚的安定性 ≤ 0.1 0.1 – 0.25 > 0.25

注:FIDは2024年3月にInteraction to Next Paint(INP)に置き換えられますが、最適化の原則は同様です。ここではFIDに焦点を当てます。まだ広く参照されているためです。

Core Web Vitalsの測定方法

完全な全体像を得るには、ラボデータとフィールドデータの両方が必要です。ラボデータ(合成テスト)はデバッグに役立ち、フィールドデータ(リアルユーザーモニタリング)は実際のユーザーエクスペリエンスを示します。

ラボツール

フィールドツール

フィールドデータを収集するには、web-vitalsライブラリを含め、指標をアナリティクスエンドポイントに送信します:

<script type="module">
import {onLCP, onFID, onCLS} from 'https://unpkg.com/web-vitals@3?module';

function sendToAnalytics(metric) {
  const body = JSON.stringify(metric);
  navigator.sendBeacon('/analytics', body);
}

onLCP(sendToAnalytics);
onFID(sendToAnalytics);
onCLS(sendToAnalytics);
</script>

これにより、ラボテストを補完する実際のデータが得られます。

Largest Contentful Paint (LCP)の改善

LCPは、最大のコンテンツ要素(画像、テキストブロック、またはビデオ)が表示されるまでの時間を測定します。改善するには、サーバー応答時間、リソースの読み込み、レンダリングブロックリソースに焦点を当てます。

1. サーバー応答時間の最適化

2. 画像の最適化

簡単な画像圧縮には、Image Compressorをお試しください。

3. レンダリングブロックリソースの排除

4. 重要なリソースのプリロード

フォントやヒーロー画像などの主要アセットには<link rel="preload">を使用します:

<link rel="preload" href="/hero.webp" as="image">

First Input Delay (FID)の改善

FIDは、ユーザーがページと最初にインタラクションしてからブラウザが応答できるまでの時間を測定します。長いJavaScriptタスクはメインスレッドをブロックし、遅延を引き起こします。

1. 長いタスクの分割

長時間実行されるJavaScriptをsetTimeoutやrequestIdleCallbackを使用して小さなチャンクに分割します。例えば:

function processItems(items) {
  if (items.length === 0) return;
  const item = items.pop();
  // Process item
  setTimeout(() => processItems(items), 0);
}

2. イベントハンドラの最適化

3. JavaScript実行時間の削減

4. 重いタスクにはWeb Workersを使用

CPU集約的な作業をメインスレッドから移動します:

const worker = new Worker('worker.js');
worker.postMessage(data);
worker.onmessage = (e) => { /* handle result */ };

Cumulative Layout Shift (CLS)の改善

CLSは予期しないレイアウトシフトを測定します。一般的な原因には、寸法のない画像、広告、埋め込み、Webフォントがあります。

1. メディアに常に幅と高さを設定

画像やビデオにwidthとheight属性を含めるか、CSSのaspect-ratioを使用します:

img {
  aspect-ratio: 16 / 9;
  width: 100%;
  height: auto;
}

2. 動的コンテンツのスペースを確保

広告や埋め込みの場合、プレースホルダー要素でスペースを確保するか、固定サイズを設定します。

3. 既存コンテンツの上にコンテンツを挿入しない

バナーを挿入する必要がある場合は、レイアウトをシフトしないトランスフォームアニメーションまたはオーバーレイを使用します。

4. font-display: swapの使用

Webフォントによる不可視テキストとレイアウトシフトを防ぎます:

@font-face {
  font-family: 'MyFont';
  src: url('myfont.woff2') format('woff2');
  font-display: swap;
}

モニタリングと継続的改善

Core Web Vitalsの最適化は一度きりのタスクではありません。以下のようなツールで継続的なモニタリングを設定します:

定期的にフィールドデータを確認し、修正を繰り返します。最もスコアの悪い指標を最初に優先します。

FAQ

Core Web Vitalsとは何ですか?

Core Web Vitalsは、Googleがユーザーエクスペリエンスを測定するために使用する指標セットです:LCP(読み込み)、FID(インタラクティブ性)、CLS(視覚的安定性)。

Core Web Vitalsはどのくらいの頻度で確認すべきですか?

Search ConsoleまたはRUMを介してフィールドデータを継続的に監視します。大きな変更後と少なくとも月に一度はラボテストを実行します。

Core Web Vitalsの改善はSEOに影響しますか?

はい、Core Web Vitalsはランキングシグナルです。スコアが向上すると、検索での可視性とユーザー満足度が向上する可能性があります。

より良いLCPのために画像を最適化する準備はできましたか?無料のImage Compressorを使用して、品質を損なわずにファイルサイズを削減しましょう。