Skip to content

Why EmDash

EmDash is a CMS built for Astro. It gives editors an admin interface, serves content to your Astro site at runtime, and runs on a range of databases and hosts.

EmDash is built specifically for Astro, not adapted from a generic CMS. Content lives in the same deployment as your site and is queried through Astro’s Live Content Collections within the same process.

If you’ve used WordPress, EmDash’s concepts will feel familiar: collections (like post types), taxonomies, menus, widget areas, and a media library. The mental model transfers—the implementation uses modern tooling.

EmDash is purpose-built for Astro. This tight integration enables type-safe queries, component-level caching, and integrated preview.

Single Deployment

Content and frontend deploy together. One codebase, one deployment, one system to manage.

Type Safety

Generate TypeScript types from your content model for full autocomplete, from query to template.

Live Updates

Built on Astro’s Live Content Collections. Content changes appear instantly.

Cloud-Portable

Runs on Cloudflare Workers with D1 and R2, and on Node.js with SQLite, libSQL, or PostgreSQL and any S3-compatible storage.

Different CMS approaches suit different needs:

AspectTraditional CMSHeadless CMSEmDash
ArchitectureMonolithicDecoupledIntegrated with Astro
FrontendThemes/templatesBring your ownAstro components
DeploymentSingle serverCMS + frontendSingle deployment
Type safetyRuntimeAPI typesFull TypeScript
Content updatesImmediateWebhook/rebuildImmediate (SSR)
Plugin modelSame-processAPI extensionsNative or sandboxed hooks

EmDash runs on any platform with a supported SQL database (SQLite, libSQL, or PostgreSQL) and S3-compatible storage. It also supports Cloudflare-specific features:

  • D1 — SQLite at the edge with automatic replication
  • R2 — S3-compatible storage with no egress fees
  • Workers — Global deployment with fast cold starts

EmDash provides tools to help migrate WordPress plugin functionality:

  • Concept mapping — WordPress hooks, filters, and APIs map to EmDash equivalents
  • Migration guides — Documentation for porting specific plugin patterns
  • AI-assisted porting — Documentation structured to help AI tools generate EmDash plugins from WordPress plugin code

Complex plugins still need human review, but for straightforward plugins, the migration guides reduce porting effort.

EmDash is designed for:

  • New Astro projects that need a CMS
  • WordPress migrations where you want modern tooling
  • Sites with content editors who shouldn’t touch code
  • Projects deploying to Cloudflare
  • Sites where type safety and developer experience matter

EmDash may not be right for:

  • Non-Astro projects (it’s tightly coupled to Astro)
  • E-commerce (WooCommerce-scale features are not yet available)
  • Existing headless architectures you’re happy with
  • Projects requiring WordPress’s specific plugin ecosystem