"Production domain serving stale content despite successful deploy, alias set, and CDN purge

Subject: Production domain serving stale content despite successful deploy, alias set, and CDN purge

Hi Vercel Support,

I’m seeing a production domain consistently serve stale content from an old deployment, despite multiple successful operations that should have resolved it. Details below.

Project: purple-reign-sanctuary
Team: opal-mc-knight-kleinsasser-s-projects
Domain: purple-reign-sanctuary.vercel.app

What I expected:
After deploying new content and confirming the domain alias, purple-reign-sanctuary.vercel.app should serve the new deployment (16 recipe entries in the page content).

What’s actually happening:
The domain continues to serve an old deployment (5 recipe entries), even after each of the following steps reported success:

  1. Ran vercel --prod from a clean local folder containing only the correct index.html. CLI confirmed:

  2. Confirmed via dashboard that purple-reign-sanctuary.vercel.app is attached to this project under Domains, showing “Valid Configuration” and “Production.”

  3. Ran vercel cache purge --type cdn for the project — confirmed “Successfully purged the CDN cache.”

  4. Checked response headers directly (browser dev tools, Network tab) and confirmed X-Vercel-Cache: HIT on requests to the domain, even after the purge.

  5. Ran vercel inspect on the new deployment (dpl_A94G31CvGSLd2nYxkvPG8XFtpvzJ) and found its Aliases list only included:
    https://purple-reign-sanctuary-opal-mc-knight-kleinsasser-s-projects.vercel.app
    — NOT purple-reign-sanctuary.vercel.app, despite the dashboard showing that domain as correctly attached to the project.

  6. Ran vercel alias set https://purple-reign-sanctuary-j7169wzmh.vercel.app purple-reign-sanctuary.vercel.app — CLI confirmed:
    “Success! https://purple-reign-sanctuary.vercel.app now points to https://purple-reign-sanctuary-j7169wzmh.vercel.app

  7. Re-checked purple-reign-sanctuary.vercel.app immediately after step 6 — still serving the old 5-recipe content.

Additional context:

  • There is a second, older deployment (dpl created ~15 days ago, URL https://purple-reign-sanctuary-47ii14wxl.vercel.app) also marked “Production” in vercel ls output for this same project.
  • This project was originally deployed via drag-and-drop (no Git repository connected).
  • Earlier in this process, I had briefly moved this domain to a different project (purple-reign-recipes-update) and then moved it back to purple-reign-sanctuary via the dashboard’s “Move Domain” flow.

Could someone help me understand why the alias and cache-purge commands are reporting success without the actual production content updating? I’d like to confirm whether this is an account-level caching/alias propagation issue, or something specific to having two deployments both marked “Production” for the same project.

Thank you,
Opal McKnight-Kleinsasser

Hi Opal,

I’d separate the cache question from the alias/promotion question first. X-Vercel-Cache: HIT can be normal for static content, but if the domain is still serving the 5-recipe version, the more important clue is that vercel inspect did not show purple-reign-sanctuary.vercel.app in the new deployment’s aliases.

A CDN purge will not fix a domain that is still pointing at the wrong deployment. I’d first confirm the new deployment itself has the right content, then promote that deployment instead of only aliasing it manually:

# Check a recipe/title that only exists in the new 16-recipe version
curl -s https://purple-reign-sanctuary-j7169wzmh.vercel.app | grep "unique-new-recipe-title"
curl -s https://purple-reign-sanctuary.vercel.app | grep "unique-new-recipe-title"

# Promote the known-good deployment
vercel promote https://purple-reign-sanctuary-j7169wzmh.vercel.app
vercel promote status purple-reign-sanctuary

If the deployment URL shows the 16-recipe content but the production domain still shows 5 recipes after the promotion finishes, then the build artifact is fine and I’d look for a domain assignment issue: another project still holding the alias, a branch/domain assignment, a redirect, or the domain being attached differently after the earlier “Move Domain” step.

I’d also run:

vercel alias ls

and check whether purple-reign-sanctuary.vercel.app is listed against the older deployment. If it is, remove/reassign that alias rather than continuing to purge cache.