cloudflare-deploy.md 3.6 KB


description: Cloudflare Pages deploy procedure for gazperi.com — Wrangler from local repo, custom domain, rollback.

load-when: Deploying the site, debugging a deploy failure, or rotating Cloudflare access.

Cloudflare deploy

Hosting: Cloudflare Pages, project name gazperi-com. Domain gazperi.com is on Cloudflare nameservers (registrar: Hostinger). Deploys are triggered manually from the local repo via Wrangler — no CI, no GitHub remote.

One-time setup

Item Where
Cloudflare account https://dash.cloudflare.com
Pages project gazperi-com (created via dashboard or wrangler pages project create gazperi-com).
Wrangler login npx wrangler login once per machine.
Custom domain Bound via Pages → Custom Domains → gazperi.com and www.gazperi.com.
DNS gazperi.com zone managed in Cloudflare; nameservers set at Hostinger.
Environment variables Pages → Settings → Environment Variables: POSTHOG_KEY, POSTHOG_HOST (production + preview).

Build locally. cd /Users/gazperi/Developer/SITE/site-com && npm run build. Confirm build/ is fresh and npm run serve smoke-passes.

Deploy. npx wrangler pages deploy build --project-name=gazperi-com. Wrangler prints a *.pages.dev preview URL (current deploy) and the production URL. Visit the preview URL first to verify the build before traffic flips.

Promote to production. Cloudflare Pages auto-promotes the latest deploy to production. To deploy to a named branch instead: --branch=preview (or other). Production lives on main-equivalent default branch alias.

Verify live. curl -I https://gazperi.com returns 200 and the right headers. Open the site, click Educação, confirm the docs route works, confirm PostHog events fire.

Rollback. Cloudflare Pages → project → Deployments → choose a previous successful deploy → "Rollback to this deployment". Or redeploy a previous local build state.

DNS cutover (one-time, when migrating from another host)

  1. In Cloudflare, add the gazperi.com zone. Cloudflare scans existing DNS records; review and accept.
  2. In Hostinger console, change the domain's nameservers to the two Cloudflare values shown.
  3. Wait for propagation (dig NS gazperi.com — should return ns1.cloudflare.com / similar). Typically minutes; can be hours.
  4. Bind gazperi.com and www.gazperi.com (CNAME redirect to apex) to the Pages project under Custom Domains.
  5. Cloudflare provisions SSL automatically. Verify HTTPS works.
  6. The previous host (Netlify) remains live until propagation completes — no downtime if records are correct.

Rollback the cutover: revert nameservers at Hostinger to the previous values. Domain returns to the old host within propagation window.

  • wrangler pages deploy without --project-name — picks an interactive prompt, fragile in scripts.
  • Editing DNS records directly in Cloudflare while nameservers still point at Hostinger — changes have no effect.
  • Skipping the preview-URL check before promoting to production.