# Vercel Domain

> Full domain setup workflow. DNS configuration -> Vercel linking -> HTTPS verification -> Supabase redirect URL update -> Stripe webhook URL update -> Search Console registration. Use when setting up a custom domain for a Vercel project.

- Skill: `koach08/vercel-domain` (Agent Skill)
- Install (CLI): `npx skillmds@latest add koach08/vercel-domain`
- Raw SKILL.md: https://api.skillmd.com/api/skills/koach08/vercel-domain/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: koach08 (https://skillmd.com/u/koach08)
- Updated: 2026-09-21
- Page: https://skillmd.com/skills/koach08/vercel-domain

---


# Vercel Domain — Full Domain Setup Flow

Guide the complete setup of a custom domain from start to finish.

---

## Prerequisites Check

- **Domain**: Where was it purchased? (Cloudflare / GoDaddy / Namecheap / etc.)
- **Vercel project**: Already linked?
- **Supabase**: In use? (redirect URL update needed)
- **Stripe**: In use? (webhook URL update needed)

---

## Steps

### 1. Add Domain to Vercel

```bash
vercel domains add {domain}
# Or via Vercel Dashboard > Settings > Domains
```

### 2. DNS Configuration

**Direct Vercel connection (recommended):**
- `A` record: `76.76.21.21`
- `CNAME` (www): `cname.vercel-dns.com`

**Via Cloudflare:**
- Set Proxy to OFF (DNS Only), or
- Set Cloudflare SSL to Full (Strict)

### 3. HTTPS Verification

```bash
# After DNS propagation (up to 48 hours, usually minutes)
curl -I https://{domain}
# 200 OK means it's working
```

### 4. Update Supabase Redirect URLs

Supabase Dashboard > Authentication > URL Configuration:
- Site URL: `https://{domain}`
- Add to Redirect URLs:
  - `https://{domain}/**`
  - `http://localhost:3000/**` (for development)

### 5. Update Stripe Webhook URL

Stripe Dashboard > Developers > Webhooks:
- Change endpoint URL to `https://{domain}/api/stripe/webhook`
- Or add a new endpoint

### 6. Register with Google Search Console

1. Add `https://{domain}` to Search Console
2. Verify via DNS or HTML file
3. Submit sitemap: `https://{domain}/sitemap.xml`

### 7. Update URLs in App Code

```bash
# Search for hardcoded URLs in source
grep -r "localhost:3000\|vercel.app" src/
```

Update environment variables like `NEXT_PUBLIC_APP_URL` to the production domain.

---

## Checklist

- [ ] Domain is recognized by Vercel
- [ ] HTTPS access works
- [ ] www -> apex (or reverse) redirect works
- [ ] Supabase Auth redirects work
- [ ] Stripe webhook works at new URL
- [ ] Search Console ownership verified
- [ ] sitemap.xml submitted
- [ ] OG image URLs use new domain

