Purpose & Expected Result
Deploy the Cloudberrie public website as the first Cloudflare Pages project, validate it on a temporary Pages URL, move DNS safely, then make cloudberrie.com the production domain.
Prerequisites
1. Create the Website Repository
Create the repository
Inside the Cloudberrie GitHub organization, create a private repository such as cloudberrie-website. Leave README, .gitignore, and license unchecked if local files already exist.
Push the website
Verify GitHub
Open the repository and confirm the website files are visible, the repository is private, and no secrets or credentials were committed.
2. Create the Cloudflare Pages Project
Connect GitHub
Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git. Authorize the Cloudflare GitHub App only for the required organization/repositories.
Select repository
Choose cloudberrie-website and the main production branch.
Configure the build
| Setting | Value for static site |
|---|---|
| Framework preset | None |
| Build command | Leave blank |
| Build output directory | / or the folder containing index.html |
| Environment variables | None unless the site explicitly needs them |
Deploy
Start deployment and wait for a successful status. Cloudflare creates a URL similar to cloudberrie-website.pages.dev.
3. Test the pages.dev Deployment
4. Prepare and Move DNS Safely
Export the current zone
Capture every existing record from the current DNS provider before making changes.
| Record group | Why it matters |
|---|---|
| MX | Controls where @cloudberrie.com email is delivered |
| SPF TXT | Authorizes email senders |
| DKIM TXT | Signs outgoing Workspace email |
| DMARC TXT | Defines authentication policy and reporting |
| Verification TXT | Google, Search Console, Meta, and third-party ownership |
| A / AAAA / CNAME | Existing website and subdomain routing |
Add the zone to Cloudflare
- Cloudflare → Add a domain/site → enter cloudberrie.com.
- Select the intended plan.
- Review Cloudflare’s imported DNS records line by line against the export.
- Add any missing Google Workspace and verification records before changing nameservers.
Change nameservers
- Copy the two Cloudflare nameservers.
- Open the registrar where cloudberrie.com is registered.
- Replace the existing authoritative nameservers.
- Save and wait for Cloudflare to show the zone as active.
5. Connect the Production Domain
Add custom domain
Cloudflare Pages project → Custom domains → Set up a custom domain → enter cloudberrie.com.
Add www
Add www.cloudberrie.com as well. Choose a canonical domain and redirect the other version to it.
Wait for SSL
Cloudflare provisions certificates automatically. Do not declare completion until both root and www load securely without warnings.
6. Post-Deployment Verification
Website
7. Rollback & Troubleshooting
| Problem | Likely cause | Action |
|---|---|---|
| Website works on pages.dev but not custom domain | DNS/custom-domain provisioning | Review Pages custom domain status, DNS records, and SSL issuance |
| Email stopped after nameserver change | Missing or incorrect MX/TXT records | Restore exported Workspace records immediately; verify DNS-only |
| Old website still appears | DNS cache or stale A/CNAME | Remove conflicting records and allow propagation |
| Build failed | Wrong output directory or unsupported build | Confirm index.html location and static-site settings |
Release Record
Record repository URL, Pages project name, pages.dev URL, production domain, DNS change date, approver, Cloudflare account owner, registrar, and final verification result.