ページ速度改善とは、Webページの表示速度を最適化してユーザー体験とコンバージョン率を向上させるCRO施策です。Googleの調査によると、ページの読み込みが1秒から3秒に増えると直帰率が32%増加し、5秒では90%増加します。
ページ速度の改善はフロントエンドのコード最適化が中心で、すべてコードで対応できます。この記事では、Core Web Vitalsの3指標を改善する具体的な手法を解説します。
Core Web Vitalsの3指標と目標値
| 指標 | 正式名称 | 良好 | 改善が必要 | 不良 |
|---|---|---|---|---|
| LCP | Largest Contentful Paint | 2.5秒以内 | 2.5〜4.0秒 | 4.0秒超 |
| INP | Interaction to Next Paint | 200ms以内 | 200〜500ms | 500ms超 |
| CLS | Cumulative Layout Shift | 0.1以下 | 0.1〜0.25 | 0.25超 |
LCP(最大コンテンツ描画)の改善
画像の最適化
LCPの対象は多くの場合ファーストビューのメイン画像です。WebP形式への変換とサイズの最適化で大幅に改善できます。
<picture>
<source srcset="/img/hero.avif" type="image/avif">
<source srcset="/img/hero.webp" type="image/webp">
<img src="/img/hero.jpg" alt="メインビジュアル"
width="1200" height="630"
loading="eager" fetchpriority="high" decoding="async">
</picture>Critical CSSのインライン化
ファーストビューの描画に必要なCSSだけを<style>タグでインライン化し、残りは非同期で読み込みます。
<!-- Critical CSS: インライン -->
<style>/* ファーストビュー用の最小限CSS */</style>
<!-- Non-critical CSS: 非同期読み込み -->
<link rel="preload" href="/css/main.css" as="style"
onload="this.onload=null;this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="/css/main.css"></noscript>リソースヒント
<!-- 外部ドメインへの事前接続 -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<!-- LCP画像のプリロード -->
<link rel="preload" href="/img/hero.webp" as="image" type="image/webp">INP(応答性)の改善
INPはユーザーの操作(クリック・タップ・キー入力)から画面が更新されるまでの時間です。JavaScriptのメインスレッドブロックが主な原因です。
<!-- 非クリティカルなJSを遅延読み込み -->
<script src="/js/analytics.js" defer></script>
<script src="/js/chat-widget.js" defer></script>
<!-- サードパーティスクリプトを非同期化 -->
<script src="https://example.com/widget.js" async></script>defer: HTML解析完了後に実行(実行順序を保証)async: ダウンロード完了次第実行(順序不定)- ファーストビューに不要なJSは
defer、独立したスクリプトはasyncを使う
CLS(レイアウトシフト)の改善
CLSは、ページ読み込み中にレイアウトがずれる現象です。画像・広告・Webフォントが主な原因です。
| 原因 | 対策 | 実装方法 |
|---|---|---|
| 画像のサイズ未指定 | width/height属性を必ず指定 | HTML属性またはCSS aspect-ratio |
| Webフォントの読み込み | font-display: swapを設定 | CSS @font-face |
| 動的コンテンツの挿入 | 表示領域を事前に確保 | CSS min-heightで固定 |
| 広告枠 | 固定サイズのコンテナを用意 | CSS width/height固定 |
/* 画像のアスペクト比を事前確保 */
img {
aspect-ratio: attr(width) / attr(height);
width: 100%;
height: auto;
}
/* Webフォントの読み込み中にレイアウトシフトを防止 */
@font-face {
font-family: 'Noto Sans JP';
src: url('/fonts/NotoSansJP.woff2') format('woff2');
font-display: swap;
}参考: Cumulative Layout Shift (CLS) – web.dev
よくある質問(FAQ)
Q. PageSpeed Insightsのスコアは何点を目指すべき?
モバイルで90点以上を目指しましょう。ただし、スコアそのものよりもCore Web Vitalsの3指標(LCP・INP・CLS)が「良好」判定であることの方が重要です。スコアは参考値であり、ランキング要因はCore Web Vitalsの実測値です。
Q. 画像はWebPとAVIFのどちらを使うべき?
ブラウザ対応を考慮するとWebPが安全です。AVIFはWebPより20〜30%圧縮率が高いですが、Safari 16以降でないと対応していません。picture要素でAVIF→WebP→JPEGのフォールバックを設定するのが理想的です。
Q. WordPressでもページ速度改善は可能?
可能です。テーマのコード最適化(Critical CSSのインライン化、JSのdefer/async)、画像のWebP変換、不要なプラグインの削除で大幅に改善できます。キャッシュプラグインに頼る前に、まずコード側の最適化を行うことが重要です。
Q. ページ速度とSEOの関係は?
Core Web VitalsはGoogleのランキング要因の1つです。ただし、コンテンツの品質や被リンクに比べると影響度は小さいため、速度改善だけで順位が大幅に上がるわけではありません。速度改善の本質的な効果はユーザー体験の向上とCVR改善にあります。
Q. サードパーティスクリプトの影響を減らすには?
Google Analytics、チャットウィジェット、広告タグなどのサードパーティスクリプトはasync属性で非同期化し、ユーザー操作後に読み込む遅延ロードも検討しましょう。GTM(Google Tag Manager)で一元管理すると、読み込みタイミングを制御しやすくなります。
ページ速度改善はコードで完結する
Core Web Vitalsの改善は、画像最適化・CSS/JSの読み込み制御・レイアウトシフト防止の3つに集約されます。いずれもフロントエンドのコード変更で対応可能で、有料の速度改善ツールは不要です。
「自社サイトのCore Web Vitalsが不良判定で改善したい」「WordPressの速度を根本的に改善したい」という場合は、コードによるページ速度改善に対応しているWeb制作チームにご相談ください。
関連記事
▶ まとめ: CROとは?コンバージョン率を改善する8つの手法と始め方
