Webサイトを運営していて、「ページを見ている最中に突然レイアウトがずれる」という経験はありませんか?実は、この現象がSEOにも大きな影響を与えているんです。それが今回解説する「CLS(Cumulative Layout Shift)」という指標です。
GoogleがCore Web Vitalsの一つとして重要視するCLSは、2021年からランキング要因に組み込まれ、ユーザーエクスペリエンスの向上がSEO対策において必須となりました。本記事では、CLSの基礎知識から具体的な改善方法まで、初心者の方にもわかりやすく詳しく解説していきます。
目次
CLSとは?
CLS(Cumulative Layout Shift)とは、直訳すると「累積レイアウト変更」という意味で、Webページを読み込んでから表示されるまでに発生する「レイアウトのずれ」を数値化した指標です。
具体的には、ページの読み込み中に画像や広告が突然表示されたり、フォントの読み込みが遅れてテキストの位置がずれたりすることで発生します。これらのレイアウトシフトは、ユーザーが意図していないクリックをしてしまったり、読んでいたコンテンツを見失ったりする原因となります。
CLSは、viewport内で(ずれの影響を受けた面積)×(移動した距離)の積で表されます。例えば、画面の中央にボタンが出現し、画面の下半分がずれた場合、影響を受けた面積の割合が0.5、移動した距離が0.15であれば、CLS = 0.5 × 0.15 = 0.075 となります。
CLSはSEOにどのように影響するか?
CLSがSEOに与える影響について、項目別に詳しく見ていきましょう。
影響項目 | 影響度 | 説明 |
---|---|---|
検索ランキング | 中 | Core Web Vitalsの一部としてランキング要因に組み込まれている |
ユーザーエクスペリエンス | 高 | レイアウトのずれによってユーザーの満足度が低下 |
コンバージョン率 | 高 | 意図しないクリックや離脱の増加 |
直帰率 | 中 | サイトの使いにくさから早期離脱が増加 |
検索ランキングへの影響
GoogleはCLSを含むCore Web Vitalsを「ページエクスペリエンス」の評価基準として採用しています。ただし、Googleの公式見解によると、コンテンツの質や関連性が最優先であり、CLSはあくまで同レベルのコンテンツが複数ある場合の「タイブレーカー」として機能するとされています。
しかし、競争の激しいキーワードでは、わずかな差が順位に大きく影響することがあります。実際に、多くのSEO専門家がCLS改善によって検索順位の向上を確認しており、無視できない要因となっているのが現状です。
ユーザーエクスペリエンスへの影響
CLSが高いサイトでは、以下のような問題が発生します。
- 記事を読んでいる途中で広告が表示され、読んでいた箇所を見失う
- リンクをクリックしようとした瞬間にレイアウトがずれ、別のリンクをクリックしてしまう
- フォーム入力中にレイアウトが変わり、入力内容が見えなくなる
これらの体験は、ユーザーにストレスを与え、サイトへの信頼感を損ないます。特にBtoBサイトでは、専門性や信頼性が重要視されるため、技術的な問題でユーザーの信頼を失うのは大きな損失です。
コンバージョン率への影響
CLSはコンバージョン率にも直接的な影響を与えます。例えば。
- 資料請求ボタンをクリックしようとしたときにレイアウトがずれ、別のボタンをクリックしてしまう
- フォーム入力中にレイアウトが崩れ、ユーザーが離脱してしまう
- 商品購入ページで予期しないレイアウト変更が起こり、購入プロセスが中断される
これらの問題は、せっかく興味を持ってくれたユーザーを逃してしまう重大な機会損失となります。
直帰率への影響
レイアウトシフトが頻繁に発生するサイトは、ユーザーが「使いにくい」と感じて早期に離脱する傾向があります。直帰率の増加は、Googleにとってもそのサイトがユーザーにとって価値が低いというシグナルになりかねません。
SEOにも最適なCLSの対策
CLSを改善するための具体的な対策を、項目別に詳しく解説していきます。
対策項目 | 効果 | 実装難易度 |
---|---|---|
画像サイズの事前指定 | 高 | 低 |
Webフォントの最適化 | 中 | 中 |
広告枠の事前確保 | 高 | 中 |
JavaScriptの最適化 | 中 | 高 |
動的コンテンツの制御 | 中 | 中 |
画像サイズの事前指定
CLSの最も一般的な原因は、サイズが指定されていない画像です。画像の読み込みが完了すると、ブラウザは画像のサイズに合わせてレイアウトを調整するため、レイアウトシフトが発生します。
対策は非常にシンプルで、すべての画像要素にwidth属性とheight属性を指定するだけです。
<img src="example.jpg" width="600" height="400" alt="説明文">
レスポンシブデザインの場合は、CSSのアスペクト比を使用することもできます。
.image-container {
width: 100%;
aspect-ratio: 16 / 9;
}
.image-container img {
width: 100%;
height: 100%;
object-fit: cover;
}
この対策により、画像の読み込み前からブラウザが適切なスペースを確保し、レイアウトシフトを防ぐことができます。
Webフォントの最適化
Webフォントの読み込み時に発生するFOUT(Flash of Unstyled Text)やFOIT(Flash of Invisible Text)も、CLSの原因となります。これらの現象を防ぐための対策をご紹介します。
font-displayプロパティの使用
font-display: swapを指定することで、Webフォントの読み込み中でもテキストを表示し続けることができます。
@font-face {
font-family: 'CustomFont';
src: url('custom-font.woff2') format('woff2');
font-display: swap;
}
フォントのプリロード
重要なWebフォントは、HTMLのheadセクションでプリロードを指定しましょう。
<link rel="preload" href="custom-font.woff2" as="font" type="font/woff2" crossorigin>
代替フォントとのサイズ調整
代替フォント(システムフォント)とWebフォントのサイズや行間を近づけることで、フォント切り替え時のレイアウト変更を最小限に抑えることができます。
広告枠の事前確保
広告は収益化において重要ですが、CLSの大きな原因にもなります。以下の対策で広告によるレイアウトシフトを防ぎましょう。
広告コンテナのサイズ指定
広告を表示するコンテナに、あらかじめサイズを指定しておきます。
.ad-container {
width: 300px;
height: 250px;
background-color: #f0f0f0;
display: flex;
align-items: center;
justify-content: center;
}
プレースホルダーの設置
広告が読み込まれる前に、プレースホルダーを表示することで、ユーザーに広告枠があることを知らせることができます。
<div class="ad-container">
<div class="ad-placeholder">Advertisement</div>
</div>
広告の配置最適化
広告は、コンテンツの流れに影響を与えにくい場所に配置することが重要です。記事の途中に挿入する場合は、段落の切れ目など自然な区切りに配置しましょう。
JavaScriptの最適化
JavaScriptによる動的なコンテンツ挿入も、CLSの原因となります。以下の対策で改善できます。
スクリプトの非同期読み込み
scriptタグにdefer属性やasync属性を追加することで、HTMLの解析をブロックせずにJavaScriptを読み込めます。
<script src="script.js" defer></script>
<script src="analytics.js" async></script>
DOM操作の最適化
DOM操作は一括で行い、reflowの発生を最小限に抑えましょう。
// 悪い例:複数回のDOM操作
element.style.width = '100px';
element.style.height = '100px';
element.style.background = 'red';
// 良い例:一括でのDOM操作
element.style.cssText = 'width: 100px; height: 100px; background: red;';
アニメーションの最適化
アニメーションにはtransformプロパティを使用し、レイアウトに影響を与えないようにしましょう。
/* レイアウトに影響するアニメーション(避ける) */
.element {
transition: width 0.3s;
}
/* レイアウトに影響しないアニメーション(推奨) */
.element {
transition: transform 0.3s;
}
動的コンテンツの制御
SNSの埋め込みウィジェットやコメントシステムなどの動的コンテンツも、CLSの原因となることがあります。
埋め込みコンテンツのサイズ指定
TwitterやYouTubeの埋め込みには、適切なサイズを指定しましょう。
<div class="embed-container" style="width: 100%; height: 400px;">
<!-- Twitter埋め込みコード -->
</div>
遅延読み込みの実装
重要でないコンテンツは、ユーザーがスクロールしたタイミングで読み込むように実装しましょう。Intersection Observer APIを使用すると効率的です。
CLSの測定と評価
CLSを適切に改善するためには、まず現状を正確に把握することが重要です。以下のツールを使って、CLSを測定・監視しましょう。
PageSpeed Insights
Googleが提供する無料ツールで、最も手軽にCLSを確認できます。URLを入力するだけで、モバイルとデスクトップ両方のCLSスコアを確認できます。
PageSpeed Insightsでは、フィールドデータ(実際のユーザーデータ)とラボデータ(テスト環境でのデータ)の両方を確認でき、改善の提案も表示されます。
Google Search Console
サイト全体のCLS状況を把握するには、Search Consoleの「ウェブに関する主な指標」レポートが最適です。「CLSに関する問題: 0.25超」や「CLSに関する問題: 0.1超」といった具体的な問題ページを特定できます。
Chrome DevTools
より詳細な分析には、Chrome DevToolsのPerformanceタブを使用します。レイアウトシフトが発生している具体的な要素を特定し、原因を究明できます。
使用方法
- F12キーでDevToolsを開く
- Performanceタブを選択
- 記録開始ボタンをクリック
- ページを読み込む
- 記録停止後、「Experience」セクションでLayout Shiftを確認
Web Vitals Extension
ChromeのWeb Vitals拡張機能を使うと、リアルタイムでCLSを監視できます。開発中やテスト中に、リアルタイムでCLSの変化を確認できるため、改善作業に非常に便利です。
CLSの評価基準
GoogleはCLSの評価基準を以下のように定めています。
- Good(良好): 0.1未満
- Needs Improvement(改善が必要): 0.1~0.25
- Poor(不良): 0.25以上
理想的には0.1未満を目指しますが、コンテンツの性質によっては完全にゼロにするのは困難な場合もあります。重要なのは、ユーザーエクスペリエンスを損なわない範囲で可能な限り改善することです。
業界別CLS対策事例
BtoBサービスサイト
あるBtoBサービス企業では、以下の対策でCLSを0.3から0.05まで改善し、コンバージョン率が25%向上しました。
- サービス紹介画像すべてにサイズ指定を追加
- お客様の声セクションで使用していた動的読み込みを静的表示に変更
- CTAボタン周辺の広告配置を最適化
ECサイト
商品画像が多いECサイトでは、以下のアプローチが効果的です。
- 商品画像の遅延読み込み時にプレースホルダーを表示
- 商品レビューセクションのサイズを事前確保
- 関連商品の動的表示を最適化
メディアサイト
記事が中心のメディアサイトでは
- 記事内画像すべてにアスペクト比を設定
- SNS埋め込みコンテンツのサイズ固定
- 広告の遅延読み込み最適化
LandingHubでCLS対策を効率化
表示速度とCLSの改善は、技術的な知識が必要で時間もかかる作業です。そこでおすすめしたいのが、高速表示に特化したランディングページ構築サービス「LandingHub」です。
LandingHubの特徴
- 自動的なCLS最適化: 画像やコンテンツのサイズが自動で最適化され、CLSスコアが向上
- 高速読み込み: CDN配信と最適化されたコードにより、Core Web Vitals全体が改善
- 簡単操作: 技術知識がなくても、プロ級のランディングページを作成可能
- SEO対策済み: 構造化データやメタタグも自動で最適化
特にBtoB企業のマーケティング担当者にとって、技術的な詳細を気にせずに高品質なランディングページを作成できるのは大きなメリットです。CLS対策を含む表示速度の最適化が自動で行われるため、コンテンツの企画や改善により多くの時間を割くことができます。
CLS改善のベストプラクティス
これまでの解説を踏まえ、CLS改善のベストプラクティスをまとめます。
計画段階
- デザイン段階で各要素のサイズを明確に定義
- 動的コンテンツの配置を慎重に検討
- 広告の配置とサイズを事前に決定
実装段階
- すべての画像・動画にサイズ属性を指定
- Webフォントのfont-displayプロパティを設定
- JavaScriptの読み込みタイミングを最適化
- CSSでアスペクト比を活用
テスト段階
- 複数のツールでCLSを測定
- 異なるデバイス・ネットワーク環境でテスト
- 実際のユーザー環境に近い条件でテスト
運用段階
- 定期的なCLS監視
- 新機能追加時のCLS影響チェック
- 継続的な改善とPDCAサイクル
よくある質問
Q: CLSが0になるまで改善する必要がありますか?
A: 必ずしも0である必要はありません。Googleの基準では0.1未満が「良好」とされており、実用的にはこの範囲を目指すのが現実的です。完全に0にしようとすると、ユーザーエクスペリエンスを損なう可能性もあります。
Q: モバイルとデスクトップでCLSの基準は違いますか?
A: 基準は同じですが、モバイルの方がCLSが発生しやすい傾向があります。画面サイズが小さく、ネットワーク環境も不安定になりがちなためです。モバイルファーストでCLS対策を行うことをおすすめします。
Q: CLS改善の効果が出るまでどのくらいかかりますか?
A: 技術的な修正は即座に効果が現れますが、SEOへの影響が検索結果に反映されるまでには数週間から数ヶ月かかる場合があります。継続的な監視と改善が重要です。
まとめ
CLS(Cumulative Layout Shift)は、現代のSEO対策において無視できない重要な指標です。ユーザーエクスペリエンスに直接影響し、検索ランキングやコンバージョン率にも関わってきます。
主な改善ポイントは以下の通りです
- 画像や動画のサイズを事前に指定する
- Webフォントの読み込みを最適化する
- 広告枠を事前に確保し、適切に配置する
- JavaScriptの実行タイミングを最適化する
- 動的コンテンツの制御を適切に行う
これらの対策は技術的な知識が必要ですが、LandingHubのような最適化されたツールを活用することで、効率的にCLS改善を実現できます。
SEOの世界では、技術的な最適化とコンテンツの質の両方が重要です。CLSの改善により技術的な基盤を整え、その上で価値あるコンテンツを提供することで、検索エンジンとユーザーの両方から評価されるWebサイトを構築できるでしょう。
表示速度の改善は一朝一夕にできるものではありませんが、ユーザーのために、そして事業成長のために、継続的に取り組んでいくことが重要です。まずは現状のCLSスコアを測定し、できるところから改善を始めてみてください。