Bergsify Deployment Reference

Vercel + Cloudflare
Deployment Guide

Step-by-step instructions to deploy the Bergsify website to Vercel and connect www.bergsify.com via Cloudflare DNS — including build configuration, DNS records, SSL setup, and a pre-launch checklist.

Part 1 — Vercel Deployment

1

Import the GitHub repository into Vercel

Go to vercel.com/new and click Import Git Repository. Select the bergsify-website private repo from your GitHub account.

The vercel.json file already committed to the repo will be auto-detected — Vercel will pre-fill all build settings automatically.
2

Confirm build settings

Verify the following settings are applied. They should be pre-filled from vercel.json — adjust only if Vercel did not detect them.

SettingValue
Framework Preset
Vite
Build Command
pnpm build
Output Directory
dist/public
Install Command
pnpm install

The vercel.json committed to the repo root contains these values. For reference:

vercel.json
{
  "buildCommand": "pnpm build",
  "outputDirectory": "dist/public",
  "installCommand": "pnpm install",
  "framework": "vite",
  "rewrites": [{ "source": "/(.*)", "destination": "/index.html" }]
}
3

Deploy and verify the preview URL

Click Deploy. The first build takes approximately 2 minutes. Once complete, Vercel will provide a preview URL (e.g., bergsify-website.vercel.app).

Open the preview URL and confirm the site loads correctly before proceeding to the custom domain step.

A green "Ready" status in the Vercel dashboard confirms the build succeeded. Check all pages and images load correctly on the preview URL.
4

Add your custom domain in Vercel

Navigate to your Vercel project → Settings → Domains. Add www.bergsify.com. Vercel will display the CNAME target value you need for Cloudflare — it will be cname.vercel-dns.com.

Do not click "Verify" in Vercel until you have added the DNS records in Cloudflare (Part 2). SSL certificate provisioning will fail if DNS is not pointing to Vercel first.

Part 2 — Cloudflare DNS Configuration

1

Add CNAME records in Cloudflare

In your Cloudflare dashboard, select the bergsify.com zone and navigate to DNS → Records. Add the following two records:

TypeNameTarget / ValueProxy Status
CNAMEwww
cname.vercel-dns.com
OFF — grey cloud
CNAME@
cname.vercel-dns.com
OFF — grey cloud
Critical: The Cloudflare proxy (orange cloud) MUST be turned OFF (grey cloud / DNS only) on both records. If the proxy is enabled, Vercel cannot provision its SSL certificate via Let's Encrypt, resulting in SSL errors for visitors.
2

Create a root domain redirect rule

Navigate to Rules → Redirect Rules → Create Rule. This rule redirects bare bergsify.com to www.bergsify.com at Cloudflare's edge.

Rule nameRoot to www redirect
Match conditionhostname eq bergsify.com
ActionDynamic Redirect — 301 Permanent
Expression
concat("https://www.bergsify.com", http.request.uri.path)
This redirect rule runs at Cloudflare's edge before the request reaches Vercel, so it works correctly even with grey-cloud (DNS-only) records.
3

Configure SSL/TLS encryption mode

In Cloudflare, navigate to SSL/TLS → Overview. Set the encryption mode to Full (not Full Strict) during initial setup.

✓ Use: Full
Encrypts traffic between Cloudflare and Vercel. Works correctly during initial certificate provisioning.
✗ Avoid: Full (Strict)
Requires a valid CA-signed cert on the origin. Can cause errors before Vercel's cert is fully provisioned.
After Vercel has successfully renewed the SSL certificate at least once (typically within 24 hours), you may upgrade to Full (Strict) for maximum security.
4

Verify domain and SSL in Vercel

Return to your Vercel project → Settings → Domains. The domain status for www.bergsify.com should show Valid Configuration within a few minutes of adding the DNS records.

DNS propagation typically takes 1–5 minutes with Cloudflare, but can take up to 24 hours in rare cases. Once valid, Vercel will automatically provision and renew the SSL certificate.

When https://www.bergsify.com loads with a padlock and no SSL warnings, the deployment is complete.

Pre-Launch Checklist

Check off each item as you complete it. Your progress is saved in this browser session.

Vercel

Cloudflare

Final Checks

Additional Notes

Image Assets on Manus CDN

The hero background, generated visuals, and product screenshots are currently served from Manus CDN URLs. These URLs will continue to work correctly on Vercel. However, they are tied to this Manus project — if the project is ever deleted, those image URLs will break. For full long-term ownership, re-upload the assets to Cloudflare R2 or an S3-compatible bucket and update the image URLs in the source code.

Automatic Deployments

Once connected, every push to the main branch will trigger a new Vercel deployment automatically. Use feature branches for development and staging previews — Vercel generates a unique preview URL for every pull request, allowing you to review changes before merging to production.

Re-enabling Cloudflare Proxy (Optional)

After Vercel has successfully renewed the SSL certificate at least once (typically within 24 hours of initial setup), you may optionally re-enable the Cloudflare proxy (orange cloud) on the CNAME records and upgrade SSL/TLS to Full (Strict). This restores Cloudflare's DDoS protection, WAF, and edge caching on top of Vercel's infrastructure.

Do not enable Full (Strict) before Vercel has provisioned a valid CA-signed certificate. Doing so will cause an SSL handshake error for all visitors.