Cloudflare-native CMS · Free to start
Write in the browser, publish as static HTML to R2, and keep lists live from D1. No servers, no database bills — and if you already run WordPress, the plugin keeps both sides in sync, in both directions.
Keep WordPress, or start from scratch. Same data layer, same rendering layer.
Create posts in the built-in admin, or push from any HTTP client. Pages bake to R2; lists stay live from D1. No WordPress needed.
Read the docs → 02 / PLUGINKeep your editing workflow. The plugin exports posts, media and taxonomies to D1 and R2 — and pulls posts written in CF Press back into WordPress.
Explore the plugin →Purely static is rigid; purely dynamic is slow. This splits the two so each does what it does best.
Posts are pre-rendered to HTML and stored in R2; lists, categories, tags, and archives query D1 live, so publishing updates instantly.
Workers, D1, R2 and KV all ship with free allowances. A normal blog or docs site fits inside them — no card, no database to provision.
A style is just a directory plus a tpl.json. Switching takes effect immediately, with 5 built-in themes ready to use.
Beyond Cloudflare, publish to S3, GitHub, Netlify, Vercel, FTP, WebDAV, or a local directory.
Export posts, media and taxonomies to Cloudflare; pull posts written in CF Press back into WordPress; comments sync in both directions.
A subset of the WordPress REST write API plus application passwords. Obsidian plugins, scripts, and any HTTP client can publish.
Deployment notes, feature deep-dives, and practical tips.
No card, no database to provision. Deploy the Worker, open /admin, write your first post.