The Cloudflare Blog received a visual refresh alongside a more significant backend transformation. The company redesigned the interface with dark mode support, modernized styling, and improved user experience—but the larger story was the migration to EmDash, a content management system purpose-built to run on Astro and Cloudflare's infrastructure.
The shift occurred on Wednesday, August 12, and represented more than a cosmetic update. It embodied Cloudflare's engineering philosophy of using its own products in production before customers do, a practice the company calls being "Customer Zero."
Customer Zero as a Design Principle
At Cloudflare, the company uses its own products to validate them before external customers encounter them. This cultural value is codified in the company's internal engineering standards, known as the Codex.
We don't just build products for others; we build them to run Cloudflare itself. We are our own first, most demanding customer. We validate scale, security, and usability on our own massive infrastructure before a paying customer ever touches the product. If a product breaks, it breaks us first. This forces us to fix issues immediately, ensuring that by the time a feature reaches the enterprise, it has already survived the harshest production environment on earth.
With EmDash still in pre-1.0 development and limitations in the existing CMS vendor, Cloudflare recognized it would likely become the first major internal user of the new platform.
Evaluating EmDash for Production Use
Functional Requirements
Cloudflare began by testing whether EmDash could handle core publishing workflows. The team ran through standard user flows including post publication and unpublication, authoring, scheduling, and media management.
EmDash performed adequately in these tests, but gaps emerged in several areas. The scale of the Cloudflare Blog—its media library, content entity search, and byline management—exposed limitations. Additional issues surfaced around localization, SEO, Content Security Policies, and editor usability features. A critical discovery was that scheduled posts did not function until EmDash version 0.19.0, a gap the team preferred not to discover after a post's scheduled publication time.
Performance and Scale Testing
The Cloudflare Blog experiences highly variable traffic patterns. Normal baseline load runs approximately 75 requests per second, but traffic spikes exceed 5,000 RPS. Some spikes correlate with new post launches that gain viral attention; others occur unpredictably throughout the day, suggesting deliberate traffic testing.
Cloudflare, a web performance company, prioritizes page load speed. The team designed performance tests using k6, an open-source load testing tool, to simulate three scenarios:
- Ramp: Gradually increasing requests to triple the production baseline, then cooling down
- Breakpoint: Ramping from 0 to 100 RPS over 10 minutes until failure
- Burst: Applying an immediate 7,000 RPS load to observe behavior
For each scenario, the team evaluated availability and latency thresholds. Availability failed if more than 0.01% of HTTP requests returned 5xx errors. Latency failures occurred when P95 responses exceeded 500ms or P99 responses exceeded 1000ms.
Production Architecture
Based on test results and internal analysis, Cloudflare deployed a multi-layered caching architecture:
- EmDash running on a Cloudflare Worker
- Positioned behind the new Workers Cache, believed to be the first major site using this service
- EmDash object cache built on Workers KV, developed specifically for Cloudflare's use case
- Cloudflare's first-party Hyperdrive integration with PlanetScale for database connectivity
The caching strategy proved essential for both speed and resilience. The setup serves 99.5% of static files from cache and 70% of all requests from cache, reducing database load and improving frontend performance.
Frontend Redesign

The migration enabled a visual overhaul aligned with Cloudflare's updated design language. The team rebuilt the frontend using patterns from the Kumo design system, creating consistency across the Cloudflare homepage, dashboard, and marketing sites.
A long-requested feature—native light and dark mode support—became a priority. Theme switching ties to system preferences with an explicit toggle option, and both themes meet accessibility guidelines with adapted color palettes and code syntax highlighting.

The redesign also addressed a persistent usability problem. The email subscription form previously occupied the top right corner, where readers frequently mistook it for a search bar. The form now appears as a dedicated call-to-action block at the end of each post, appearing naturally after readers finish an article.

Two new sidebar features enhance navigation and engagement on post pages. An "On this page" table of contents allows readers to track progress and jump to specific sections in longer technical articles. A "Discuss Online" section simplifies sharing and conversation across social platforms and developer communities.
Rollout Strategy
Ensuring zero downtime and a reliable fallback mechanism were non-negotiable requirements. Cloudflare deployed a proxy Worker to intelligently route traffic between the legacy blog and the new EmDash site. The Worker set a version cookie on requests, enabling traffic routing to either the new or legacy experience. If the new site returned 500 errors, traffic automatically fell back to the legacy platform.

A service binding between Workers allowed the proxy to dispatch requests directly to the new blog Worker, bypassing public hostname, DNS, TLS, and outbound HTTP connections. This reduced latency for users routed through the proxy.
On launch day, Cloudflare initiated a gradual rollout starting at 1% of traffic, then incrementally stepping to 5%, 15%, and beyond as system health was validated. This phased approach caught edge cases without affecting most users. By day's end, 100% of traffic had shifted to the new platform.
Performance Results

Measurable Improvements
Comparing P95 response latencies between the legacy architecture and the new EmDash setup revealed substantial differences. The previous platform experienced periodic latency spikes under load, while the new system maintains a flat, consistent response profile. Running EmDash on Cloudflare Workers with multiple caching layers delivered a significantly faster reading experience.


These performance gains were achieved while serving up to 850 RPS with minimal errors.
Agent Accessibility
The migration improved accessibility for AI agents in two ways. Cloudflare released a new Model Context Protocol (MCP) server for the blog, bundling tools that agents can use to interact with the blog as if it were an API. The MCP exposes four tools:
- search_posts
- list_posts
- get_post
- list_tags
Creating this MCP took only a few hours of work, thanks to EmDash's intuitive APIs and AI search endpoints exposed through the Worker.
Second, EmDash itself includes an MCP server for blog authors, enabling them to browse, create, edit, publish, schedule, and manage content through agents. Unlike some CMS platforms, this agentic tooling comes without additional cost, reflecting a broader industry trend of designing for both human and agent users.
Real-World Validation: Agents Week
Cloudflare runs multiple innovation "weeks" annually, setting ambitious goals around specific themes. Agents Week, held shortly after the blog migration, served as a major test of the new platform. The company published 28 new posts over 9 days, generating close to 3 million pageviews.
The new blog Worker handled up to 450 RPS without issues. Cloudflare's built-in DDoS protection also absorbed a 28,000 RPS DDoS attack on August 10th without noticeable impact.
On the editing side, the team identified additional issues, mostly minor usability quirks and some bugs around scheduled posts. These findings were reported to the EmDash team, with confidence they will be resolved before the next major event, Birthday Week.
Looking Forward
Cloudflare credited the EmDash team for making the migration smooth and for being receptive to feedback. The company views this as how the Customer Zero model should function. For organizations evaluating a new CMS, Cloudflare recommends trying EmDash, noting that the platform will improve further with the upcoming v1 launch.