EmDash CMS vs Kirby: Why the “Modern WordPress Successor” Advice Falls Short for Static-File Projects

EmDash CMS promises a modern WordPress replacement, but for small static-file sites, Kirby CMS offers simplicity, predictable costs, and no vendor lock-in.

By Central
A comparison of EmDash CMS and Kirby CMS for static-file projects, highlighting trade-offs in security, cost, and vendor dependency.
Highlights
  • EmDash CMS plugin sandboxing only works on Cloudflare's paid infrastructure, not on self-hosted Node.js servers.
  • Kirby CMS costs a one-time fee of $59 for personal use, with no recurring or surprise billing.
  • A basic DDoS attack on EmDash could cost up to $13,000 per month due to serverless billing without a spending cap.

Everyone says the same thing: EmDash CMS is the future. Cloudflare’s spiritual successor to WordPress fixes plugin security, runs on serverless infrastructure, and comes AI-native out of the box. Move your content there, they tell you. It’s what WordPress should have been.

But that advice misses something fundamental. For a specific class of projects — small sites, personal blogs, client handoffs where simplicity matters more than features — EmDash introduces problems it claims to solve. And an older, quieter CMS called Kirby has been doing the right thing all along.

Calling EmDash a spiritual successor to WordPress implies a linear upgrade. Better security, better performance, better AI integration. For certain use cases, that's true. But the framing ignores that WordPress succeeded partly because it ran anywhere.

What Makes Each CMS Tick

AttributeEmDash CMSKirby CMS
ArchitectureServerless, TypeScript/Astro, V8 isolatesStatic-file based, PHP, flat-file storage
Content storageSQLite or D1 database, portable text JSONPlain text files (Markdown, YAML, JSON)
Pricing modelFree code, paid Cloudflare infrastructure required for sandbox featuresOne-time license fee ($59 for personal, $299 for agency)
Plugin securitySandboxed via dynamic workers (paid Cloudflare tier only)No plugins; functionality is built into core or custom-coded
EcosystemZero third-party plugins at v0.1.0 betaSmall but mature collection of official and community extensions
Vendor dependencyRuns best on Cloudflare; self-hosted loses sandboxRuns on any PHP server with no vendor lock-in
Learning curveCLI setup, TypeScript knowledge neededFile-based, no database, Git-friendly from day one

If you need a multi-author news site with complex content workflows, EmDash makes sense. If you need five pages about a local bakery that won’t break when the client forgets to update PHP, Kirby wins.

The Plugin Paradox EmDash Didn’t Solve

WordPress’s security model is broken. Everyone knows this. 96% of vulnerabilities come from plugins. EmDash fixes this with dynamic workers — every plugin runs in its own V8 isolate, declaring exactly what it can access.

Sounds perfect. Until you realize the sandbox only works on Cloudflare’s paid infrastructure. Self-host on Node.js, and plugins run in-process with no isolation. The headline feature evaporates.

Kirby takes a different approach entirely. No plugin system. The functionality you need is either in the core or you write it yourself. That sounds limiting until you consider the average small site needs: a contact form, a blog, maybe a gallery. Kirby ships with all of that. No plugin queue, no vulnerability surface, no permission manifest to configure.

Cost: Predictable vs Mystery

Managed WordPress hosting runs about $20-50 per month. You know the bill. EmDash flips this: serverless billing where every page view, admin click, and API call triggers worker invocations, database reads, and storage operations across multiple meters.

One Hacker News commenter calculated a basic DDoS attack scenario: 10,000 IPs at one request per second could rack up $13,000 in a month. Cloudflare offers no global spending cap. Your site keeps running, and your credit card keeps charging.

Kirby costs $59 once. You host it on any $5 VPS or shared PHP host. Flat rate. No surprises. The cost ceiling is the hosting plan, not the traffic.

AI Readiness: Built-In vs Bolt-On

EmDash ships with a built-in MCP server and agent skills files. You can point Claude or Cursor at your CMS and say “create a new custom content type” — it works. The AI integration is architectural, not an afterthought.

