
Vercelにデプロイしたはずなのに、ブラウザで見ると古いまま。
この現象は、Vercel運用では決して珍しくありません。
原因は単純なミスから、キャッシュや運用設計まで多岐にわたります。
本記事では「見る側 → 配信 → ビルド/アプリ」の順で切り分けできるよう、
実務で再現性の高いチェックリストとして整理します。
まず最初に行う切り分け(最優先)
本番URLを見ているか確認する
- Preview Deployment のURLを見ていないか確認
- Production Deployment に正しく紐づいているかをVercelダッシュボードで確認
- Promote運用をしている場合、プロモート済みか確認
参照情報種別:Vercel公式ドキュメント(Git連携 / Promote)
更新時期:2025年後半
ブラウザキャッシュを除外する
- シークレットウィンドウで確認
- ハードリロードを実行
- 可能なら別回線・別端末で確認
参照情報種別:Vercel公式コミュニティ
更新時期:継続更新
外部CDN・DNSの影響を確認する
- Cloudflareなどを前段に置いていないか
- 外部CDNのキャッシュが残っていないか
- ドメインが最新のProduction Deploymentを向いているか
参照情報種別:Vercel公式KB
更新日:2025-11-10
Vercel側のキャッシュで止まるケース
Edge Network(CDNキャッシュ)
- Vercelはエッジ配信を行うため、地域差で反映が遅れる体感が出ることがある
- 外部CDNと併用している場合、二重キャッシュになりやすい
対応策:
- 外部CDNのキャッシュを一時的に無効化
- 複数リージョンからアクセスして差分確認
参照情報種別:Vercel公式KB / コミュニティ
更新時期:2024〜2025年
Data Cache / Next.jsのデータキャッシュ
- HTMLは更新されているが、表示データだけ古い場合に多発
- fetchキャッシュ、ISR、revalidate設定が原因になる
注意点:
- 再検証が失敗すると古いデータを返し続ける仕様
- revalidateTag / revalidatePath は万能ではない
参照情報種別:Vercel公式ドキュメント / Next.js公式
更新日:2025-10-22
運用面での見落としチェック
プロモートされていない
- ビルド成功=本番反映ではない
- Promote運用では手動操作が必要
参照情報種別:Vercel公式ドキュメント
更新日:2025-09-24
ビルドキャッシュが効いている
- 同一コミット再デプロイでも結果が変わらない場合がある
対応策:
- Redeploy時に Build Cache を無効化
- CLIで
vercel --force - 環境変数
VERCEL_FORCE_NO_BUILD_CACHE=1
参照情報種別:Vercel公式ドキュメント
更新日:2025-11-25
Git連携が正しく動いていない
- Production Branch にマージされていない
- 権限・チーム設定によりデプロイが生成されないことがある
確認点:
- 該当コミットのデプロイが作成されているか
- Vercelダッシュボード上でステータス確認
参照情報種別:Vercel公式KB / Git連携ドキュメント
更新時期:2025年
Next.js(ISR / App Router)特有の注意点
ISRの再生成が失敗している
- 再生成に失敗すると古いページを配信し続ける仕様
- ログを必ず確認する
キャッシュ層の不一致
- ページHTMLが古いのか
- データ取得結果が古いのかを明確に切り分ける
まとめ
- URLと環境(本番/プレビュー)を最初に確認
- 次に外部CDN・DNS・キャッシュを疑う
- Vercelの運用(Promote・Build Cache)を確認
- 最後にNext.jsのISR・データキャッシュ設計を見る
反映されない原因の多くは「キャッシュ層のズレ」か「運用上の前提条件」です。
この順番で確認すれば、不要な再デプロイを繰り返さず、冷静に切り分けできます。