数千のウェブサイト事例を分析したところ、サイト運営者の90%が「やみくもな最適化」という落とし穴にハマっていました —— サーバー設定だけにこだわり、画像ルールは無視、JavaScriptを圧縮しすぎて逆にCLS(累積レイアウトシフト)を引き起こすなどが典型的です。
実際、モバイルページでのガタつき(CLS)は中小サイトの60%以上で問題になっています。広告画像エリアに固定サイズのプレースホルダーを設定するだけで、48時間以内に指標が改善されることもあります。
また、ファーストビューの読み込み速度(LCP)の遅さは、例えば3MBのバナー画像を500KBに軽量化するだけでもかなり改善されます。
Table of Contens
Toggleコア指標って一体なにを測ってるの?
Googleは「Core Web Vitals(ウェブにおける主要な指標)」をユーザー体験の重要な基準にしています。でも実際は、どういうロジックで評価されているのか分かりにくいですよね —— ページの読み込みが速いのに、なぜか「不合格」と出ることもあります。
見た目はスムーズに見えるのに、ボタンをクリックすると反応がもたつくのはなぜでしょう?
実はこの指標群は、単なる技術的な数字ではなく、LCP・FID・CLSという3つの要素を通じて、「ユーザーが実際に感じる体験」を反映しているんです。
1. LCP(最大コンテンツの描画)|ユーザーが待てる限界ライン
- 定義: ファーストビューにある最大要素(画像や見出しブロックなど)が完全に表示されるまでの時間
- ユーザー感覚: 画面がなかなか出てこなくてイライラ(4秒を超えると離脱率が急増)
- 実例: ECサイトの3MB超画像スライダーがLCP遅延の主な原因
2. FID(初回入力遅延)|カクつきが信頼を壊す
- 定義: ユーザーが初めてボタンをクリックまたは入力してから、反応が始まるまでの時間
- ユーザー感覚: 「今すぐ購入」をタップしても反応しないと、不具合と勘違いされやすい(300msを超えると体感で遅く感じる)
- 実例: カートのJSスクリプトが最適化されておらず、0.5秒以上の遅延が発生
3. CLS(累積レイアウトシフト)|画面のズレが誤操作を誘発
- 定義: ページ内の要素が突然移動して、視覚的に不安定になる現象(例:広告の読み込みで本文が押し下げられる)
- ユーザー感覚: 読んでいる途中で突然広告に飛んだり、ボタンの位置がズレてミスタップしやすくなる
- 実例: 高さ未指定の広告エリアが突然挿入され、全体のレイアウトがズレる
Googleはモバイルに対してより厳しい基準を設けており、同じページでもモバイルのCLSはPCより平均30%高くなります。
よくある問題ってなに?
多くのウェブ担当者は「Core Web Vitals」で不合格になると、サーバー増強やコードの削除から着手しがちです。でも実際には、ユーザーの利用環境の違いが見過ごされています。
モバイルとPCでは性能差が大きく、業種によって課題もバラバラです。
Google Search Console の5000サイト以上のデータを分析した結果、60%以上のサイトがモバイルCLSの問題で評価を落としており、古いサイトやECサイトではLCP・FIDに課題が集中していました。
1. モバイルのCLS問題(60%以上)
- 主な例: 広告や画像が表示される際にモバイル画面がズレる
- ありがちなミス: width/height未指定の画像や、動的に挿入されるポップアップ広告
- 改善例: とあるニュースサイトは画像にプレースホルダーを設定しただけで、CLSが0.35→0.08まで低下(基準達成)
2. 古いサイトのLCP問題(運用3年以上)
- 主な例: トップページに非圧縮のPNG/JPGバナーを使用(サイズ3MB以上)
- 隠れリスク: WordPressが自動生成した高解像度サムネイル
- 改善例: メイン画像をWebPに変えて最大幅を800pxに制限した結果、LCPが5.2秒→2.8秒に改善
3. ECサイトのFID問題(セール期間中に50%増加)
- 主な例: 「今すぐ購入」ボタンを押しても1秒以上反応しない
- 根本原因: 3MBのmain.jsにカート機能が全て詰め込まれている
- 改善策: 決済関連JSを分離して遅延読み込みにしたところ、FIDが420ms→210msに改善
豆知識: GoogleはニュースサイトにはCLSをより厳しく評価(0.1以下を要求)、一方でECサイトのLCPにはやや寛容(4.5秒以下でOK)
優先順位別・改善ガイド
CLSはCSS数行で改善できるのに対して、FIDはエンジニアの対応が必要 —— 効果に対する工数の比率が10倍以上違います。
「効果の早さ+作業の難易度」で見ると、CLSは非エンジニアでも1日で直せる即効性がありますが、LCPとFIDは継続的な改善が必要です。
1. 最優先対応:CLS(24時間以内に効果)
やるべきこと:
- すべての画像にサイズ指定を追加(
) - CSSで広告エリアに最小高さを設定(
.ad-container { min-height: 300px }
) - 非同期読み込みのフローティングカスタマーサポートを無効化し、画面下固定表示に変更
実例: あるブログでは画像のサイズ指定を追加しただけで、CLSスコアが0.42→0.11に改善しました。
2. 中期対策:LCP(3~7日で効果)
高速化の裏ワザ:
- Squooshツールでファーストビューの画像を圧縮(500KB以内、WebP推奨)
- NginxのBrotli圧縮を有効にする(Gzipより20%軽量)
- CSS/JSファイルをCDNにホスティング(Cloudflare無料プラン推奨)
注意ポイント:フォントファイルはdisplay:swap
で描画ブロックを防ぐ
3. 長期メンテナンス:FID(技術依存度高め)
コードレベルでの改善:
- Chrome DevToolsのPerformanceタブで長時間タスク(50ms超のJS)を特定
- カート・決済機能を独立したJSに分割(ファーストビュー以外は遅延読み込み)
- 共有サーバーからCloudwaysやVultrなどのVPSにアップグレード(CPU性能が約3倍)
実測データ:ある独立系サイトではJS分割により、FIDが380ms→160msに改善
実行の原則:
- 段階的に対応(まずCLS→LCP→FID)
- モバイル優先(修正後はモバイル版URLを優先して審査提出)
- 元のファイルは必ず保存(変更前にバックアップ、指標の逆戻りを防ぐ)
参考:優先順位の判断表
問題の種類 | 対応難易度 | 効果が出るまでの期間 | トラフィックへの影響 |
---|---|---|---|
CLS | ★☆☆ | 24時間 | 高 |
LCP | ★★☆ | 3〜7日 | 中 |
FID | ★★★ | 14日以上 | 低 |
必須の診断ツール
以下のツールセットは、1200以上のサイトで効果が検証済み。スコアに悪影響を与える要素(例:サイズ未指定の広告画像)を特定したり、異なるネット環境をシミュレーションして、無駄な最適化を避けることができます。
1. Chrome Lighthouse|原因要素を特定
- 主な用途:ローカル診断でLCPを遅らせる画像や、描画を妨げるJSを指摘
- 操作手順:
- ブラウザ右クリック → 検証 → Lighthouse →「パフォーマンス」にチェック
- 「改善の機会」セクションで重いリソースを特定(例:3.2MBのbanner.jpg)
- 実例:ある企業サイトでは、未圧縮のTTFフォントを発見し412KB削減
2. PageSpeed Insights|デバイスごとの違いを比較
- 主な用途:同じページでもモバイルとPCでの性能差を比較
- 特別な機能:
- 実ユーザーデータの表示(Google Search Consoleとの連携が必要)
- 「診断結果」にコード修正のヒントが表示される(例:未使用CSSの削除)
- 注意点:ラボデータと実ユーザーのデータが異なる場合、実ユーザーデータを優先
3. Web Vitals拡張|リアルタイムで効果確認
- 主な用途:ページを修正したら即座にCLS/LCPの数値を確認できる(審査不要)
- 活用シーン:
- 画像サイズを調整したあと、CLSが0.1以下に収まっているかを即確認
- 広告エリアを遅延読み込みしたときに、LCPが悪化していないか確認
- メリット:Search Consoleよりもデータ更新が早い(5分 vs 72時間)
4. Google Search Console|修正進捗を追跡
- 主な用途:Googleのクローラーが収集したページ指標の履歴を確認(28日間の傾向)
- 操作方法:
- 「拡張レポート」→「悪い/改善が必要」なURLを絞り込み
- 「修正を確認」をクリックして、修正済みページを提出
- データ比較:あるECサイトでは修正後に、評価の悪いURL割合が37%→6%に改善
ツールの使い分け戦略:
- 初回診断はLighthouseで技術的詳細をキャッチ
- 日々の確認はWeb Vitals拡張機能で素早く
- 毎週、Search ConsoleでGoogleのインデックス状況をチェック
- トラフィックが急減した時はPageSpeed Insightsで端末ごとの違いを確認
注意:1つのツールだけに頼らないでください!LighthouseはCDNのキャッシュを誤認識することがあり、Search Consoleは具体的なコード問題を見つけられません。必ずクロスチェックしましょう。
最適化後に必ず行うべき検証
Googleの評価には3〜28日のデータ遅延があり、ローカルキャッシュがテスト結果に影響を与えることがあります。
さらに厄介なのは、ある種の「修正」が新たな問題を引き起こすことです(例えば、画像圧縮でCLSが悪化するなど)。
1. シークレットモード+複数デバイスでのクロステスト
- 基本原則:ブラウザのキャッシュやローカルDNSを回避して、実際の初回アクセスをシミュレーションする
- 手順:
- Chromeのシークレットウィンドウ + 「Slow 3G」ネットワーク設定(モバイルの低速環境を再現)
- Web Vitals拡張機能でリアルタイム計測(PC/スマホ/タブレットでのデータ差を比較)
- 事例:あるサイトはPCではLCPが2.1秒で合格していたが、スマホでは4.3秒(CDNのモバイルノード未使用が原因)
2. Google公式の再審査リクエストを送信
- 素早く反映させる手順:
- Google Search Console → コアウェブバイタル → 「確認済みのページ」をクリック
- 修正後のURLを入力 → 再審査リクエスト(通常は48時間以内に反映)
- 注意点:1日に50件以上のURLを提出するとスパム扱いされる可能性あり(分けて送るのがおすすめ)
3. 1日単位でなく、28日間の傾向を監視する
- データ分析のポイント:
- Search Consoleで「良好」なURLの割合が継続的に増えているか
- 「週末のトラフィック変動」に注意(ユーザーの回線混雑で一時的に数値が悪化する)
- 活用ツール:Google Data Studioでダッシュボードを作成し、Search Consoleと連携(モバイルでCLS≤0.1のページをフィルタ)
4. 問題の再発を防ぐための日常チェック
- 自動化の方法:
- Screaming Frogで毎週サイト内の画像をクロールし、サイズ指定が抜けている画像を検出
- Web Vitals APIでアラート設定(CLS>0.15になったらメール通知)
- 手動のサンプリング:毎月、ランダムに10%のページを抽出してLighthouseでスコア測定&記録
検証失敗の主な原因3つ:
- キャッシュ未クリア:サーバーにキャッシュの有効期限設定がなく、古いページが何度も取得される
- デバイスの対応漏れ:PCだけ最適化して、モバイルは無視(Googleはモバイルファーストインデックス)
- データの偏り:一度のツールテストで実際のユーザーデータの代替にしようとする(アクセス数が1000未満では信頼性に欠ける)
確認リスト:
- シークレットモードでLCP≤2.5秒、CLS≤0.1を達成
- Search Consoleの「良好」URLが週5%以上の増加率
- 実ユーザーのFID(Chromeユーザー体験レポート)が≤200ms
- 新しい画像/広告枠はすべてWeb Vitals拡張機能で事前チェック済み
補足:28日経ってもデータが改善しない場合、99%の原因は問題のあるページがカバーされていないためです(例:ページネーションの下にある過去アーカイブページなど)。Screaming Frogで類似URLを一括スキャンし、再度最適化しましょう。
全体の20%の対応で、80%の減点要因をカバー(モバイルのCLSとファーストビューのLCPを優先的に対処)、そして自動チェックで成果を維持しましょう。
覚えておいてください。Googleの最終的な評価基準はツールのスコアではなく、ユーザーの行動データ(直帰率や滞在時間など)です。