Kirby has no native MCP server. But its file-based architecture is fundamentally machine-readable. Content lives as structured Markdown with YAML front matter. Any script — AI-powered or not — can read, write, and transform it. You don’t need a plugin to give an agent access. You just point it at the content folder.

For a developer comfortable with the terminal, both approaches work. For a non-technical client who wants to edit their site through a browser, Kirby’s panel is simpler and more predictable than EmDash’s passkey-first, serverless admin.

Where the Common Advice Breaks Down

The “EmDash is the WordPress successor” narrative assumes you need what WordPress offers: a plugin ecosystem, multi-user roles, extensibility at scale. That’s true for large publishers and agencies.

But many projects don’t need that. A photographer’s portfolio. A consultant’s landing page. A local restaurant menu. These sites need to load fast, stay secure, and let someone update text without calling you. Kirby does that with zero ongoing cost and zero infrastructure decisions.

EmDash asks you to choose a database provider, configure rate limiting, understand V8 isolate pricing, and monitor Cloudflare dashboards. For a three-page site, that’s not modernization. That’s overhead.

Edge Case: The Client Handoff Problem

You build a site. You hand it to the client. Six months later, they call: the hosting bill was $200 this month, or the import tool broke, or the sandbox plugin stopped working.

With Kirby, you hand them a folder. They upload it to any PHP host. Done. No phone call.

EmDash is not designed for this scenario. It’s designed for developers who control the full stack. That’s fine for in-house projects. It’s a liability for agencies.

FAQ

Can I migrate my WordPress site to Kirby?

Yes. Kirby includes a migration tool for importing posts, pages, and media from WordPress XML exports. Custom post types require manual mapping, but content structures are straightforward.

Does EmDash work without Cloudflare?

It runs on any Node.js server, but plugin sandboxing is not available outside Cloudflare’s runtime. Self-hosting gives you the CMS without the security model that justifies it.

Which CMS is better for SEO?

Both generate clean HTML and support meta tags, sitemaps, and structured data. EmDash has built-in SEO controls from the start. Kirby relies on a small official plugin, but the output is identical in quality.

Can non-developers use Kirby?

Yes. The panel is simpler than WordPress. Content editing is Markdown-based with a visual preview. Clients who have used any CMS find it intuitive. EmDash’s passkey authentication and CLI setup create a higher initial barrier.

What the “Successor” Framing Gets Wrong

Calling EmDash a spiritual successor to WordPress implies a linear upgrade. Better security, better performance, better AI integration. For certain use cases, that’s true.

But the framing ignores that WordPress succeeded partly because it ran anywhere. You could hand a client a WordPress site and walk away. EmDash cannot make that promise. Its best features are tied to Cloudflare’s runtime, its billing is unpredictable, and its ecosystem is nonexistent.

Kirby made different tradeoffs. Less extensibility. Less hype. But a site you build today will work tomorrow on any server, with no surprise bills, and no vendor dependency. That’s not a spiritual successor to WordPress. It’s a practical alternative that solves a different problem.

Can I migrate my WordPress site to Kirby?

Yes. Kirby includes a migration tool for importing posts, pages, and media from WordPress XML exports.

Does EmDash work without Cloudflare?

It runs on any Node.js server, but plugin sandboxing is not available outside Cloudflare’s runtime.

Which CMS is better for SEO?

Both generate clean HTML and support meta tags, sitemaps, and structured data.

Can non-developers use Kirby?

Yes. The panel is simpler than WordPress. Content editing is Markdown-based with a visual preview.

Questions answered
  • What is the main difference between EmDash CMS and Kirby CMS?EmDash is serverless and tied to Cloudflare, while Kirby is static-file based and runs on any PHP server with no vendor lock-in.
  • Does EmDash CMS work without Cloudflare?It runs on any Node.js server, but plugin sandboxing is not available outside Cloudflare's runtime.
  • Which CMS is better for SEO?Both generate clean HTML and support meta tags, sitemaps, and structured data. EmDash has built-in SEO controls, while Kirby relies on a small official plugin.
  • Can non-developers use Kirby CMS?Yes. The panel is simpler than WordPress, and content editing is Markdown-based with a visual preview.
Share This Article