Action RequiredPlatform

ファイルを差し替え・削除しても
CDN URL が自動パージされなくなった

2026年4月7日以降、Shopify 管理画面でファイルを差し替え/削除しても、cdn.shopify.com/... のキャッシュは即座に消えない。古い内容が TTL 切れまで配信され続ける。対策は「バージョン付き URL(?v=...)を動的に出力する」こと。

このページの構成
  1. 何が変わったのか(30秒で理解)
  2. 仕組み図解 : 差し替え時の挙動(Before / After)
  3. なぜこの変更が行われたのか
  4. 安全なパターン vs 壊れるパターン
  5. 対策 : 3つの実装パターン
  6. 技術者が押さえるべき5つのポイント
  7. 業務に活かせる3つのユースケース
  8. 提案で使える1行サマリ

1何が変わったのか

今までは、管理画面でファイルを差し替え/削除すると Shopify が CDN 上の URL を能動的にパージしていた。
2026年4月7日以降、その自動パージが 行われなくなった。同じ URL のキャッシュは、TTL(Time To Live)が切れるまで旧コンテンツを配信し続ける

従来 : 差し替え=即パージ

ファイルを置き換えると Shopify が cdn.shopify.com/... のキャッシュを自動で消し、すぐに新しい内容が配信された。

2026/4/7〜 : パージしない

差し替え・削除しても同じ URL はパージされない。旧コンテンツが TTL 切れまで残るため、見た目が更新されない期間が生じる。

Action Required(要対応)cdn.shopify.com/... の URL を ベタ書き(ハードコード)している箇所は、ファイルを差し替えても古い内容を返し続ける。動的パターンへの移行が推奨されている。

2仕組み図解 : 差し替え時の挙動(Before / After)

BEFORE(〜2026/4/6) ファイル差し替え /削除 CDN を自動パージ キャッシュ削除 新コンテンツを配信 即時反映 AFTER(2026/4/7〜) ファイル差し替え /削除 パージしない 同じ URL のまま 旧コンテンツを配信 TTL 切れまで継続 ?v=... を出力すれば 新 URL = 即反映
ポイント : 解決の鍵は「URL を変えること」。Shopify の URL ヘルパーはファイルが更新されると ?v=... のバージョンパラメータを最新値で付け直す。URL が変われば CDN は別物として扱い、新コンテンツが即配信される。

3なぜこの変更が行われたのか

CDN パージ量の削減

記事に明記 : 差し替えのたびに発生していたパージ処理の総量を減らすことが狙い。

エッジプロバイダー間の一貫性向上

記事に明記 : 複数のエッジ(CDN)プロバイダーをまたいだ配信の整合性を高めることが狙い。

TTL の具体的な秒数や、対象ファイル種別の細目は記事に 記載なし。挙動を正確に把握したい場合は実際の配信レスポンス(キャッシュヘッダー)を確認すること。

4安全なパターン vs 壊れるパターン

記述方法差し替え後の挙動判定
テーマで file_url / image_url / asset_url
Liquid フィルタで参照
最新の ?v=... 付き URL が出力され、新コンテンツが配信される 安全
商品にネイティブ Media アップローダで挿入
画像・動画を直接アップロード
Shopify がバージョン付き参照を管理 → 更新が反映される 安全
アプリ/外部連携でリクエスト時に URL を取得
Admin GraphQL / Storefront API から都度取得
常に最新 URL を取得 → 更新が反映される 安全
商品説明・ブログ記事に <img src="cdn.shopify.com/..."> をベタ貼り 差し替えても 元の内容を返し続ける 壊れる
テーマコードに cdn.shopify.com/... をハードコード 差し替えても 元の内容を返し続ける 壊れる
印刷物などに固定 URL を記載
アプリ等が URL をキャッシュ保持している場合も同様
差し替えても 元の内容を返し続ける 壊れる

5対策 : 3つの実装パターン

1

テーマ

Liquid フィルタ file_url / image_url / asset_url を使ってファイル参照をレンダリングする。

2

商品

説明文に <img> を貼らず、ネイティブの Media アップローダで画像・動画を挿入する。

