How to Deploy an Astro Site to Vercel with a Custom Domain
This is the exact process I followed to get blog.bennerdo.org live on Vercel in under 30 minutes.
Prerequisites
- An Astro project pushed to GitHub
- A Vercel account (free)
- Access to your domain’s DNS settings
Step 1: Push Your Project to GitHub
git init
git add .
git commit -m "initial commit"
git branch -M main
git remote add origin https://github.com/yourusername/your-blog.git
git push -u origin main
Step 2: Import Project on Vercel
- Go to vercel.com and sign in
- Click Add New → Project
- Import your GitHub repository
- Vercel auto-detects Astro — no configuration needed
- Click Deploy
Your site is now live at your-project.vercel.app.
Step 3: Add Your Custom Domain
In your Vercel project dashboard:
- Go to Settings → Domains
- Add
blog.bennerdo.org - Vercel will show you a CNAME record to add
Step 4: Update Your DNS
In your domain registrar (e.g., Namecheap, Cloudflare, Google Domains):
Add this CNAME record:
| Type | Host | Value | TTL |
|---|---|---|---|
| CNAME | blog | cname.vercel-dns.com | Auto |
If your DNS is on Cloudflare, make sure to disable the proxy (grey cloud, not orange) for the CNAME to work correctly with Vercel’s SSL.
Step 5: Wait for DNS Propagation
DNS changes can take anywhere from 5 minutes to 48 hours. Vercel will automatically provision an SSL certificate once the domain resolves.
Check propagation status at dnschecker.org.
Step 6: Submit to Google Search Console
Once your domain is live:
- Go to Google Search Console
- Add your property (
blog.bennerdo.org) - Verify via HTML meta tag or DNS record
- Submit your sitemap:
https://blog.bennerdo.org/sitemap-index.xml
Google will start crawling within 24–72 hours.
Bonus: Enable Vercel Analytics
In your Vercel dashboard, go to Analytics and enable it. It’s free and privacy-friendly — no cookies required.
That’s it. Your blog is live, indexed, and tracked.