The most expensive server in the world is the one you pay for even when nobody visits. Media companies know this painfully well. Their traffic spikes at 8 AM and crashes at midnight. Yet WordPress requires a server that hums along 24/7, consuming power and cash, serving zero pages for hours on end. EmDash flips that model entirely — and one publisher found out just how much that matters.
The Problem: A Media Site That Couldn’t Keep Up
A mid-size media publisher in Europe — let’s call them Pulse Media — ran a WordPress site with roughly 150,000 monthly visitors. Their stack was typical: a managed VPS at $89/month, a caching plugin, MySQL on the same machine, and about 14 plugins for SEO, forms, analytics, and social sharing.
The most expensive server in the world is the one you pay for even when nobody visits.
Their core complaint was not security or plugin bloat. It was speed.
Page load times averaged 4.2 seconds on mobile. Their bounce rate sat at 68%. Google’s Core Web Vitals flagged Largest Contentful Paint (LCP) at 3.8 seconds — well above the 2.5-second threshold. They had tried CDN integration, image optimization plugins, and even a dedicated Redis cache. Nothing moved the needle below 3.5 seconds.
The counterintuitive truth: their server was the bottleneck, and it was always on. Every request hit PHP, which blocked until the database responded, which blocked until the filesystem returned. One slow plugin cascaded into a slow page.
Why EmDash’s Architecture Changed the Equation
EmDash runs on Cloudflare Workers — V8 isolates that execute at the edge. Instead of a single server in one data center, code runs across 330+ locations. Instead of a PHP process that must boot, parse, and execute, a V8 isolate starts in under 5 milliseconds.
The key shift: no persistent server, no monolithic database connection. Each request spins up an isolate, fetches the data it needs from D1 (Cloudflare’s serverless SQLite), renders the page via Astro, and returns the result. The isolate then disappears. No idle cost. No cascading failures.
For Pulse Media, this meant their traffic spike at 8 AM — 12,000 requests in 20 minutes — would spin up thousands of isolates across Cloudflare’s network simultaneously. Each visitor hit a server near them. No single machine got hammered.
The Migration: What They Actually Did
Pulse Media did not rebuild their entire site. They used EmDash’s WordPress import tool.
The process took about two hours:
- Installed the EmDash export plugin on their WordPress site
- Generated a WXR export file (posts, pages, media, categories, tags)
- Imported into a fresh EmDash instance on Cloudflare Workers
- Rebuilt their theme as an Astro template (a developer spent two days on this)
- Configured D1 for the database and R2 for media storage
The old site had 14 plugins. The EmDash site had zero — SEO, redirects, forms, and caching were all built into the core. The only custom work was the theme port.
The Results: Measurable and Repeatable
After deployment, Pulse Media ran the same pages through Lighthouse and real-user monitoring for two weeks.
| Metric | Before (WordPress) | After (EmDash) | Change |
|---|---|---|---|
| Mobile page load time | 4.2 s | 1.7 s | -60% |
| LCP (Largest Contentful Paint) | 3.8 s | 1.2 s | -68% |
| Bounce rate | 68% | 52% | -24% |
| Requests per page | 78 | 23 | -70% |
| Monthly hosting cost | $89 | $5.20 | -94% |
The 60% reduction in load time came primarily from three architectural changes:
- Edge delivery — The page rendered at Cloudflare’s network edge, not a single server. The closest data center handled each request.
- No PHP overhead — Astro pre-renders static pages at build time. Dynamic pages use server-side rendering via Workers, which avoids the PHP boot cycle entirely.
- Zero plugin bloat — EmDash serves no plugin CSS or JavaScript unless explicitly loaded. WordPress themes often load 50-200 KB of unused plugin assets. EmDash ships only what the theme uses.
The cost drop — from $89/month to $5.20 — is worth contextualizing. The $5/month plan includes 10 million requests. Pulse Media used roughly 1.2 million requests per month. Their bill stayed at $5.20 because D1 and R2 usage fell within the free tier. No traffic spike would increase their cost beyond the $5 plan’s limits — Cloudflare workers bill per request, but the $5 plan covers most small-to-medium sites entirely.
This result is typical for content-driven sites migrating from WordPress to EmDash. Publishers with 50,000 to 500,000 monthly visitors see consistent 50-65% load time reductions. The gains shrink for sites with heavy dynamic content (user dashboards, real-time data) and grow for sites with mostly static articles or blog posts.
Lessons Learned from the Migration
The biggest time sink was the theme. Porting a custom WordPress theme to Astro took two days. For sites using page builders like Elementor or Divi, this becomes a full rebuild — those themes store layout data in the database as HTML, which EmDash cannot interpret. Pulse Media’s theme was a custom build with minimal page-builder reliance, so the port was straightforward.
Plugin functionality that was trivial in WordPress required custom code. The old site used a plugin to display related posts based on tags. In EmDash, they had to write a 30-line Astro component that queried D1 for matching posts. Nothing difficult, but it required a developer on staff.
The import process lost some data. WordPress stores content as HTML. EmDash uses portable text (structured JSON). The import converted headings, paragraphs, and images correctly, but custom Gutenberg blocks (tables, callouts, accordions) became plain text. Pulse Media had to manually fix about 40 posts out of 1,200.
Passkey authentication confused their editors. EmDash uses WebAuthn by default — no passwords. The editors had to register a passkey on each device. Two of five editors initially could not log in because they used shared workstations. EmDash supports magic-link fallback, but the editors did not know about it. A 15-minute training session fixed this.
The One Place EmDash Still Falls Short
Pulse Media’s biggest unresolved issue: no real-time collaboration. Their WordPress site had a plugin that let two editors see each other’s cursor positions in the same post. EmDash’s editor locks the post to one user at a time. If an editor opens a post, others see a “currently being edited” notice but cannot view live changes. For a newsroom that publishes breaking stories with multiple contributors, this is a dealbreaker.
Cloudflare has not announced multiplayer editing. The portable text format supports it (Sanity uses the same format for real-time collaboration), but the feature is not built into the EmDash editor yet. Pulse Media works around this by assigning one editor per post and using a shared Google Doc for coordination.
What This Means for Other Publishers
The 60% load time reduction is not a fluke. It is a direct consequence of replacing a monolithic PHP server with edge-deployed V8 isolates. Any content site with predictable traffic patterns — most of your visitors between 6 AM and 10 PM, minimal traffic overnight — will see similar gains because EmDash scales to zero during quiet hours and scales instantly during spikes.
The cost savings are real but small at scale. $89/month to $5/month is $1,008 per year. For a publisher spending $50,000 annually on hosting, infrastructure, and plugins, the savings matter less than the performance improvement. A 1.7-second page load time correlates with a measurable lift in ad revenue — Pulse Media saw their ad viewability rate rise from 62% to 81% after the migration, which added roughly $400/month in ad income. The performance gain paid for itself.
- What problem did Pulse Media face with their WordPress site?Their page load times averaged 4.2 seconds on mobile, with a bounce rate of 68% and LCP at 3.8 seconds.
- How does EmDash's architecture differ from WordPress?EmDash runs on Cloudflare Workers using V8 isolates at the edge, eliminating persistent servers and monolithic database connections.
- What was the migration process like for Pulse Media?They used EmDash's WordPress import tool, which took about two hours, plus two days to rebuild the theme as an Astro template.
- What is a current limitation of EmDash?EmDash lacks real-time collaborative editing, so only one editor can work on a post at a time.