If you've been running a WordPress site for any length of time, you already know the drill: plugin updates that break things, security patches that can't wait, hosting bills that creep up, and a general sense that you're maintaining infrastructure instead of publishing content. EmDash, Cloudflare's new open-source CMS launched in April 2026, is designed to fix exactly that. The most interesting part: you can use an AI agent to handle most of the migration work for you.
The part that surprises most people is how far the agent actually gets before it needs you.
What Is EmDash and How Is It Different from WordPress?
EmDash is a free, open-source content management system built by Cloudflare. It runs on TypeScript instead of PHP, uses Astro 6 for the frontend, and deploys on Cloudflare's serverless infrastructure. That last part matters. No server to manage, no database to keep patched.
Cloudflare calls it "the spiritual successor to WordPress" and that framing is deliberate. It keeps the things people love about WordPress (publishing, themes, extensibility) while rethinking the parts that actually burn time: plugin conflicts, security patches, and the general overhead of keeping a PHP site healthy.
The other big difference is that EmDash treats AI agents as first-class users. Most CMSes were built for humans clicking through admin panels. EmDash was built from day one for a world where you might ask Claude or ChatGPT to create content types, publish posts, or run an import. You can hand off a large post archive to Claude and get back a fully structured EmDash import without touching a menu.
Why Migration Without AI Is So Painful
A WordPress-to-EmDash migration is a structured rebuild, not a one-click export. Before the site is live, five things have to happen:
- Your posts, pages, and custom content types need to be pulled out of WordPress and restructured for EmDash's content model
- Media files (images, PDFs, videos) need to be re-hosted and re-linked
- WordPress themes don't port over. The frontend has to be rebuilt in Astro 6, and that takes real work for complex layouts.
- Plugins don't transfer. Any behavior that lived inside a plugin needs to be recreated or replaced.
- URL structures, redirects, and SEO metadata need to be preserved manually
Doing all of that by hand takes a long time. The AI-assisted path doesn't eliminate all of it, but it cuts the content migration piece — historically the most tedious part — down dramatically.
EmDash's MCP Server: The Key to AI-Assisted Migration
MCP stands for Model Context Protocol, a standard that lets AI assistants like Claude, ChatGPT, or Cursor connect to external tools and take actions on your behalf.
EmDash has a built-in MCP server. Once it's running, you can point an AI agent at your EmDash instance and give it instructions in plain language. The agent can create and configure content types, import and publish posts and pages, manage media entries, configure plugins, and deploy your site. It's giving your AI assistant the keys to your CMS. Instead of clicking through menus, it works through a structured API that EmDash built specifically for this purpose.
Agent Skills are pre-built capabilities that extend what an agent can do inside EmDash. The Block Kit Agent Skill is the one most relevant to WordPress migration. It handles the translation of WordPress content into EmDash's block-based content format, so the AI isn't just dumping raw text but actually structuring it correctly.
The Six-Step Migration Process
Export Your WordPress Content
You have two options. The quick path is WordPress's built-in export tool (Tools → Export), which generates a WXR file — an XML file with all your posts, pages, categories, tags, and metadata. It's free and takes about 30 seconds.
The better path for larger sites is the EmDash Exporter plugin, the official wp-emdash WordPress plugin. Install it on your WordPress site, generate an Application Password for authentication, and it creates a secure API endpoint that EmDash can stream content from directly. No intermediate files, and it supports incremental syncing — useful if you're running a staged migration or a large archive. It handles posts, pages, custom fields, categories, tags, menus, and media.
Set Up EmDash and Connect the MCP Server
Once you have EmDash running (on Cloudflare Pages/Workers or locally for testing), enable the MCP server. Then connect your AI assistant of choice: Claude via Claude Desktop, Cursor, or any MCP-compatible tool.
Point the AI Agent at Your WordPress Data
With the MCP connection active, instruct the agent to pull content from your WXR file or from the EmDash Exporter endpoint. It reads and parses your WordPress export, maps post types to EmDash collections, and converts content into Block Kit format using the Block Kit Agent Skill. The result is correctly structured entries with metadata intact.
For a straightforward blog, speed depends on how many custom fields are involved and whether posts use shortcodes or nested layouts — but a 500-post archive of standard blog content can move in an afternoon.
Handle Media Assets
This is where most people hit their first real snag — budget extra time here.
Media files need to be moved to a new host, typically Cloudflare R2, Cloudflare's object storage service. The AI agent can map all the media references in your content to new URLs once the files are there, but the upload itself is a manual or scripted task. For most blogs, a bulk upload script handles this in one go. For sites with thousands of media files organized in complex folder structures, budget some extra time.
One thing that trips people up: WordPress stores media metadata (alt text, captions, attachment descriptions) in the database, not in the files. The EmDash Exporter captures this, so the AI agent can preserve it when creating EmDash media entries. Still, check a sample of images post-import to make sure nothing got dropped.
Map Custom Post Types and Custom Fields
The other step that deserves real attention, especially for complex sites.
If your WordPress site uses custom post types (portfolio items, products, team members, event listings) or custom fields via plugins like Advanced Custom Fields or Meta Box, these need to be remapped to EmDash's schema-based collections. The AI agent can suggest and create the schema based on your export data.
That said, automated schema mapping is where errors are most likely to accumulate quietly. Review the mapping against a few real examples from your site before running the full import. Catching a field type mismatch early is much easier than correcting it across 500 entries after the fact.
Review and Deploy
Once content is imported and you've spot-checked the results, deploy the site on Cloudflare Pages. The Astro frontend pulls content from EmDash and builds your site as a static or server-rendered output. No PHP, no MySQL, no plugin vulnerabilities, automatic global distribution via Cloudflare's network.
What the AI Won't Do for You
The AI-assisted migration handles content well. Everything else is where the real work lives.
The biggest blocker for most people is the theme. WordPress themes are PHP templates. EmDash uses Astro 6 components. There is no conversion path. The frontend has to be rebuilt from scratch — and that's the single most underestimated part of the migration timeline. For a simple blog, a few hours with a starter theme may be enough. For a site with a complex custom design, it's a real project. Having a developer available here makes a meaningful difference.
Plugins are the second major gap. WordPress's ecosystem of 59,000+ plugins doesn't map to EmDash. Contact forms, memberships, search, analytics integrations, editorial workflows — any behavior that lived inside a plugin needs to be rebuilt using EmDash's sandboxed model or replaced with a third-party service. A blog with Yoast SEO and a contact form is a very different conversation than a site running WooCommerce, a membership plugin, and a custom events system.
A few other caveats worth knowing:
- SEO structures need manual attention. URL preservation, 301 redirects, canonical tags, and internal link audits don't migrate automatically. If your site gets meaningful search traffic, audit this carefully before going live.
- EmDash is v0.1.0 beta. The platform is real and functional, but the ecosystem is young. Things that are a 30-second plugin install in WordPress may require real effort in EmDash until the community catches up.
Should You Migrate from WordPress to EmDash?
For sites that are content-heavy with limited plugin dependencies (blogs, documentation sites, publications, portfolios), EmDash is a genuinely compelling option, especially once you factor in the AI-assisted migration path.
The harder cases are sites built around WordPress plugins: WooCommerce, membership systems, complex form builders, event management platforms. EmDash doesn't have equivalents for any of those yet, and "rebuild it yourself" is a real cost. Solo non-technical users without developer access will also hit a wall on the theme rebuild, which no amount of AI assistance currently solves.
EmDash is the right direction, but it's early. If your WordPress pain is mostly about maintenance and security overhead, it's worth evaluating now. If your WordPress pain is "I need more features," wait for the ecosystem to mature.
Getting Started
The fastest way to explore EmDash is through the official Cloudflare blog post and the EmDash GitHub repository. For migration specifically, the wp-emdash exporter plugin is the place to start. Install it on your current WordPress site while you're still deciding, run the export, and see exactly what you're working with before committing to anything.
The AI doesn't do the whole migration. But importing a large archive with correct metadata and block structure in a fraction of the time it used to take changes the math on whether this is worth doing at all.