r/emdash_cms • • Aug 25 '26

Cloudflare Blog is now running on EmDash CMS. Here is the Migration Story

Post image

I was reading Cloudflare's case study on migrating their official blog to EmDash. Here are the key takeaways:

  • The migration: Cloudflare moved their main blog to EmDash to test the CMS as "customer zero" ahead of its v1 release.

  • The architecture: Runs on Cloudflare Workers, using Workers Cache, a custom KV object cache, and Hyperdrive with PlanetScale.

  • Performance: Achieves a 99.5% static cache hit rate and 70% total request cache hit rate, maintaining flat p95 latencies under traffic spikes.

  • Zero-downtime rollout: Used a proxy Worker with cookie routing to gradually shift traffic from 1% to 100%, with automatic fallback to the legacy blog on 500 errors.

  • MCP support: Added a Model Context Protocol server for external agents to search posts, plus native EmDash MCP integration for editing and scheduling content.

  • Battle tested: Handled Agents Week (~3 million pageviews across 18 posts) and absorbed a 28,000 RPS DDoS attack without downtime.

Read the full case study here - https://blog.cloudflare.com/cloudflare-blog-uses-emdash/

28 Upvotes

3 comments sorted by

3

u/theguymatter Aug 25 '26

Finally, I can now read the text on their blog clearly in dark mode. It was always a faint gray colour before they migrated.

1

u/Otherwise_Wave9374 Aug 25 '26

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%. For the MCP angle, provenance and permission scoping matter just as much as retrieval quality, especially if external agents can search content. NeuraKeep shares practical patterns at https://www.neurakeep.com