No server. Pages built as code, served from Cloudflare's edge — the platform already carrying most of our traffic today.
Nothing to crash, nothing to babysit — the team's hours go to growth.
The real reason to move: a site built as code is a site AI can work on. WordPress locks AI out — Astro + Cloudflare hands it the keys.
The site feels fast — but only because Cloudflare hands out a saved copy. Behind that copy, the server is slow. We timed the same pages both ways:
When the saved copy isn't ready — a new page, an edit, a form — a real buyer waits on that slow server. We pay to keep it alive just so Cloudflare has something to copy.
Here's the good news — and the pivot of this whole case: we're not adopting a new platform. We're finishing a move that's already most of the way done.
The fast part and the safe part already live on Cloudflare. Only the page-building server is left — the part that crashes, gets attacked, and costs us. Move it over, and there's nothing left to babysit.
Delivery is a network problem, not horsepower — so the question is "which network," and we're already on Cloudflare: it already caches our pages and guards them today.
A forward-looking argument: the target keeps growing, attacks are automated, and we can't predict what's next.
Today we stay safe by patching — racing to close each hole before a bot finds it. AI makes that race worse: attackers now exploit weaknesses at machine speed, for almost nothing. Winning it every day, forever, isn't a strategy — it's a standing risk.
On the new setup, what attackers hunt for isn't there: no WordPress, no plugins, no database, no login. What's left is prebuilt pages behind the same Cloudflare network that already blocks those attacks. Holes to exploit: effectively zero.
Build every page once, ahead of time, and serve it from Cloudflare's network worldwide — with no server in the middle to crash, slow down, or be attacked.
Same content, no server of our own. Each site stands on its own — one site's spike can't drag the others down.
Every type of content we have gets a fast, low-cost home on Cloudflare — with no server to maintain:
| Content | Where it lives | Why it's better |
|---|---|---|
| Text & product pages | Cloudflare edge | Instant to load, with nothing that can crash |
| Images | Cloudflare edge, auto-optimized | Lighter and faster automatically — better on mobile |
| Docs & datasheets | Turned into real web pages | Faster, searchable, and found by Google — unlike a PDF |
| Video | Cloudflare Stream | Built for smooth video, still no server of ours |
| Brochures / PDFs | Our own brochure viewer | The exact system we already run in production today |
| Forms & lookups | Tiny functions, run on click | Cost pennies, and only when someone actually uses them |
None of it brings a server back. Puzzles and games run in the visitor's browser, not on our machine. If a game saves a score, those few kilobytes go to Cloudflare — pennies, still no server. We keep that door open by design.
The exact stack this document argues for is proven at scale. A few names shipping on Astro today (each is a live link):
Source: Astro's official showcase (astro.build/showcase).
It isn't zero — a Cloudflare plan and domains still cost something. But the server bill collapses from a fleet of machines to a small flat fee.
DigitalOcean: $391/mo (real May invoice) = ~$4,700/yr — prod + replica + staging + backups + IPs. On top: Bluehost hosting ($359.64/3 yr + $22/yr domain), a Jetserver, licenses, and domains. The new stack is estimated at ~$300–500/yr.
Nothing here is a guess. Sources, so any number can be checked.
Rebuilding innova.co — decision brief, July 2026. Built in Astro, served as a static site on Cloudflare — the same stack it recommends. The medium is part of the argument.