Cloudflare recently documented the migration of its main blog from WordPress to EmDash, the open source content management system developed internally. The new platform is designed to improve performance and caching, and it was tested to handle traffic of up to 7000 requests per second.
As previously reported on InfoQ, Cloudflare introduced the v0.1.0 developer preview of EmDash last April, a new CMS built in TypeScript and designed as a successor to WordPress. Cloudflare’s production setup runs EmDash on a Worker with multiple caching layers, including Workers Cache and an EmDash object cache built on Workers KV. It also uses Cloudflare Hyperdrive to connect EmDash to a PlanetScale database.

Source: Cloudflare blog
The company describes itself as "Customer Zero" for the new CMS, migrating their own blog to EmDash, after identifying limitations with the existing platform. The team says the blog typically handles about 75 requests per second, with spikes above 5000 RPS, making page load performance an important consideration.
According to Kody Jackson, senior manager of content engineering at Cloudflare, Diogo Carneiro, systems engineer at Cloudflare, and Amy Dutton, senior design engineer, the migration delivered a faster and more reliable site:
Comparing p95 response latencies between the old architecture (green line) and the new EmDash setup (yellow line) revealed a stark difference. Where the previous platform experienced periodic latency spikes under load, the new system maintains a remarkably flat, consistent response profile. By running EmDash on Cloudflare Workers alongside our new caching layers, we’ve delivered a significantly faster and more performant reading experience across the board.
Cloudflare used a proxy Worker to gradually route traffic from WordPress to EmDash, with automatic fallback to the legacy site if errors occurred. The rollout started at 1% of traffic and increased progressively as the team validated the new platform, reaching 100% in a single day. Jackson, Carneiro, and Dutton add:
We deployed a proxy Worker to intelligently route traffic between the legacy blog and the new EmDash-powered site. This Worker set a version cookie on requests, which then let us route incoming traffic to the new or legacy experience accordingly. Additionally, this strategy allowed us to fall back to the legacy blog if the new site experienced any 500 errors.
-1788551179579.jpg)
Source: Cloudflare blog
Discussion on Reddit focuses on the migration strategy, with one commenter highlighting the proxy Worker, cookie-based routing, and fallback mechanism:
The zero-downtime proxy Worker plus cookie routing is the part most teams underestimate. A good rollout plan usually needs a kill switch, per-request fallback, and metrics split by cohort so you can catch cache regressions before the 1% becomes 100%.
The migration also improved access for AI agents, with a new MCP server for the Cloudflare Blog and another for EmDash that lets authors browse, create, edit, publish, and schedule content.
On Reddit, user u/themistermeister compares EmDash to Ghost and writes:
EmDash's cost is much less and the AI interactivity is much greater. And it has near infinite extendibility with a brilliant roadmap.
According to the article, editors encountered some early adoption issues, mostly with the editing experience and scheduled posts. These were reported to the EmDash team, which Cloudflare says is working toward a v1 release soon, although no official date has been announced.