2026-03-28
2026年版 画像遅延読み込み:LCPを損なわない高速ページ化の技術
画像の遅延読み込みに関する実用ガイドです。何をdefer(後回し)すべきか、何をeager(即時表示)に保つべきか、そしてLCP、CLS、SEO、CDN配信といった重要な要素をどのように保護するかを包括的に解説します。

最終更新日: June 28, 2026
Lazy loadingは、ブラウザが最初のレンダリング中にビューポート外の画像リクエストをスキップできるため、画像量の多いページを高速に感じさせるのに役立ちます。しかし、不注意に使用すると、ユーザーがすぐに必要とする単一の画像(ヒーロー画像、製品のメイン写真、または記事のカバーとなりLCP要素となるもの)の表示を遅延させる可能性もあります。
本ガイドでは、ネイティブなloading="lazy"を使用すべき場所、画像をエAGERに保つべき場所、そしてCore Web VitalsやSEO、CDN配信を損なうことなく、Lazy-loaded画像を公開する方法を紹介します。
クイックアンサー:画像はどのようにLazy loadすべきか?
Lazy loadingは、最初のビューポート外から始まる画像のみに使用してください。LCPとなる可能性の高い画像はEAGERに保ち、すべての画像に幅と高さを予約し、キャッシュ可能なCDN URLからレスポンシブなWebPまたはAVIFファイルを配信します。
プレーンなHTMLの場合、最も簡単な実装方法は、ビューポート外の<img>要素にloading="lazy"を適用することです。ヒーロー画像、製品のメイン画像、最初に表示される記事内の画像、またはユーザーがスクロールする前に必ず表示されなければならない画像には適用しないでください。
迷った場合は、LighthouseまたはChrome DevToolsでページをテストしてください。Lazyな画像がLCP要素として報告された場合は、その画像からlazy loadingを削除し、fetchpriority="high"の検討をしてください。
Lazy loadingは実際に何を変えるのか?
Lazy loadingはリクエストのタイミングを変更します。ブラウザは、ユーザーがそれを見るのに十分に近づくまで画像をダウンロードするのを待つことができます。これにより、長いページでの帯域幅の節約になり、初期のリクエスト負荷が軽減され、CSS、フォント、スクリプト、および可視な画像が先に完了する機会が増えます。
これは、巨大な画像を小さくするわけではありません。2400 pxのJPEGは、最終的にロードされた後も依然として無駄です。Lazy loadingを、最初からリサイズ、圧縮、レスポンシブなマークアップと組み合わせて使用してください。Image Compression Deep Diveではバイト削減について、Mobile Image Optimization Guideではsrcsetとモバイル表示サイズについて解説しています。
| 画像の場所 | ロードの選択肢 | 理由 |
|---|---|---|
| ヒーロー、カバー、または製品メイン画像 | Eager | LCP要素である可能性があり、早期に開始すべき |
| 可視な記事ビューポート内の最初の画像 | 通常Eagerまたはnormal | モバイルではlazyのしきい値より前に表示される可能性がある |
| 記事中のスクリーンショット | Lazy | ユーザーがそれまでスクロールしない可能性がある |
| 長いギャラリーのサムネイル | Lazy | 何十ものリクエストを遅延させることで、初期レンダリングを保護できる |
| 非表示のカルーセルスライド | 通常はlazyだがテストが必要 | 一部のスライダーはすぐに可視になる画像を隠すため |
ネイティブブラウザ機能は、HTMLImageElement.loadingで画像とiframeのloadingプロパティとしてMDNに文書化されています。モダンなサイトでは、JavaScriptによるlazy-loadingライブラリを追加する前に、このブラウザ機能を優先してください。
どの画像をLazy loadすべきではないか?
ページの最初の印象を決定づける画像には、Lazy loadingを適用しないでください。一般的な間違いは、それが万能のパフォーマンス修正策のように見えるため、CMSテンプレート内のすべての画像にloading="lazy"を適用することです。
以下の画像はEAGERに保ってください:
- メインのヒーロー画像。
- 購入ボタンの上にある製品画像。
- モバイルで記事の上部に近い位置に表示される最初の画像。
- インタラクション前に可視である必要があるロゴまたはインターフェースのスクリーンショット。
- ChromeがLCP要素として報告する任意の画像。

