Why move a WordPress site to Cloudflare, in numbers
For an owner deciding whether to keep paying for a server. Every price here is from Cloudflare's own documentation on 2026-10-23, with the page named at the end, and every number about our own migration is from the two vendors' invoices.
What the platform actually costs
Three prices matter, and only three.
| What | Price | What is included at that price |
|---|---|---|
| Workers Paid plan | $5 a month | The whole account, not per site. 10 million requests and 30 million milliseconds of CPU each month, and requests for static files are free and unlimited |
| R2 storage | 10 GB free every month, then $0.015 per GB | Reading files back is free at any volume, in either storage class |
| D1 database | 5 GB included in the plan | 25 billion rows read and 50 million rows written each month, then $0.75 per GB |
Three things that surprise people, all in your favour:
- The $5 is per account. Forty sites on it cost the same as one. That is the single largest difference from a
server, where every site is another Droplet, another backup and another thing to patch.
- Serving files is free and unlimited. A static page is not a request against your 10 million, so traffic does not
turn into a bill.
- Egress is free. On a server, the bandwidth is included until it is not. Here the meter does not exist.
Past the included amounts: $0.30 per million requests, $0.02 per million CPU milliseconds, and storage at the rate above. You can estimate all of it before you move, because the numbers are published rather than quoted.
The seven things you stop paying for
1. A server in the request path. There is no Droplet, so there is nothing to reboot at 2am, no capacity to plan, and no operating system to keep patching. That is the cost that does not appear on an invoice.
2. PHP as an attack surface. PHP is the part of a WordPress site that needs patching, and it is the part that goes away. A static site has no interpreter to exploit, no wp-login.php, no XML-RPC endpoint and no plugin that can be updated into an outage.
3. Backups you cannot take with you. A managed Droplet backup is an image in the provider's account: you cannot open it, you cannot move it, and restoring one file means building a whole Droplet from that image first. R2 is a bucket you own, with versioning and lifecycle rules, so a nightly copy is yours and restores one file in seconds. Ours runs on a schedule and has no provider in the middle.
4. Storage that gets expensive as it grows. The first 10 GB of R2 are free and the rest is $0.015 per GB, with no charge for the traffic that reads it. Media on a server is billed as disk attached to that server, whether or not anyone looks at it.
5. Being slow because of the stack. A cached static page is served from the nearest of Cloudflare's 348 cities. There is no PHP process, no database query and no plugin between the visitor and the file.
6. Traffic spikes. The included request allowance is 10 million a month, and the next million is $0.30. A page that gets picked up by a large site costs pennies rather than an upgrade.
7. Four invoices and four logins. The domain registrar sells at cost, with no add-on fees and no inflated renewal, across more than 390 TLDs, and throws in WHOIS redaction and universal DNSSEC. DNS is the same account, email routing is included, storage and compute sit on one bill, and the CDN is not a separate product you buy from someone else.
What Cloudflare does not do
Payments. There is no payment product, and no amount of migration consolidates that. If you take money on the site you keep a processor, and that processor keeps its own fees. What consolidation buys you is one invoice for the infrastructure, not one invoice for everything.
Two more honest limits:
- The $5 is a floor, not a ceiling. An idle account pays it, and a very busy one pays more for requests and CPU.
- You lose the plugin ecosystem on purpose. Editing is a designed product, not a folder you can drop a plugin into.
That is why the migration is priced in three levels rather than sold as "just like WordPress".
Our own numbers, since a price list is not a result
We moved a travel archive of 473 articles and 1,379 URLs: WordPress on a Droplet, then static files on the edge.
| DigitalOcean | Cloudflare | Total per month | |
|---|---|---|---|
| 2024, the WordPress years | $40.60 | not in use | $40.60 |
| After the migration | $0.00 | $10.62 | $10.62 |
The $10.62 is $10.00 of plans plus about $0.62 of storage for 41 GB across 107,417 objects. The saving is $29.98 a month, $359.76 a year, 74 percent. The archive serves the same pages, at the same addresses, to the same visitors.
One caveat worth stating: that $10.00 includes a $5 load balancer we run for failover, which a single site does not need. A site with no failover requirement runs on $5 plus storage.
What to check before believing any of this
- Ask what the backup is. If the answer is "we back up the server", ask for the file.
- Ask what happens at 10 times your traffic. On a Droplet the answer is a resize and a bill; here it is $0.30 per
million requests past the included ten.
- Ask who patches PHP. If the answer is you, the honest comparison is not $6 against $5, it is $6 plus the hours.
- Ask where the site's media lives. R2 is $0.015 per GB with free reads; disk attached to a server is priced whether
or not anything reads it.
- Check the bill against the invoice, not against a calculator. Ours comes from both vendors' APIs, and one command
reproduces it.
Sources, read 2026-10-23
- Workers pricing, including the $5 plan, included requests, CPU and the free static assets:
https://developers.cloudflare.com/workers/platform/pricing/
- R2 pricing, the 10 GB free tier, $0.015 per GB, operation prices and free egress: https://developers.cloudflare.com/r2/pricing/
- D1 pricing, 5 GB included on Workers Paid and the per-GB rate: https://developers.cloudflare.com/d1/platform/pricing/
- Email routing limits, 200 rules per domain and the 25 MiB inbound ceiling:
https://developers.cloudflare.com/email-routing/limits/
- Network size, 348 cities: https://www.cloudflare.com/network/
- Registrar at-cost pricing, 390+ TLDs, WHOIS redaction and DNSSEC: https://www.cloudflare.com/products/registrar/
Where this goes next
If you want to know what your own site looks like from the outside, run the free audit: https://zpe.vc/p/audit. It reads six public pages, lists every finding with the evidence behind it, and the whole report is public: no account, no form between you and the answer.