For years I gave maintenance away. I would build a client a site, hand over the keys, and then quietly keep it updated, backed up, and online for free, because charging for it felt like nickel-and-diming. Then one slow quarter I added up the hours and saw what I had built: an unpaid support department, running the single most reliable recurring revenue a web shop can have, and billing none of it.
So this is the seller's guide. A maintenance plan is not a cost your client grudgingly bears. It is a service you provide and a line of predictable monthly income that funds your slow months and makes your agency worth more if you ever sell it. Build it right and a handful of plans can cover your rent before you have booked a single new project.
What a maintenance plan actually is, and what it is not
Maintenance is not hosting. Hosting keeps the lights on; maintenance keeps the site healthy, current, and safe while it runs. The two get bundled and confused constantly, and that confusion is usually working against you, because clients assume the thing they already pay for hosting covers the work that you are doing for free.
A real plan is a defined, recurring scope of work. Here is what I put in every plan:
- Software and CMS updates, applied and tested before they go live
- Automated off-site backups, with a tested restore, not just a backup that exists
- Security monitoring, malware scanning, and a response plan when something trips
- Uptime monitoring with alerts, so you know before the client does
- Performance and speed checks, including Core Web Vitals
- Broken-link and form checks, because a dead contact form is a dead lead
- A bounded allowance of small content edits
- A monthly report that shows the client what they are paying for
The work, organized by how often it happens
The reason maintenance feels like a fire drill is that most shops do it reactively. The fix is a cadence: decide what happens daily, weekly, monthly, quarterly, and yearly, then run the same list every time. Here is the schedule I would hand a new hire on day one.
- Daily: automated backups run and uptime monitoring is live (no human required)
- Weekly: review backups, scan for security issues, check forms and key pages
- Monthly: run a speed and Core Web Vitals test, apply and test updates, clear the small-edits queue, send the report
- Quarterly: review the plan against reality, prune anything unused, re-test on real devices
- Yearly: renewals (domain, certs, licenses), a deeper performance pass, and an honest accessibility check
The goal is a service you can run from a checklist, not your memory. Systematized maintenance is what turns a stressful favor into a profitable product.
Decide what is in the plan, and what is not
The single biggest mistake agencies make is leaving the scope fuzzy. Fuzzy scope is how a $90 plan turns into a free redesign. Write the boundary down, put it in the agreement, and say it out loud at the start. That boundary is the difference between a plan that prints money and one that bleeds it.
Billed separately
- New features, new pages, or a redesign
- Content writing, SEO campaigns, and marketing
- Recovery from a client-caused break or a server they control
- Anything past the monthly edit allowance
- Emergency work outside the agreed support window
In the plan
- Updates, backups, security, and uptime
- Performance and broken-link monitoring
- A set number of small content edits each month
- Monthly reporting and a defined support window
- Proactive fixes for things that break on their own
Package it into three tiers
Do not sell maintenance as an hourly mystery. Sell it as a small ladder of plans, because tiers let the client self-select and let you anchor the middle one. I sell three tiers, basic / standard / premium, and so does everyone who does this well, with support hours and response time scaling up the ladder. Here is roughly what these go for, and what I charge.
Representative of the common three-tier shape. Real plans range from around $30 a month for a brochure site to $2,000 and up for an ecommerce site under an SLA. Most plans do not roll unused hours over, which is on purpose.
Name the tiers something your client understands, keep the inclusion list identical down the ladder, and only change the allowance and the response time. That makes the upgrade an easy yes and keeps your fulfillment simple.
Price it for profit, not for hours
Your price is not your cost plus a little. Your price is a bet that you will spend far fewer hours than the plan allows. Freelancers bill maintenance work at roughly $50 to $150 an hour, agencies $100 to $250. A $299 plan that quietly takes you forty-five minutes a month is not a small plan. It is a 90% margin product.
Three rules keep it that way. Do not roll unused hours over, or you train clients to hoard and dump. Keep the included allowance small and the scope tight, so the average client costs you almost nothing. And track your real time for one quarter, because the plans that lose money are always the ones where you never looked.
The part nobody tells you: your stack decides your margin
Every maintenance guide on the internet quietly assumes WordPress. That assumption is the whole reason the work is expensive. On WordPress, the core, the theme, and the plugins all update on their own schedules, they break each other, and updating them safely is the single biggest line of labor in any plan. You are not really being paid to maintain the site. You are being paid to babysit the thing most likely to break it.
Static sites flip that. When a client site ships as plain static files instead of a live application, there is no CMS core, no theme layer, and no plugins to update or to break. The classic maintenance surface, the part every WordPress plan bills for, is close to gone. You are still monitoring, backing up, and making edits, but the recurring labor per site drops hard, and the fee you charge becomes mostly margin.
Directional, not a benchmark. The point is the shape: most of a WordPress plan is update-and-do-not-break labor, which static delivery removes.
This is exactly why Seedly Sites builds client sites as static deploys on Cloudflare Pages. It is not a magic trick, it is just architecture: fewer moving parts means less to maintain, which means the maintenance plan you sell on top keeps more of its price. If you want the longer argument for getting clients off WordPress in the first place, I wrote that up in why agencies are leaving WordPress.
How to sell it without a separate pitch
The best time to sell maintenance is the moment the build is done and the client is happiest. Do not send a cold upsell three months later. Put the plan in the original proposal as the default next step, framed as what it actually is: insurance and peace of mind, not a bag of hours. The line that works is simple. You built them something valuable; the plan is how it stays valuable. Set it to auto-renew, and let the predictability do the rest.
A starter plan you can use this week
If you have never sold maintenance, do not overthink the first version. Offer one plan at around $150 a month: monthly updates and a tested backup, security and uptime monitoring, thirty minutes of edits, and a one-page monthly report. Run the cadence checklist above. Track your hours for ninety days. Then split it into the three tiers once you know what the work really costs you, which by then will be less than you feared.
Maintenance is the rare agency offer that gets more profitable the better your platform is. Build on something with a small surface, price for the margin, and it quietly becomes the steadiest money you make.
Want a platform where that margin is built in? See how Seedly Sites lets you own the builder, host client sites for next to nothing, and keep every dollar of the maintenance plans you sell on top.


