Once I moved my client sites off WP Engine at $600 a month onto Cloudflare at $200 a month for the whole roster, my cost per site dropped to a few dollars. And I hit a weird mental block. It felt dishonest to charge a client forty or fifty a month for hosting that now cost me almost nothing per site. So for a while I just... did not charge much. That was a mistake, and it took me too long to see why.
You are not charging for the server
Here is the reframe that fixed it for me. The client is not paying you for a slice of a server. They do not know or care what a server costs. They are paying you so that their website is fast, online, backed up, and not their problem. That is the thing of value, and it is worth real money whether it costs you forty dollars or four cents to provide.
A plumber does not charge you for the eighty-cent washer. They charge you for the fact that your sink stopped leaking and you did not have to figure out why. Same idea. Your cost is not the price. The outcome is the price.
Cost-plus pricing is a trap when your cost is a few dollars, because it prices your work at a few dollars too. Price the result, not the receipt.
What actually goes in a hosting plan
The way you make this honest is by putting real value in the plan, so it is not rent for a server, it is the reason your site keeps working. Here is what I bundle.
- Fast, reliable hosting the client never has to think about
- Backups and the ability to roll back a bad change
- An SSL certificate and a domain that stays pointed at the right place
- Monitoring, so I know if something is down before they do
- A small monthly allowance of content edits
- One invoice, one point of contact, zero technical decisions on their end
Join the Seedly owners community.
Owners trade setups, share add-ons, and swap playbooks. See what people are building before you commit.
What to actually charge
I stopped selling hosting as a line item and started selling a care plan that includes it. Here is roughly the shape I use.
My whole roster runs a flat plan on Cloudflare, around $200 a month for unlimited sites, down from $600 on WP Engine. Spread across the sites, my real cost per client is a few dollars. The plan price reflects the outcome, not the server. Numbers are the shape I use, not a rule.
The margin looks huge because it is, and that is fine, because you are not selling the few dollars. You are selling the fact that the client never thinks about any of this and it just works. That is worth every bit of it.
Stop underpricing the outcome
If your hosting cost dropped through the floor, do not drop your price to match. Raise the value in the plan and charge for the outcome. The setup that makes your cost this low is in hosting client sites on Cloudflare Pages, and turning this into predictable income is the whole point of a website maintenance plan that is actually recurring revenue.
Charge for the result, not the receipt.



