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.
What Makes EmDash Different
Astro-Native Architecture
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.
Familiar Content Model
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.
Framework Integration
EmDash is purpose-built for Astro. This tight integration enables type-safe queries, component-level caching, and integrated preview.
Core Capabilities
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.
How It Compares
Different CMS approaches suit different needs:
| Aspect | Traditional CMS | Headless CMS | EmDash |
|---|---|---|---|
| Architecture | Monolithic | Decoupled | Integrated with Astro |
| Frontend | Themes/templates | Bring your own | Astro components |
| Deployment | Single server | CMS + frontend | Single deployment |
| Type safety | Runtime | API types | Full TypeScript |
| Content updates | Immediate | Webhook/rebuild | Immediate (SSR) |
| Plugin model | Same-process | API extensions | Native or sandboxed hooks |
Cloudflare Deployment
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
Plugin Migration
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.
When to Use EmDash
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
Get Started
Quick Start
Create your first site in under 5 minutes.
Migration Guide
Migrate from WordPress with content import and concept mapping.