← inaro.devShopify学習ツール
11-04

レスポンシブ画像と遅延読み込み

image_tagwidths / sizesで正しいsrcsetを出し、LCP画像とそれ以外で読み込み戦略を分けられる

最終確認: 2026-09

解説

受託の現場でなぜ必要か: この回では、image_tagwidths / sizesで正しいsrcsetを出し、ファーストビューの画像とそれ以外で読み込み方を分けられるようになります。
受託では、既存テーマのimg_urlimage_urlに置き換える作業が定番の改修で、速度スコアに最も効く部分です。

image_urlimage_tagとは

画像のURLを作るフィルタと、<img>タグを出すフィルタです。
{{ image | image_url: width: 1500 | image_tag: widths: '375, 750, 1100, 1500', sizes: '(min-width: 990px) 50vw, 100vw', loading: 'lazy' }}のようにつなげて使います。
image_urlwidthheightが必須です(最大5760px)。
リサイズとWebP / AVIFへの変換は、Shopify CDNが担います。

sizesはなぜ大事か

sizesは、その画像がレイアウト上で占める幅をブラウザに伝える属性です。
実際のレイアウト幅に合わせると、srcsetから適切なサイズが選ばれ、転送量が半分になることもあります。
100vwのままだと、2カラムでも全幅のサイズが配信され、転送量が倍になります。

ファーストビューの画像はどう扱うか

LCP(ページの主要な画像が表示されるまでの速さの指標)に効く1枚は、loading: 'eager'fetchpriority: 'high'にします。
必要ならpreload: trueも付けます。
forloop.firstsection.indexで「最初の1枚だけeager」にします。
それ以外はloading: 'lazy'で後回しにします。

発展:レイアウトシフトと非推奨のimg_url

image_tagwidth / heightを自動で付けます。
さらにCSSのaspect-ratioとプレースホルダーで領域を先に確保しておくと、表示がずれません。
古いimg_urlは動きますが非推奨です。
サイズ指定が'800x'の文字列で、srcsetを出せません。
新しく書かず、見つけたら置き換えます。

ステップ1 / 2

ShopifyはShopify Inc.の商標です。本サイトは個人が制作した非公式の学習教材であり、同社の承認・提携・後援を受けていません。記載内容は2026-09時点のものです。料金・上限値・管理画面のラベルは変わるため、作業の前に公式ドキュメントで確認してください。