遅延読み込みとは?|SEO関連用語集

読み方: ちえんよみこみ(Lazy Loading)
目次
概要
遅延読み込みとは、ビューポート外のコンテンツ(画像、動画、iframe)の読み込みを遅延させ、初期表示速度を向上させる最適化技術です。
詳細説明
遅延読み込み(Lazy Loading)とは、ユーザーがスクロールしてコンテンツが画面内に表示される直前まで、画像、動画、iframeなどのリソース読み込みを遅延させる技術です。初期ページ読み込み時には、ファーストビュー(初期表示領域)の重要なコンテンツのみを読み込み、ページ下部のリソースは必要になるまで取得しません。HTML5の`loading=”lazy”`属性による簡単な実装が可能で、JavaScriptライブラリ(lozad.js、lazysizes)やIntersection Observer APIでより高度な制御もできます。特に画像が多いページ(ECサイト商品一覧、ブログ記事一覧など)で効果的で、初期データ転送量を50〜70%削減できます。LCP、TTFB、Initial Load Timeの改善に直接貢献し、Core Web Vitals最適化の基本施策です。
重要性
遅延読み込みが重要な理由は以下の通りです。
- LCP改善。ファーストビュー外の画像読み込みを遅延させることで、重要なコンテンツ(LCP要素)の読み込みが優先され、LCPが0.5〜1秒短縮される
 - 初期データ転送量削減。ページ読み込み時のデータ量が50〜70%削減され、TTFBとInitial Load Timeが大幅に改善する
 - モバイルデータ節約。ユーザーが最後までスクロールしない場合、下部の画像は読み込まれず、モバイルデータ使用量が削減される
 - サーバー負荷軽減。不要なリソースのリクエストが減少し、サーバーの帯域幅とCPU使用率が低下する
 - ユーザー体験向上。ページが素早く表示され、スクロール時にも遅延なくコンテンツが表示されるスムーズな体験を提供する
 
具体例・実践方法
遅延読み込みの実践的実装方法
- HTML5ネイティブ実装(推奨)
 
- `
`属性の使用(最も簡単)
 - `
 
- Intersection Observer APIでのカスタム実装
 
- より細かい制御が可能(読み込み開始距離の調整など)
 - ブラウザサポート率98%以上
 
const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries) => {
  entries.forEach(entry => {
    if (entry.isIntersecting) {
      const img = entry.target;
      img.src = img.dataset.src;
      observer.unobserve(img);
    }
  });
}, { rootMargin: '50px' });
images.forEach(img => observer.observe(img));
- ライブラリの活用
 
- lozad.js: 軽量(1.9KB)で高性能なライブラリ
 - lazysizes: 自動サイズ計算機能付き(3.5KB)
 
- Next.js/imageでの自動実装
 
- `
`コンポーネントでデフォルトで遅延読み込み有効  - `priority`プロパティでファーストビュー画像を除外
 
- CSSバックグラウンド画像の遅延読み込み
 
- クラス切り替えによる遅延読み込み
 
関連用語
- LCP
 - 画像最適化
 - Intersection Observer
 - パフォーマンス最適化
 - Core Web Vitals
 - TTFB
 - Initial Load Time
 - above the fold
 - Critical Rendering Path
 
注意点・補足
遅延読み込みを使用する際の注意点は以下の通りです。
- ファーストビュー内の画像には`loading=”lazy”`を使用しない(LCPを悪化させる)。代わりに`loading=”eager”`または属性なしで即座に読み込む
 - Googlebotは遅延読み込み画像を認識するが、古い実装(data-src属性のみ)はインデックスされない可能性がある
 - `loading=”lazy”`使用時も`width`と`height`属性を必ず指定し、Cumulative Layout Shift(CLS)を防ぐ
 - 過度な遅延読み込み(ビューポート直前ではなく、かなり前から読み込み開始)は、スクロール時の画像表示遅延を引き起こす
 - 低速回線ユーザーのために、スクロール前に若干早めに読み込みを開始する(rootMargin: ‘100px’など)
 
最新トレンド(2025年)
2025年現在の遅延読み込みに関する最新トレンドは以下の通りです。
- ブラウザネイティブ実装の標準化: `loading=”lazy”`のサポート率99%超、JavaScriptライブラリの必要性が大幅に低下
 - 優先度ヒント(Priority Hints): `fetchpriority=”high”`属性と組み合わせ、LCP要素の優先読み込みを明示的に指示
 - Next.js Image最適化: Next.js 14以降、自動的に最適な遅延読み込み戦略を適用し、設定不要で高速化
 - 動画の遅延読み込み: `
 

