PUB LISH ED.
Prompt an agent to write, edit, and publish.
Tell it what to do — "write this post", "fix that section", "publish" — the way you'd drive Claude Code, except it's running your CMS. Every change prints to static HTML on Cloudflare's edge: fast for people, and readable for the AI crawlers WordPress hands nothing to.
Free, forever — no card needed for offloadcms (Cloudflare may ask for one when you turn on R2's free tier). Pay only when we run something for you.
A small WordPress site never stops running.
A blog with a hundred visitors a month still runs a database, executes PHP on every request, and queues plugin and security updates that break in your sleep. You pay — in money and in maintenance — for traffic that barely exists. offloadcms replaces that upkeep with an agent you prompt instead of a server you babysit.
- Hosting
- $8–30 / mo
- Plugins & security
- your weekends
- Speed
- TTFB tax
- AI readability
- invisible
A box that runs 24/7 for a page that changes monthly.
Patch, test, repeat. One bad update is downtime.
PHP + DB on every hit. Cold caches on every deploy.
Crawlers that don't run JS get a blank shell.
Watch a running site go to press.
offloadcms reads the site from the database once and prints it: every entry becomes static HTML plus the structured data a crawler needs. This is the real publish pipeline — D1, render, edge — shown as a single press run.
Hello world
A live PHP request rebuilds this page from the database every single time someone — or no one — visits.
Your WordPress concepts map one to one.
Nothing to relearn. The data model mirrors WordPress, so an import lands where you expect it.
Posts & pages
Drafts, scheduled, published, revisions — the editorial states you already use.
Categories & tags
Hierarchical categories and flat tags, archives generated for both.
Custom fields
ACF-like field groups, typed and attached to any entry.
Media library
Uploads land in R2 with responsive sizes and image SEO baked in.
Menus & roles
Menus, widgets, and WordPress roles carry across intact.
Permalink structures
Keep your URL scheme. Existing links and SEO equity survive the move.
per month · Cloudflare free tier
One self-contained instance per Cloudflare account.
It owns its own storage and serves exactly one site. No shared infrastructure, no per-seat bill.
Content
Your posts, taxonomy, and settings in SQLite at the edge.
Media
Object storage for uploads — no egress fees.
Sessions & cache
Magic-link auth and fast key reads.
Serve
The admin API and the printed static site, on the same edge.
The CMS is free. Pay only for what we run.
Every feature on every site. You pay only when you use our AI, an automated migration, or a person's time.
The whole product, free, for as many sites as you like. Your sites live in your own Cloudflare account, which is free for most sites.
- Unlimited sites, every feature and all 38 themes
- Custom domain, comments, no offloadcms branding
- AI assistant, free on Cloudflare's built-in AI or with your own AI key (OpenAI, Anthropic, DeepSeek, MiMo)
- Automatic setup, one-click updates, daily backups, downtime alerts
- 1,000 sign-in and form emails a month
- 25 free credits to try our AI
Optional. Use our AI instead of setting up your own. One credit is one thing you ask the assistant to do, like "draft a post about our summer menu".
- $10 buys 200 requests, one payment, no subscription
- When they run out, buy more or switch to the free options
- Cloudflare's built-in AI and your own key stay free
We copy your WordPress site over for you, priced by how many posts and pages it has. Technical users can run our importer themselves for free; see the docs.
- $19 up to 1,000 posts and pages
- $49 up to 10,000
- Until it opens, ask for an assisted migration
When you would rather have someone do the work.
- Assisted migration $149, $349 or $899
- Support $100 an hour, 30-minute minimum
- Docs and bug reports stay free
Who bills you for what. Your site runs on your own Cloudflare account, and most sites pay Cloudflare nothing. A very busy site may need Cloudflare's $5-a-month plan; Cloudflare charges that to your card, not us. Technical details: Cloudflare's free plan covers 100,000 requests a day, 5 GB of content storage and 10 GB of images and files, with free bandwidth. AI credits are paid through Polar, our payment partner, which sends your receipt and handles sales tax; see the Refund & Cancellation Policy.
Built for the sites that outgrew their hosting bill.
The agency retiring client sites
Wind down a dozen aging WordPress installs into managed, $0-to-run static sites without losing a client's SEO or URLs.
The blogger done with renewals
Import a personal blog once, publish from a plain editor, and stop budgeting for hosting you barely use.
The developer who wants data, not plugins
Structured JSON-LD and a sitemap out of the box — no SEO plugin stack to configure, patch, or outgrow.
Offload the weight.
Hand us a database dump and the uploads directory — no REST API dependency, nothing to install on the old box. The offloadcms team imports your content and prints the site to static. The server you were keeping alive can go dark.
This is the importer the offloadcms team runs on your behalf during a migration — not a tool you install or run yourself.
From database to printed edge.
Each step feeds the next — the order is the product.
Read the site from D1
Posts, pages, taxonomy, media references, and settings are assembled into one site model.SiteData ← D1
Render each entry to static HTML
Content stored as structured JSON is serialized to flat HTML with a complete head: JSON-LD, canonical, Open Graph.render-site.ts · buildHead · jsonld
Generate sitemap, robots, RSS, search
A sitemap, a robots.txt that allows AI crawlers, RSS feeds, and a Pagefind static search index.generateRobots · feeds · pagefind
Upload the bundle to Pages
The static bundle ships to your Cloudflare Pages project — same account, no cross-account token.Pages Direct Upload
PRINT IT
ONCE.
Take a WordPress site off life support, print it to the edge, and let the crawlers read it. Then forget the bill.