CLSの確認方法は?PageSpeed Insightsでの確認手順

Googleサーチコンソールの「ウェブに関する主な指標」レポートでCLSの問題が検出された場合や、現在のパフォーマンス状況を把握するためには、適切なツールを用いて数値を計測する必要があります。

本記事では、Googleが提供する「PageSpeed Insights(PSI)」を使って、CLSの数値を実際に計測する方法を解説します。

CLSの用語の説明については、以下の記事でご紹介しています。

目次

PageSpeed InsightsでCLSを確認する方法

まず、改善したいページのURLを用意し、以下の手順で計測を行います。

  1. PageSpeed Insights(PSI)」にアクセスする。
  2. フォームに計測対象のURLを入力し「分析」をクリックする。
  3. 分析結果が表示されたら「実際のユーザーの環境で評価する」内を確認する。
PageSpeed Insights(PSI)で該当のページを分析し、CLSの数値を確認する

上記の画像の、右にある測定値が CLSの値になります。計測数値が良好の場合、緑色になります。
今回試したページでは、スコアが 0 ととても良好な数値でした。ページを表示した際に最初に画面に表示される領域ではレイアウトシフトは全く起きていないということです。

評価基準

  • 0.1以下:良好(緑)
  • 0.1 ~ 0.25:改善が必要(黄)
  • 0.25以上:不良(赤)

PSIでレイアウトシフトの原因を確認する方法

PageSpeed Insights の診断結果では、原因となる箇所を確認できます。
まず、PageSpeed Insightsの診断結果を下にスクロールし、画面のスクリーンショットが並んだセクションを表示します。

  1. 「関連する監査を表示」を All から「CLS」に変更する。
  2. インサイト内の「レイアウト シフトの原因」タブで原因となっている画像やテキストなどが表示されます。
PageSpeed Insightsでレイアウトシフトの原因を確認する

上記の画像では、テキストと画像が、レイアウトシフトの原因だとわかりました。この情報を元に自身のサイトを改善していきます。

また、Googleのデベロッパーツール(開発者ツール)の「パフォーマンス」タブからでもCLSの数値と原因を特定できます。

デベロッパーツールでレイアウトシフトの原因を確認する

「実際のユーザー」と「診断」の数値のズレについて

画面上部の「実際のユーザーの環境で評価する」レポートと画面下部の「パフォーマンスの問題を診断する」レポートの数値がズレている場合があります。それぞれのレポートで参照しているデータが違うためこのような原因が起こります。

  • 「実際のユーザーの環境で評価する」レポート: 過去28日間にアクセスしたユーザーのデータを参照しています。
  • 「パフォーマンスの問題を診断する」レポート: PSIツールがテストした 瞬間の数値 です。

たとえ下部の診断結果が良くても、「実際のユーザーの環境で評価する」レポートの方で 0.1以上 の数値が出ていたら、実際のユーザーの多くはレイアウト崩れを体験しています。その場合は 0.1以下 を目指してサイトを修正してみてください。

CLSの改善方法

特定した原因に対し、以下の修正を行います。

画像の表示が原因の場合:サイズを指定する

最も頻出する原因です。HTMLのimgタグに width 属性と height 属性を記述します。

修正前: <img src="sample.jpg" alt="サンプル">
修正後: <img src="sample.jpg" alt="サンプル" width="640" height="360">

このように数値を指定することで、ブラウザは画像の読み込み前に表示スペースを確保します。その結果、画像表示時のレイアウト移動を防ぐことができます。

WordPressやノーコードツールを使用している場合

WordPressなどのCMSを使用している場合は、以下の設定を確認してください。

  • WordPressの場合: WordPressでは、画像を挿入すると自動的に幅と高さが指定されます。もしCLSエラーが出る場合は、古いテーマを使用しているか、画像を表示するプラグインの設定で「サイズ指定を無効化」している可能性があります。テーマや「画像最適化プラグイン」の設定を見直すか、該当の画像を一度削除して貼り直すことで改善することがあります。
  • ノーコードツール(Wix, STUDIOなど)の場合: 多くのツールでは自動で対策されていますが、画像を「自動」や「Auto」というサイズ設定にしていると、読み込み時にサイズが確定せずズレることがあります。管理画面上で画像のサイズを「固定(px指定)」にするか、枠の大きさを固定するなど対策する必要があります。

広告などのコンテンツが原因の場合:表示領域を確保する

広告などの動的コンテンツが原因の場合は、CSSで表示領域の高さをあらかじめ確保します。

例えば、高さ250pxの広告が表示される場所には、その親要素(divなど)に対して min-height: 250px をCSSで指定します。これにより、広告の読み込みが遅れてもレイアウトが崩れません。

ウェブフォントの読み込みが原因の場合:最適化する

ウェブフォントを使用している場合、フォントの読み込み前と後で文字の幅が変わり、レイアウトシフトが発生することがあります。

この場合、CSSの @font-face ルール内に font-display: optional を記述して対策します。

記述例: @font-face { font-family: 'MyWebFont'; src: url('mywebfont.woff2') format('woff2'); font-display: optional; }

この設定を行うと、フォントの読み込みに時間がかかる場合、ウェブフォントへの切り替えを強制的にキャンセルします(代替フォントのまま表示します)。これにより、フォント切り替えによる再描画とレイアウトのズレを防ぐことができます。

また、HTMLのhead内に <link rel="preload"> を記述して、フォントファイルを早期に読み込ませる方法も有効です。

今回紹介した以外にもCLSが悪化する要因はいくつか存在します。より詳細な仕様や技術的な解説、その他の改善方法については、以下のGoogle公式ドキュメントをご参照ください。

まとめ

CLS改善の基本は、画像や動的コンテンツの表示領域を事前に確保し、フォントなどの読み込みの制御をすることです。PageSpeed Insightsで問題箇所を特定し、imgタグへの属性追加やCSSの調整など、できる箇所から修正を進めてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
目次