GoogleのCore Web Vitalsガイダンスでは、LCPをビューポート内の最大の可視コンテンツ要素のレンダリング時間として扱っています。詳細はLargest Contentful Paintを参照してください。この要素が画像である場合、そのリクエストを遅延させることは、指標を悪化させる最も簡単な方法の一つです。
テンプレートにはこのルールを使用してください:最初の画像スロットはデフォルトでEAGERとし、後続の繰り返し可能な画像ブロックはデフォルトでLAZYとします。その後、モバイルスクリーンショットが異なる最初のビューポートを示す場合は、ページタイプごとに上書きします。
HTMLでLazy loadingを実装する方法は?
まずネイティブなマークアップを使用してください:
<img
src="/images/gallery-chair.webp"
alt="Walnut chair photographed from the front for a product gallery"
width="1200"
height="800"
loading="lazy"
decoding="async"
>
widthとheight属性は、loadingと同じくらい重要です。これらはファイルが到着する前にブラウザにレイアウトスペースを予約させるからです。予約されたスペースがない場合、遅延した画像がテキストをページの下に押し下げ、Cumulative Layout Shiftを引き起こす可能性があります。
レスポンシブな画像の場合、フォールバックの<img>にLazy loadingを残してください:
<picture>
<source type="image/avif" srcset="/images/gallery-chair-800.avif 800w, /images/gallery-chair-1200.avif 1200w">
<source type="image/webp" srcset="/images/gallery-chair-800.webp 800w, /images/gallery-chair-1200.webp 1200w">
<img
src="/images/gallery-chair-1200.webp"
alt="Walnut chair photographed from the front for a product gallery"
width="1200"
height="800"
sizes="(max-width: 700px) 92vw, 680px"
loading="lazy"
>
</picture>
LCPとなる可能性の高い画像には、反対のパターンを使用してください:
<img
src="/images/product-hero.webp"
alt="Walnut lounge chair with green cushion on a white studio background"
width="1600"
height="1000"
fetchpriority="high"
>
Googleのbrowser-level image lazy loadingに関する記事では、ネイティブなLazy loadingを推奨し、最初の可視ビューポート内の画像は通常通りロードすべきだと警告しています。このアドバイスは、2026年の公開における最もクリーンなベースラインであり続けています。
Lazy loadingはSEOにどう影響するか?
重要なコンテンツがレンダリングされたページで発見可能である限り、Lazy loadingはSEOにとって安全です。Googleは最新のJavaScriptを処理できますが、最終的な画像URLがインタラクション、スクロールのみのスクリプト、クッキー、または壊れたプレースホルダーの背後に隠れている場合、画像SEOは弱くなります。
コンテンツ画像には通常の<img>または<picture>マークアップを使用してください。説明的なaltテキスト、クロール可能なCDN URL、そして画像を説明する周囲のコピーを維持してください。Image SEO Guide 2026には、より広範なクローリングとaltテキストのワークフローがあります。
| SEOチェック | 良いlazy-loadingの設定 | リスクの高い設定 |
|---|---|---|
| 画像URL | 最終的なCDN WebPがHTMLまたはレンダリングされたDOMに出現する | スクリプトがスクロール後に不透明なトラッキングURLと交換する |
| altテキスト | コンテキスト内の可視画像を説明している | 空、またはキーワードを詰め込んだaltテキスト |
| コンテキスト | 画像の近くの段落が要点を説明している | 周囲の説明がない単体の画像 |
| ステータスコード | CDN画像がクッキーなしでHTTP 200を返す | 画像がボットやホットリンクチェックをブロックするか、403を返す |
| メタデータ | カバー画像がフロントマターまたはOpen Graphであり、EAGERで安定している | ソーシャル画像が古いローカルファイルを指す |
Google Search CentralのLazy loadingに関するJavaScript SEOガイダンスでは、コンテンツはビューポート内で可視になったときにロードされるべきであり、クリックや入力などのユーザーアクションに依存すべきではないと述べています。詳細はFix lazy-loaded contentを参照してください。これは、画像ギャラリー、タブ、無限スクロールページにとって有用なガードレールです。
Lazy loadingはどれだけのパフォーマンスを節約できるか?
節約される量は、最初のビューポートの下に何枚の画像があり、それらのファイルがどれだけ大きいかによって異なります。長い記事では、ブラウザは初期ロード中にほとんどのボディ画像をダウンロードするのを避けるかもしれません。可視写真が1枚の短い製品ページでは、Lazy loadingによる節約はほぼゼロかもしれません。
この記事内の4つのグラフィックを、公開サイズでローカルWebPファイルとしてエンコードしました。最終的なアセットはそれぞれ25 KBから36 KBであり、ここでは大きなバイトの問題を隠しているわけではありません。より大きな利点はリクエストのタイミングから生じます。カバーはすぐに利用可能であり、後続の図は読者がスクロールするまで待つことができます。

Lazy loadingのせいにする前に、この順序を使用してください:
- ソース画像を最大の実際の表示スロットにリサイズする。
- 写真と混合グラフィックをWebPまたはAVIFに変換する。
- モバイルレイアウトのために
srcsetとsizesを追加する。 - 画像の寸法またはアスペクト比を予約する。
- LCP画像をEAGERに保つ。
- ビューポート外の画像のみをLazy loadする。
- 長期間キャッシュを持つCDNを通じて公開する。
- 狭いモバイルビューポートでページをテストする。
より広範な手順が必要な場合は、Complete Image Optimization Checklistが、公開前の良い最終チェックとなります。CDNルールとキャッシュヘッダーについては、Image CDN Guideを使用してください。
公開前に何をテストすべきか?
コードだけでなく、レンダリングされたページをテストしてください。ネイティブなLazy loadingのブラウザのしきい値は実装の詳細であり、デスクトップで機能するページでも、390 pxのモバイルビューポートで誤った画像を遅延させる可能性があります。

この公開チェックを実行してください:
- カバーまたはヒーロー画像がEAGERにロードされる。
- LCPの可能性が高い画像が
loading="lazy"としてマークされていない。 - すべての画像に
widthとheight、または安定したアスペクト比のコンテナがある。 - ビューポート外の画像は
loading="lazy"を使用している。 - レスポンシブ画像には現実的な
sizes値が含まれている。 - CDN画像URLがHTTP 200を返す。
- ファイル名が可視な画像を説明している。
- altテキストが具体的で、キーワードで詰め込まれていない。
- LighthouseまたはPageSpeed Insightsがlazy画像をLCPとしてフラグ立てしない。
- モバイルスクリーンショットに大きな空白やレイアウトのジャンプがない。
開発者チーム向けには、テンプレートルールを追加してください:繰り返し使用されるボディ画像コンポーネントのみをデフォルトでLazy loadすべきです。ヒーローコンポーネント、製品メインメディア、およびファーストビュー以上の編集用画像は、明示的な決定を必要とします。
2026年のLazy-loadingチェックリスト
Lazy loadingは、画像パイプラインの小さな一部として機能するのが最も効果的です。フォーマット、寸法、優先度、アクセシビリティ、CDNのチェックの後に行われるべきです。
| 決定事項 | このデフォルトを使用する | 次の場合に変更する |
|---|---|---|
| 最初の重要な画像 | Eager、可能であればfetchpriority="high" |
テストにより別の要素がLCPであることが証明された場合 |
| 導入部以降のボディ画像 | loading="lazy" |
画像が最初のモバイルビューポートに表示される場合 |
| 長いギャラリー | 寸法を予約したLazyサムネイル | ギャラリーが主要なファーストビュー体験である場合 |
| 装飾的な画像 | 避けるか、空のaltテキストを使用する | 画像が実際のコンテンツを伝達する場合 |
| CDN配信 | 不変のWebPまたはAVIF URL | CMSがオリジナルのアップロードから変換する必要がある場合 |
出荷前に、最初のビューポートを検査し、一つの実用的な質問をしてください:すべてのビューポート外の画像がスクロールするまで待っても、ページはまだ意味を持つでしょうか?もしそうなら、Lazy loadingはおそらく役立っています。もしページが空のヒーロー枠から始まる場合は、他のものを触る前に優先度を修正してください。
続けて読む

Thu Mar 19 2026 20:00:00 GMT-0400 (北美东部夏令时间)
画像フォーマット解説:JPEG、PNG、WebP、GIF、SVG、AVIF
各画像フォーマットの用途を徹底解説。JPEGとPNG、WebP、AVIF、SVG、GIFなど、どの形式を使うべきかを比較し、実際の測定ファイルサイズやウェブ画像のための実用的な決定ルールを提供します。

Thu Jul 23 2026 20:00:00 GMT-0400 (北美东部夏令时间)
品質を損なうことなく、画像を100KB未満に圧縮する方法
表示されないピクセルをリサイズで除去し、必要な範囲でのみエンコーダー品質を下げる方法。5つの実ファイルから得られた再現可能な結果も含まれています。

Sat Mar 21 2026 20:00:00 GMT-0400 (北美东部夏令时间)
画像圧縮の仕組み:JPEG、PNG、WebPを徹底解説
画像圧縮技術の専門的な解説を行います。クロマサブサンプリング、DCT、量子化、PNGフィルタリングといった基本的なメカニズムから掘り下げ、各フォーマットが最も適している用途や実用的な画質設定について詳しくご説明します。