EmDash Guides

Migrating from WordPress to EmDash

Move your WordPress site — posts, pages, custom post types, and media — to EmDash in a few straightforward steps.

EmDash GuidesApril 28, 20263 min read

Before You Start

EmDash provides two migration paths from WordPress. Choose based on the size and complexity of your site:

  • WXR File Export — best for straightforward blogs and content sites
  • EmDash Exporter Plugin — best for large sites and those with custom post types

Both methods migrate your posts, pages, and attached media. Custom post types (like WooCommerce products or portfolio items) require an extra mapping step covered below.

Method 1 — WXR File Export

1. Export from WordPress

  1. Log into your WordPress admin
  2. Go to Tools → Export
  3. Select All content and click Download Export File
  4. You'll download a .xml file — this is your WXR (WordPress eXtended RSS) archive

2. Import into EmDash

  1. In your EmDash admin, go to Tools → Import → WordPress WXR
  2. Upload the .xml file
  3. Review the mapping screen — EmDash will auto-detect post types and suggest matching EmDash collections
  4. Click Run Import

EmDash automatically downloads and migrates all attached media files into the media library.

Method 2 — EmDash Exporter Plugin (Large Sites)

For sites with thousands of posts or complex custom post types, the plugin approach is faster and more reliable.

1. Install the Exporter on WordPress

  1. In your WordPress admin, go to Plugins → Add New
  2. Search for EmDash Exporter and install it
  3. Activate the plugin
  4. Go to Settings → EmDash Exporter and generate an Application Password to secure the export endpoint

2. Connect from EmDash

  1. In EmDash admin, go to Tools → Import → WordPress Live Pull
  2. Enter your WordPress site URL and the Application Password
  3. Click Connect — EmDash will verify the connection and show a list of post types available to import
  4. Select the content types to migrate and click Start Pull

EmDash streams content directly from WordPress, batching large imports to avoid timeouts.

Mapping Custom Post Types

WordPress custom post types (created with ACF, CPT UI, or Pods) need a matching schema in EmDash. Before running the import:

  1. In EmDash admin, go to Content → Schema → New Collection
  2. Create a collection for each custom post type (e.g., Products, Portfolio)
  3. Add fields that match your WordPress meta fields
  4. Run npx emdash types to regenerate TypeScript types
  5. On the import mapping screen, assign each WordPress post type to its EmDash collection

Migrating WordPress Themes

EmDash themes are Astro projects — they cannot be used directly from WordPress. You have two options:

  • Browse the marketplace — find a pre-built EmDash theme that matches your desired look at emdash.market/themes
  • Port your existing theme — use the Block Kit Agent Skill in the EmDash CLI to let an AI agent help rebuild your WordPress templates as native Astro components

After the Migration

  • Redirects: Set up 301 redirects from old WordPress URLs to new EmDash URLs using Cloudflare Redirect Rules or your reverse proxy
  • Plugins: Replace WordPress plugins with equivalent EmDash plugins from emdash.market/plugins
  • SEO: Your slugs and metadata should be preserved during import, but verify your sitemap at /sitemap.xml after launch
  • DNS: Once satisfied, update your domain's DNS to point to your new EmDash deployment
Migrating from WordPress to EmDash · emdash.market