Cloudflare moved its own blog to its pre-1.0 CMS, EmDash
Cloudflare has published an account of moving its main blog from its previous CMS vendor to EmDash, the open-source content management system it built for Astro and its own platform. The switch itself happened on 12 August; the write-up covers what the team tested, what broke and how the traffic was moved. Cloudflare describes itself as "Customer Zero" for the product, and says an internal engineering standard requires teams to justify using an external vendor when an internal product could do the job.
The load profile shaped the design. The blog normally sees about 75 requests per second, with spikes above 5,000. The team used k6 to run three scenarios - a ramp to three times the production baseline, a breakpoint test and a sudden burst of 7,000 requests per second - and set explicit pass criteria: fewer than 0.01% of requests returning 5xx, 95th-percentile latency under 500 ms and 99th under one second. The production setup runs EmDash on Workers behind the new Workers Cache, with an object cache on Workers KV that the EmDash team built for this case and a Hyperdrive connection to PlanetScale. Cloudflare says 99.5% of static files and 70% of requests are now served from cache.
The cutover used a proxy Worker that set a version cookie and routed each visitor to the old or new site, falling back to the old blog whenever the new one returned a 500 error. Traffic went from 1% to 5% to 15% and on to 100% within the launch day.

What it means
The most useful detail for anyone adopting a young platform is the one Cloudflare calls its biggest oversight: scheduled posts did not work until EmDash 0.19.0. For a publication, a scheduled post that silently fails is discovered at the worst moment - after the time it was meant to go out. The team found it in usability testing rather than in production, which is the argument for writing down every routine workflow and actually running it before migrating.
The rollout pattern is the other transferable part. A proxy that pins users to a version with a cookie keeps each reader's experience consistent, while per-request fallback on server errors turns a bad deploy into a slower page rather than an outage. Neither needs Cloudflare specifically; any edge proxy or load balancer that can read a cookie can do it. What is specific is the result: the company notes EmDash is still pre-1.0, with editor-experience gaps reported upstream and no announced date for version 1.