Go-Live Clearance

Vercel · deployment · go-live

Vercel Go-Live Checklist

Vercel makes deploys easy — and that is exactly how *.vercel.app URLs end up on Product Hunt. Paste your production URL — we check domain binding, HTTPS, canonical, OG, and stamp CLEARED / HOLD / DENIED.

Vercel-specific launch failures

These happen because the Vercel defaults are safe for development but wrong for launch day.

  • Custom domain not attached (still *.vercel.app)

    You share the preview URL. Canonical, OG, and Search Console all attach to the Vercel subdomain — not your brand.

  • Apex and www both resolve without redirect

    Two valid hosts with the same content. Google picks one — you cannot control which. Search signals split.

  • NEXT_PUBLIC_SITE_URL still points at *.vercel.app

    OG images and canonical URLs are generated relative to the preview host. Social cards break on the real domain.

  • Preview deployment promoted instead of Production

    Vercel keeps the latest successful build as Production. If you manually promote a Preview deploy, you may skip env checks.

  • Environment variable missing in Production (only set in Preview)

    Env vars are per-environment in Vercel. A key set in Preview does not automatically exist in Production.

Vercel go-live fixes

Do these in the Vercel Dashboard before you share any URL publicly.

Vercel Dashboard → Domains

# 1. Add your domain (apex + www)
# 2. Wait until SSL status = "Valid"
# 3. Choose canonical host:
#    - Either apex → www redirect, or www → apex
#    - Vercel shows a redirect toggle next to each domain

# 4. Update env var:
NEXT_PUBLIC_SITE_URL=https://www.yourdomain.com

# 5. Redeploy (required after NEXT_PUBLIC_* change)

vercel.json — region + build (if needed)

{
  "regions": ["iad1"],
  "buildCommand": "pnpm next build",
  "installCommand": "pnpm install"
}

Still check by hand

  • Confirm both apex and www resolve; one should 308 redirect to the other
  • Set all NEXT_PUBLIC_* variables in Production AND Preview environments
  • Verify GA4 and Search Console are on the production domain, not *.vercel.app
  • Re-scan after every domain or env change

Related