Nesma

Cloudflare Released EmDash: the Beginning of the End for WordPress

Sergey Nesmachny
Sergey Nesmachny
29.09.2026
5 min read
Moved off WordPress to EmDash: $5 a month, pages in 60–100 ms, Lighthouse 100

EmDash 1.0 came out yesterday. Plenty of people missed it, and they shouldn't have: the consequences for web development will be serious. It is a stable, free, open-source CMS under the MIT license, and it was released by Cloudflare. The authors state the idea plainly: take what WordPress grew on (extensibility, a friendly admin, a plugin ecosystem) and rebuild it on a serverless foundation with strict typing.

Why it matters

WordPress runs more than 40% of all websites in the world. The ecosystem is huge, the technology is old: a PHP monolith, a database query for every little thing, plugins with full access to the files and the database. That leads to the main pain point, security. WordPress sites are most often hacked through plugins; the core has little to do with it. One abandoned plugin with a hole is enough.

EmDash solves this with architecture. It is a full-stack TypeScript CMS built on Astro. Plugins from the registry run in isolated workers and get exactly the permissions granted at install time. No email permission means the plugin can't send an email. No write permission means it can't touch a single page. The registry also verifies release signatures. You can't configure this kind of protection on top of WordPress; it is a different threat model.

Speed, and why it became critical

Pages are rendered on Cloudflare servers close to the visitor, and data comes from a cache, so the database isn't hit on every view. After the move, our site nesmachny.com serves a warm page in 60–100 ms. On WordPress the same page took 150 ms, and that was with an nginx cache. Without the cache it took anywhere from 0.4 to 3.5 seconds.

We used to fight for milliseconds for the sake of engagement metrics and Google rankings. Now a website has a new reader: the AI agent. An agent has a timeout. When it assembles an answer it crawls dozens of sources, and it won't wait for a slow site: it will skip it and cite a competitor. Response speed is becoming your ticket into AI answers.

The race for speed is already on. EmDash answers it with the design of the platform itself, not with optimizations bolted on top.

SEO and AI

Server-side rendering, predictable semantic markup, instant delivery. That is exactly what both search crawlers and language models need, and in EmDash it all works out of the box, with no add-on plugins. On nesmachny.com, mobile Lighthouse scores went up on every key page after the move: the home page from 81 to 94, the blog from 92 to 95, an article page from 89 to 100.

Our second EmDash site, svetstylist.com, got its first visitor from ChatGPT 17 days after launch. The domain was brand new, without a single backlink.

What we gained by leaving WordPress

nesmachny.com ran as two applications: WordPress as the CMS and Next.js as the website. Both ran on a small server with one CPU core and 2 GB of RAM. When PHP-FPM hung, the admin went down with it. Spam bots flooded the CMS address with comments, and that address should never have been public in the first place. Plugins needed updates, and every update was a lottery.

What changed after the move:

  • One application instead of two. The site and the admin live in a single worker, with a single deploy.
  • Search rankings didn't suffer. Every URL was kept. We checked 123 pages against the old site with a script: titles, descriptions, canonical, hreflang and structured data matched on 122. The only difference was one we made on purpose.
  • Leads no longer get lost. Forms write them straight into the CRM inside the CMS and, in parallel, into our lead collector HookHub. Every newsletter carries a signed unsubscribe link, as GDPR requires.
  • Content is managed by an AI assistant. An MCP server is built into EmDash. With WordPress, the same thing meant installing a separate adapter and opening access through application passwords.

We've switched

Our agency has switched to EmDash: we build all new client sites on it.

We broke down what such a client site is made of, and what it costs to run, in Is There Finally a Real Alternative to WordPress?.

For clients, the main change is about money: the separate hosting bill has practically disappeared. EmDash runs on Cloudflare Workers, and the lowest paid plan costs $5 a month. For a site with average traffic, that is the entire infrastructure.

Email on your own domain is handled there too. Incoming mail can be forwarded to an existing mailbox or processed right in the worker: accept leads and reply from an address on your own domain. The result is a closed loop. It deploys fast, costs little and runs reliably.

Another example is royalridespb.ru, a chauffeured car rental site in Saint Petersburg. The old 2017 site wasn't even on WordPress but on Laravel, and we moved all of it: 36 cars with photo galleries, three languages (Russian, English, French). A Selectel server in Saint Petersburg renders a page in 17 ms. PageSpeed gives 100 on desktop and 90 on mobile, and that is with the Yandex Metrica counter on the page.

Architecture

There is no longer a split between backend and frontend: EmDash puts everything into one application. Fewer moving parts, fewer points of failure, and monitoring comes down to one system instead of several.

We learned the hard way how risky a two-part setup is. On one project the site and the CMS talked to each other with a token. The token expired, and for six weeks leads silently failed to reach the CRM while the form cheerfully told every visitor "thank you". In a single application there is simply no seam like that to break.

Three live examples: the site you are reading this on, nesmachny.com, stylist Sveta's site svetstylist.com, and royalridespb.ru.

Sergey Nesmachny

Written by

Sergey Nesmachny

Share: