Cloudflare Workers + Astro
The company was stuck on a slow Wix site with rigid page templates and fragile quote routing.
Rebuilt 49 static pages from Markdown in Astro 7 with zero JavaScript by default, added a Cloudflare Worker (`POST /api/quote`) for quote capture, copied MX email records first, and cut DNS over from Wix on 2026-10-15 with apex-to-www 301 redirect rules.
Live since 2026-10-15 (`200 OK`), with GitHub Actions reading the `x-build` commit SHA header back from the live domain after every merge.
Needed a modern 27-page marketing site and a one-question-at-a-time `/join` wizard without breaking ~20 legacy WordPress member-portal URL patterns.
Built the 27-page Astro 7 site and configured a Cloudflare Worker route proxy (`worker/index.ts`) that passes ~20 member-portal path patterns through to the legacy WordPress server while swapping in the new header and footer.
Cut over live on 2026-10-08; mobile Lighthouse performance rose to 97–99 on the home page and one article’s lab Largest Contentful Paint dropped from 10.65s to 1.58s.
$0 to $5/month on Cloudflare Workers (Free tier covers 100,000 requests/day; Workers Paid is $5/month for 10M requests), $0 for Astro 7 (open source), and $0 for Cloudflare DNS (as of 2026-10-22).
Astro compiles Markdown and components into static assets served by Cloudflare Workers (`wrangler.jsonc`), while the Worker script handles `/api/quote` or `/api/inquiries/contact` POST routes, legacy path proxying, and an `x-build` HTTP header verified by GitHub Actions after deploy.
Both client repositories initially had `.github/workflows/watchdog.yml` pointed only at the `*.workers.dev` preview URLs instead of the production custom domains. In addition, moving DNS off Wix without copying MX records first will drop company email—so our cutover runbook copies and verifies MX/TXT records before changing nameservers.
Compared against Wix (the legacy platform we replaced, which shipped heavy client-side JS), WordPress (kept behind the Worker only for legacy member-portal routes), Vercel, and Netlify. We picked Astro + Cloudflare Workers because one Worker config handles static assets, edge form APIs, DNS redirects, and legacy server proxying for $0–$5/month.
