概念

CLS累積レイアウトシフト

ページ内の見えている要素が、予期せずどれだけ動いたかを表す指標です。画像や広告の読み込みで本文やボタンがずれる原因を特定し、表示の安定性を確認するために使います。

30秒で理解

CLS(Cumulative Layout Shift)は、ページを見ている途中で、表示済みの要素が予期せず移動した量を表すスコアです。本文を読んでいるときに広告が後から入り、文章が押し下げられる、押そうとしたボタンがずれる、といった体験を数値化します。

スコアは単位のない値で、低いほど安定しています。web.dev の基準では、ページ表示の75パーセンタイルで 0.1以下が良好、0.25超が不良です。0.1と0.25の間は改善が必要な範囲です。この判定はモバイルとデスクトップを分けて見ます。

読んでいる本のページを、誰かが途中で押し下げる状態です。文字が動くだけなら読み直せますが、リンクや購入ボタンまで動くと、意図しない場所を押すことがあります。CLSは「ページが重いか」ではなく、「見えていたものが動いたか」を見る数字です。

どういう仕組みか

表示された要素が、ひとつ前の描画フレームから位置を変えるとレイアウトシフトとして記録されます。CLSは、ページ全体のシフトを単純に足し続けるのではなく、短い間隔で起きたシフトのまとまり(セッションウィンドウ)のうち、合計スコアが最大のまとまりを使います。1秒未満の間隔で続き、全体は最大5秒という区切りです。

画像・動画・広告・埋め込み要素の大きさが先に確保されていない場合や、後から挿入されるコンテンツ、フォントの切り替えなどで、すでに見えている部分が動きます。クリックやスクロールなど、ユーザーの操作に続いて起きた移動は、予期された動きとして扱われる場合があります。

起きていることCLSへの影響先に見る場所
画像の読み込み後に本文が下がる画像の領域が後から確保される画像要素の幅・高さ、または aspect-ratio
広告や埋め込みが後から現れる挿入された分だけ周囲が動く広告枠・iframeの予約領域
Webフォントの切り替えで行が折り返す文字の幅や高さが変わるフォント読み込みと代替フォント
上部にバナーが追加される読み始めた本文が押し下げられる動的に追加するUIの表示位置

どこで見えるか

実際の利用者の体験を確認するなら、PageSpeed Insights の対象URLを開き、フィールドデータの「実際のユーザーの環境での評価」を見ます。ここでは過去の利用者のデータを、モバイルとパソコンに分けて確認できます。

原因になった要素をページ上で探すときは、Chrome DevTools の「Performance」パネルでページを記録し、レイアウトシフトの記録を選びます。テスト環境で再現した動きを見る場所で、実際の利用者の集計値そのものではありません。

見る場所分かること使い分け
PageSpeed Insights実利用環境での判定とURLの傾向影響範囲の確認
Chrome DevTools「Performance」どのタイミングで何が動いたか原因要素の特定
公開後のフィールドデータページ変更後の利用者体験修正前後の再確認

よくある誤解

CLSは、画面にある要素が一度でも動けば、動いた回数だけ単純に加算される数字ではありません。現在の定義では、短い時間に連続して起きたシフトをセッションウィンドウにまとめ、その中で最大のものを使います。古い解説にある「ページ滞在中のシフトをすべて合計する」という説明とは区別してください。

また、CLSが低ければ読み込み速度や操作の反応も良い、とは限りません。表示の安定性はCLS、主要コンテンツの表示速度はLCP、操作への反応はINPというように、別の観点を持つ指標です。CLSだけを下げても、画像が表示されるまで長い、ボタンの反応が遅いという問題は残ります。

ラボデータだけで合格と決めないでください。開発中の回線やキャッシュでは動かなくても、広告・個別表示・外部ウィジェットがある本番環境では動くことがあります。フィールドデータと、原因を調べるラボ計測を役割分担させます。

これを踏まえて何をするか

まず問題のページを1つに絞ります。次の順番で操作してください。

順番開く画面やること判定
1PageSpeed InsightsURLを入力し、「実際のユーザーの環境での評価」でCLSをモバイル・パソコン別に見る0.1以下か、0.25超かを記録
2同じ画面の診断CLSの診断項目を開き、影響した要素やレイアウトシフトの原因を確認する画像・広告・フォント・動的UIに分類
3対象ページのHTML/CSS原因要素に表示領域の寸法が先にあるか確認する無ければ幅・高さや予約領域を追加
4Chrome DevTools「Performance」修正したURLを記録し、Layout Shifts のイベントを開く修正前と同じ要素が動かないか確認
5PageSpeed Insights公開後、同じURLのフィールドデータを再び開くモバイル・パソコン別に判定を記録

原因が画像なら画像要素の表示サイズを先に確保し、広告や埋め込みなら枠の高さを先に取ります。原因が特定できない場合は、PageSpeed Insights の「診断」で示された要素を1つだけ選び、その要素を含むテンプレートのHTMLを開いてから再計測してください。最初に開く画面は PageSpeed Insights の対象URL入力欄です。

一次情報

サービスの仕様に依存する内容です。半年ごとに見直しています。