3
API

アプリ/外部連携

URL をキャッシュせず、リクエスト時に Admin GraphQL API / Storefront API から取得する。

いずれの方法も共通して、現在のバージョン付き URL(?v=...)を常に出力するのが目的。これにより、ファイルを差し替えるたびに URL が更新され、顧客に最新コンテンツが届く。

6技術者が押さえるべき5つのポイント

?v=...

1. 解決の本質は「URL を変える」こと

パージではなく、バージョンパラメータ ?v=... でキャッシュキー自体を変える設計に寄せる。URL が変われば CDN は新規扱いになる。

2. ハードコード cdn.shopify.com が地雷

商品説明・ブログ・テーマコード・印刷物に固定 URL を埋め込んでいる箇所は、差し替えても更新されない。棚卸しの対象。

GraphQL

3. アプリは URL をキャッシュしない

外部連携でファイル URL を DB やキャッシュに保存している実装は要見直し。リクエスト時に Admin / Storefront API から取得する。

4. 更新は「即時」ではなく TTL 依存

動的パターンに移行していない既存 URL は、TTL が切れるまで旧内容のまま。具体的な TTL 値は 記載なし

5. テーマは URL ヘルパーへ全面移行する

テーマ内の静的アセットやファイル参照は file_url / image_url / asset_url 経由に統一する。新規開発はもちろん、既存テーマのコードレビューでもハードコード URL を検知する仕組み(grep / リンタ)を入れておくと事故を防げる。

7業務に活かせる3つのユースケース

古い画像のまま
USE CASE 1

「差し替えたのに反映されない」問い合わせの未然防止

課題
キャンペーンバナーや商品画像を同じファイル名で差し替える運用をしていると、4/7 以降は古い画像が表示され続け「更新が反映されない」という問い合わせが発生する。
打ち手
テーマ・商品の画像参照を URL ヘルパー/ネイティブ Media に統一し、ハードコード cdn.shopify.com を全面排除する。
効果
差し替え即反映が担保され、サポート工数と「公開事故」リスクを削減。
技術メモ
既存テーマ・商品説明を cdn.shopify.com で grep して棚卸し。TTL の明示値は記載なしのため、反映タイミングは挙動確認が必要。
App / API request 時に取得 最新 ?v= URL
USE CASE 2

外部連携・自社アプリの「URL キャッシュ」棚卸し

課題
商品画像 URL を自社 DB やキャッシュ、メール配信・PIM・広告フィード等に保存している連携は、ファイル差し替え後に古い画像を出し続ける。
打ち手
保存済み URL を廃し、配信・表示の リクエスト時に Admin GraphQL API / Storefront API から URL を取得する設計へ変更。
効果
商品ビジュアルの鮮度を全チャネルで担保。誤った画像配信による機会損失・クレームを防止。
技術メモ
取得頻度が増えるため、API のレート上限とレスポンスのキャッシュ戦略(URL ではなく問い合わせ結果側の短期キャッシュ)を併せて設計する。
USE CASE 3

移行・コードレビューに「ハードコード URL 検知」を組み込む

課題
テーマ開発・サイト移行案件で、過去に貼られた cdn.shopify.com/... 固定 URL がレビューをすり抜け、リリース後に更新不能な画像が残る。
打ち手
CI / コードレビューのチェック項目に「cdn.shopify.com ハードコード禁止 → URL ヘルパー必須」を追加し、検出を自動化する。
効果
差し替え不能アセットの混入をリリース前に機械的にブロック。納品物の保守性が上がる。
技術メモ
テーマは file_url / image_url / asset_url への置換を必須化。商品説明への <img> ベタ貼りも運用ルールで禁止する。

8提案で使える1行サマリ

「2026/4/7 以降、ファイルを差し替えても CDN は自動パージされず、旧内容が TTL 切れまで残る。
対策はバージョン付き URL(?v=...)の動的出力に統一すること
テーマは URL ヘルパー、商品はネイティブ Media、アプリは API からリクエスト時取得。ハードコード cdn.shopify.com は今すぐ棚卸し。」