2026年4月7日以降、Shopify 管理画面でファイルを差し替え/削除しても、cdn.shopify.com/... のキャッシュは即座に消えない。古い内容が TTL 切れまで配信され続ける。対策は「バージョン付き URL(?v=...)を動的に出力する」こと。
ファイルを置き換えると Shopify が cdn.shopify.com/... のキャッシュを自動で消し、すぐに新しい内容が配信された。
差し替え・削除しても同じ URL はパージされない。旧コンテンツが TTL 切れまで残るため、見た目が更新されない期間が生じる。
cdn.shopify.com/... の URL を ベタ書き(ハードコード)している箇所は、ファイルを差し替えても古い内容を返し続ける。動的パターンへの移行が推奨されている。?v=... のバージョンパラメータを最新値で付け直す。URL が変われば CDN は別物として扱い、新コンテンツが即配信される。
記事に明記 : 差し替えのたびに発生していたパージ処理の総量を減らすことが狙い。
記事に明記 : 複数のエッジ(CDN)プロバイダーをまたいだ配信の整合性を高めることが狙い。
| 記述方法 | 差し替え後の挙動 | 判定 |
|---|---|---|
テーマで file_url / image_url / asset_urlLiquid フィルタで参照 |
最新の ?v=... 付き URL が出力され、新コンテンツが配信される |
安全 |
| 商品にネイティブ Media アップローダで挿入 画像・動画を直接アップロード |
Shopify がバージョン付き参照を管理 → 更新が反映される | 安全 |
| アプリ/外部連携でリクエスト時に URL を取得 Admin GraphQL / Storefront API から都度取得 |
常に最新 URL を取得 → 更新が反映される | 安全 |
商品説明・ブログ記事に <img src="cdn.shopify.com/..."> をベタ貼り |
差し替えても 元の内容を返し続ける | 壊れる |
テーマコードに cdn.shopify.com/... をハードコード |
差し替えても 元の内容を返し続ける | 壊れる |
| 印刷物などに固定 URL を記載 アプリ等が URL をキャッシュ保持している場合も同様 |
差し替えても 元の内容を返し続ける | 壊れる |
Liquid フィルタ file_url / image_url / asset_url を使ってファイル参照をレンダリングする。
説明文に <img> を貼らず、ネイティブの Media アップローダで画像・動画を挿入する。
URL をキャッシュせず、リクエスト時に Admin GraphQL API / Storefront API から取得する。
?v=...)を常に出力するのが目的。これにより、ファイルを差し替えるたびに URL が更新され、顧客に最新コンテンツが届く。パージではなく、バージョンパラメータ ?v=... でキャッシュキー自体を変える設計に寄せる。URL が変われば CDN は新規扱いになる。
cdn.shopify.com が地雷商品説明・ブログ・テーマコード・印刷物に固定 URL を埋め込んでいる箇所は、差し替えても更新されない。棚卸しの対象。
外部連携でファイル URL を DB やキャッシュに保存している実装は要見直し。リクエスト時に Admin / Storefront API から取得する。
動的パターンに移行していない既存 URL は、TTL が切れるまで旧内容のまま。具体的な TTL 値は 記載なし。
テーマ内の静的アセットやファイル参照は file_url / image_url / asset_url 経由に統一する。新規開発はもちろん、既存テーマのコードレビューでもハードコード URL を検知する仕組み(grep / リンタ)を入れておくと事故を防げる。
cdn.shopify.com を全面排除する。cdn.shopify.com で grep して棚卸し。TTL の明示値は記載なしのため、反映タイミングは挙動確認が必要。cdn.shopify.com/... 固定 URL がレビューをすり抜け、リリース後に更新不能な画像が残る。cdn.shopify.com ハードコード禁止 → URL ヘルパー必須」を追加し、検出を自動化する。file_url / image_url / asset_url への置換を必須化。商品説明への <img> ベタ貼りも運用ルールで禁止する。?v=...)の動的出力に統一すること ―cdn.shopify.com は今すぐ棚卸し。」