Cloudflare has completed the migration of its own blog from WordPress to EmDash, an open source content management system it built internally and released as a developer preview in April 2026. The company describes itself as "Customer Zero" for the platform, putting its own content infrastructure through the same challenges any external user would face.
Why Cloudflare Left WordPress
The migration was driven by limitations in the existing platform. Cloudflare's blog handles roughly 75 requests per second under normal conditions, with spikes above 5,000 RPS during peak periods. Page load performance under those spikes was a significant concern, and the company wanted a system that could maintain consistent response times as traffic surged.
EmDash was built in TypeScript as a successor to WordPress, designed with performance and caching as first-class concerns rather than afterthoughts. The decision to build internally rather than adopt an existing solution came from Cloudflare's own engineering constraints and its position as a major infrastructure provider.
An Architecture Built on Cloudflare's Own Platform
The production deployment of EmDash runs on a Cloudflare Worker, which serves as the application layer. Multiple caching layers sit in front of it, including the standard Workers Cache and an EmDash-specific object cache built on top of Workers KV. Cloudflare Hyperdrive connects the setup to a PlanetScale database, handling the persistence layer.
Senior manager of content engineering Kody Jackson, systems engineer Diogo Carneiro, and senior design engineer Amy Dutton described the performance difference in their writeup. Comparing p95 response latencies between the old architecture and the new EmDash setup showed a stark gap. The previous platform experienced periodic latency spikes under load, while the new system maintained a flat and consistent response profile regardless of traffic volume.
A Rollout That Was Over in a Day
Cloudflare used a proxy Worker to gradually route traffic from WordPress to EmDash, a strategy that allowed the team to validate the new platform incrementally. The Worker set a version cookie on incoming requests, which determined whether traffic went to the legacy blog or the new EmDash-powered site. If the new site returned any 500 errors, the proxy automatically fell back to the legacy platform.
The rollout started at 1 percent of traffic and increased progressively as the team verified stability. According to the Cloudflare engineers, the migration reached 100 percent of traffic in a single day, a rapid transition that was possible because of the fallback mechanism and the cookie-based routing system.
Reddit discussion around the migration focused heavily on the rollout strategy. One commenter noted that the zero-downtime proxy Worker plus cookie routing approach was the part most teams underestimated, pointing out that a solid rollout plan typically needs a kill switch, per-request fallback, and metrics split by cohort to catch cache regressions before a small percentage becomes the entire traffic load.
Making Content Accessible to AI Agents
Beyond performance, the migration introduced a change that reflects Cloudflare's broader interest in AI infrastructure. The company deployed new MCP servers, one for the Cloudflare Blog and another for EmDash itself, that allow AI agents to browse, create, edit, publish, and schedule content. This means the blog is now machine-readable and machine-editable in a way that WordPress was not designed to support natively.
A Reddit user who compared EmDash to Ghost noted that the platform costs less, offers greater AI interactivity, and has what they described as near-infinite extendibility with a promising roadmap. The comparison to Ghost, another open source publishing platform, suggests that EmDash is positioning itself as a modern alternative in the same space but with deeper integration into Cloudflare's global network.
Early Problems, and a Road to v1
The migration was not without friction. Editors reported early adoption issues, primarily with the editing experience and the handling of scheduled posts. Cloudflare acknowledged these problems and said the EmDash team is addressing them as the platform moves toward a v1 release. No official date has been announced for that milestone.
The migration of Cloudflare's own blog to EmDash is more than a technical case study. It demonstrates that the platform can handle the demands of a real production workload, including traffic spikes, editor workflows, and the need for graceful rollouts. Whether EmDash gains traction beyond Cloudflare's own properties remains to be seen, but the company has put its reputation behind the software in the most direct way possible: by running it where it publishes.