Hey WordPress Developers, Sell Maintenance Service with Your Sites


A few months ago I wrote an article titled Hey WordPress Developers, Your Clients Should Own Their Plugin Licenses. I wrote it from my experience at a large agency for a year and then as a freelancer for a few of years.

When I was with the agency, the client was always a large organization (e.g. McDonald’s). We developed the project, tested it, and maybe helped launch it, but the project would always be handed off to the client’s technical team.

Similarly, when I was a freelancer my client was almost always an agency or a designer. I rarely dealt directly with the person or organization the site was for. And so again it was usually a handoff.

I had the luxury (or so I thought, turns out I was also missing out on an opportunity) of handing off projects and not having to concern myself with maintenance. In these situations it’s unthinkable to me that the client wouldn’t own their plugin licenses. But as people pointed out in the comments of that previous article, it may not make sense in other situations.

Forcing a client to purchase their own plugin licenses when they aren’t equipped to maintain their own site is probably not a good idea. As Donna McMaster put it:

[…] most of my clients are challenged even to renew their domain names on time each year. Using developer licenses saves me a lot of overhead vs keeping track of licenses for each site. […] So I just fold the plugin cost into their maintenance plans. If clients need premium plugins that I don’t have licenses for, I encourage them to purchase the plugins themselves but most prefer for me to do it and then bill them.

This makes total sense. I would probably do the same if I had these clients. In fact, I would say it’s my professional duty as their consultant to help them understand the importance of maintaining their site, what’s involved, what’s at stake, and to convince them of the value of maintenance. Obviously some clients are not going to be convinced, but at least I would do my job presenting all the risks of opting out.

Why Sell Maintenance?

Maybe you’re all about building sites. Maintenance is boring and you hate it. I get that.

You could certainly just point your clients to WP Site Care or another maintainance provider and wish them luck. But in my mind, recurring revenue is a very good reason to offer your clients maintenance service.

One of the things that sucks about the business of agencies and freelancers is that revenue can be up and down, feast or famine as they say. Selling customers on maintenance services that they renew annually (or even monthly) can help stabilize your revenue.

If your ambition is to build a product business, maybe someday you could even stop taking on client projects altogether and just maintain sites. Essentially you would build a productized service out of your existing agency/freelance business.

Bake It In

My contracts usually include a year of maintenance during which I handle all updates and license renewals by way of my developer licenses — as long as they renew their maintenance/support agreement I continue using my licenses.

[…] the clients are provided with a list of premium dependencies and associated costs and can replace my license with their own at any time. So, if the maintenance relationship ends I don’t feel any additional responsibility to protect them from themselves. This has worked so far without any stress or loss of sleep.

Comment by Dimitry Chamy

I love the idea of baking a year of maintenance and software licenses right into the initial proposal/contract, not even giving the client a hint that there’s an option to opt-out. Obviously if the client communicates that they’ll be handling maintenance, you can replace the clauses with what they’ve opted-out of and what they are responsible for.

I don’t think I’d call it a “plan” in the contract as it sounds like something optional and a little too much like an upsell. It reminds me of a car dealership hard selling me on a bogus maintenance plan.

What to Include

If I was setting up maintenance service I would probably include the following:

  • Software Updates
    Every month their site is cloned to a staging site, plugins are updated, and the site is tested for any issues caused by the updates. WordPress itself would be set up to run updates automatically as they are released but the site would still be tested for each update. Any issues would be fixed promptly up to a maximum of 1 hour of work per month.
  • Software License Management
    I would acquire and manage software licenses for WordPress plugins, fonts, cloud apps, etc.
  • Backups
    Backups of their database and site files. Frequency would depend on the site and I might exclude this if they’re on a host that offers offsite backups.
  • Monitoring
    I get notified when their site is down and fix the issue if possible. Only during business hours though. I don’t think I’d even entertain the idea of responding to downtime 24/7. If the fix is going to take a while or the problem is out of my hands (e.g. web host having an outage), I let them know.
  • Web Hosting
    I’d probably manage my own server and host their site on it since I have experience setting up and managing servers. Another option would be to get a hosting account that allows lots of sites per account.
  • Domain Name Management
    I would register their domains and manage renewals.

You might also include security monitoring, but I probably wouldn’t. In my experience if you keep your site’s software up-to-date this isn’t really necessary. I’ve only seen sites get hacked because their software was outdated.

Selling It

Of course there will be clients who push back on a maintenance clause in your proposal. They might want to know how the cost would be affected by removing it. And you should definitely be prepared to answer that (i.e. know your costs). But this is also your opportunity to educate them on the value. They may be thinking they have no problem running Windows update, so they can totally handle this.

You can teach them that their WordPress website is a collection of software from different vendors that all miraculously works well together. Sometimes updating one piece of software can break their site and you may not be available right away to help fix it. When you run the updates and test the site, you can fix the issues then and there. And by running the updates on a staging site first we reduce the risk of bringing down the live site to nearly zero.

You should also tell them what happens to those who opt out of maintenance and just choose to not update their software. Their site gets hacked, infected with malware, and not only is it down, but it has to be painstakingly cleaned of malware before it can be brought back online.

Report on Your Efforts

If you want clients to renew their maintenance service, you need to start showing them they’re getting value from it in the very first month. When you update their software and test their site, send them a detailed report of what you did and show them the value they’re receiving from your maintenance service.

When their anniversary date approaches, send a personal email asking if they felt they received good value from their year of maintenance and if they’d like to renew for another year (or go month-to-month). Attach an annual report with all the activity throughout the year. Estimate the hours you’ve saved them from having to do it themselves. Remind them of the headache and cost of hiring a developer to fix the issues that come up. Remind them why keeping their software up-to-date is important.


It’s important to put a process in place for when a client decides not to renew their maintenance service. For example, if you will no longer be managing their software licenses, you should give them a list of all the plugin licenses they’ll need to purchase and let them know that they’ll need to have them in place by their anniversary date. Similarly if you’re hosting their site or managing their domains you’ll need to give them instructions that they need to find another host and migrate their site and transfer their domain name.

You have to be careful here because although you want to end the relationship with the client on good terms, you don’t want to get into the business of educating them on how to do all the things you’ve been doing for them.

If you don’t nail down a solid process here, you could end up with a lot of back and forth with clients on the way out and leave them with a bad taste in their mouth.

Maintenance Tools

If I had to maintain a bunch of client sites there’s no doubt I’d be trying ManageWP. Not only does it centralize the management of software updates, but it handles backups and monitoring as well. It even has a report feature that will automatically generate a beautiful PDF report and email it to the client with all the maintenance activity.

Do you offer a maintenance package to your clients? Is it usually included in the proposal? How hard do you try get your clients to renew their maintenance service? Let us know in the comments below.

About the Author

Brad Touesnard

As founder of Delicious Brains Inc., Brad wears many hats; from coding and design, to marketing and partnerships. Before starting Delicious Brains, Brad was a busy freelance web developer, specializing in front-end development.

  • ryandonsullivan

    Hey Brad,

    I totally agree that maintenance services *can* be a great source of recurring income, but I’d also add some caution here for any freelancers reading this and thinking it’s a “set it and forget it type business”. Even providing the baseline services that you mention beyond 3-5 clients becomes a lot of work, and can quickly derail your active projects coming in the door if you don’t have strict process and some damn good discipline about where your time is going to be focused.

    When you factor in hosting environments, the bevy of plugins and themes in the world, and a novice users unique ability to completely bork a website with no fault of your own, maintaining beyond a few sites per month can become a lot of work. I know, cause that’s exactly how it was when I started 5 years ago 🙂

    The only reason we’ve been able to make it work at the scale we have is because we’ve got a lot going on under the hood to execute the technical work, such as update processing, automated testing, and report generating. Then after all that, we still have hands on quality assurance review and report enhancements handled by hand from our support agents.

    That’s not to mention simple logistical things like, if you’re the point of contact for a client and they panic because they break their website at 2am, that means you’re answering that phone call.

    Granted, a lot can be handled with good expectation management, and some people don’t mind the frequent pings from customers, but too many times I’ve seen new project work get disrupted in a big way because of people reaching for recurring revenue.

    Sorry, I can’t help but chime in any time I see maintenance services being promoted cause this work is HARD 🙂

    Even with great process it can become a very big undertaking once you move beyond a handful of clients. Thanks for the mention!

    • Mat Gargano

      Hey Ryan,

      It all comes down to personal ability and expectation management.

      I will not host a client who’s site I did not build. I hand roll most of my client sites and the only plugins I use are battle tested …. Timber, ACF, WPMDBPro, WP Rocket, etc.

      So while I agree it’s not set it and forget it — It’s more like set it, and set your expectations up front. Tell the client that you will support their site during business hours (which I make 7 days a week) and for (a good deal) more I will do 24/7… most of my clients so far don’t need the 24/7 support so I’m yet to acquire one – but knock on wood, I’ve had only minimal outages.

      I do a quick test when I do weekly plugin/core updates (via composer) and monitor big version updates to see if there’s clashes with plugins I’ve used… I’d like to say that working at agencies with super talented developers I learned how to write code as unbreakable as possible (but we all know that’s only as good as the next vulnerability)… I kses any input that may have HTML but mostly esc_html — I don’t give clients too much rope to hang themselves with and I am the only one who installs and vets plugins (this is in my contracts)…

      So far so good… but you’re right – you have to have an idea what you’re doing — it will eat a novice alive…

      BTW – See you at LoopConf!

    • > if you don’t have strict process and some damn good discipline

      Completely agree. You need to have your shit together to do maintenance right and scale. For sure only a few will excel at this and be able to manage more than a few maintenance clients. I didn’t mean to imply that just about anyone could scale a maintenance service business if that’s how it came off. 🙂

      In fact, scaling most productized services is difficult and seems gets more difficult the larger you get.

  • Good stuff!

  • Hitch B.

    Hi Brad,
    Thanks for the insight! It makes perfect sense to sell maintenance services. This is exactly what we do here at: https://www.soogreat.com/maintenance-plans
    The hardest part is not to convince existing clients to maintain their site or renew their services but to educate and acquire new clients in that matter. Most of people still have no clue about the value of a maintenance service.

    • Hello. As someone who sells and performs maintenance for $20/site/month, I’m trying to wrap my head around the $79/month price tag. I’ve seen this price quite often and I’m wondering if there is something I’m missing. I do everything listed in your plan, with the possible exception of the following notes:

      24/7 Security Monitoring & Hack Cleanups: Are you saying that if I call/email your company at 2:00 a.m., someone is going to clean up my hacked site? I understand the monitoring piece, as that is pretty standard.

      Professional Support: What do you mean by this? Are customers paying just to have your expertise on the roledex?

      Thank you,

  • Great post! I’ve thought about this and haven’t pulled the trigger on it yet for the same reason/luxury you mentioned. I think if I did, I would definitely limit my client’s role on the site so they couldn’t install plugins or break anything important. If you are managing they shouldn’t need admin.

  • Ted

    Maintenance plans are a great way to add recurring revenue to your WordPress business, I don’t deny this.

    I would like to add to what @ryandonsullivan:disqus mentioned.

    If you are a freelancer, one question you should be asking yourself is how does me being in an accident or dying affect my customers? If you were in an accident, long term hospital stay or died, how would your clients business continue when you stop paying your own hosting bill? If you have no sort of backup plan, then I would avoid providing hosting to clients.

    As for maintenance and the freelancer owning the plugin license, your clients will never receive any notification that their license is about to renew. That said, I use developer licenses for my maintenance clients, but my clients use me for convenience, not because they can’t do it themselves. They also know what to expect (licenses they need) should something happen to me.

    • Agree, I have been working on a continuation plan whereby my brother would have my passwords and one of my colleagues would take responsibility for assisting clients with a transition. I’m turning 66 next month so I’m especially conscious of this, but anyone can have an accident.

  • kronda

    I was with you right up until ‘buying domains for clients,’ which to me is like letting a real estate agent sign the papers on your house. I wrote a whole article about this: http://karveldigital.com/business-owners-digital-assets

    I also have one about why I didn’t start ‘hosting’ clients until I found Flywheel, which has bulk accounts, but still manages customer service, backups, support etc. Sure, if someone is my client, then I interface on their behalf, but if they want to leave me or if I got hit by a bus, they could just call Flywheel, request to transfer their account billing and move on with life.

    I do have dev plugin licenses and I keep an updated list of all plugins, which ones are free or premium and who owns the licenses.

    I haven’t rolled maintenance in with projects before and I should definitely start doing that! ::Adds to to-do list::

    The overhead of maintaining clients is a real thing. I use GoWP’s white label support service to handle the backups, security and day to day support requests and it’s one of the best things I ever did for my business. My clients get a dedicated support email address and can request as many 30 minute tasks as they want, which adds a ton of value to paying me every month. The team at GoWP handle everything we throw at them, and I can do things like go to the woods for days and not worry about my clients.

    Great post with some thoughtful discussion.

    • Agree completely about buying domains. I used to do it and still have a few under an eNom reseller account, but I have been moving folks to their own registrar accounts for several years now. I don’t feel comfortable being their only customer service contact for something so critical to their business.

      Likewise I have a VPS with about 30 client sites, but have mixed feelings about it. It’s certainly a convenience for me, but as a one-person shop I feel it leaves my clients too vulnerable. I like your suggestion about Flywheel; have been looking at them myself and am glad to get your good feedback. Will also look at GoWP, though I’m very happy with ManageWP.

    • Agreed, I would probably shy away from domain management unless the client requested it. And even then I would probably setup a Hover account just for them, handle the billing and manage it myself, but give them access to it in case they need it in the future and I’m unavailable.

  • We both host and maintain most of the sites we build, and frequently sites others built. This has many advantage. Some that you mentioned, and some you didn’t 🙂 Chief among these is it gives you the opportunity to stay in touch with customers. There have been many situations where we gained the inside track on new projects because they not only knew us, but we were still top of mind because of the maintenance and hosting work we do for them.

    We have two tracks for maintenance, standard and rush. Standard has a lower rate and allows the project manager to assign the work to developers between things. Rush is more expensive because we take a dev off of what they are working on and have them execute the rush request. Clients seem to understand this.

  • Mat Gargano

    When I started doing freelance work – I quickly realized that I was missing out on an annuity. Hosting client’s is great for passive income!

    My issue with something like manageWP (or something like WPCLI) is the fact that I manage all sites’ plugins (and WP itself) with composer — I maintain a personal satis for pro plugins (WP Migrate DB Pro, ACF, WP Rocket, etc). So weekly I go into my clients and run composer update (i set all dependencies in composer to auto update minor and bugfix level updates — and i typically use plugins that I know are rock solid), commit my new lock file, and push up the repo which kicks off a circleci job that does a capistrano deploy. The great thing is CircleCI is free for 1 box (thats all i need) and the capistrano deployment does all the composering, bowering, grunting…)

    Using something like ManageWP doesn’t make sense for a few reasons… If I want to spin up a second server for a client all I have to do is add a new target in a capistrano file and run something like `cap production2 deploy` — i’m close to adding an ansible playbook (which I use for a lot of taskrunning, even things that most people wouldn’t think to use ansible for) to hook into digitalocean’s API, my DNS service’s API and spin up new servers on demand from a single command line… the beauty of a composer.lock file is I can do just that — relying on the automatic updates on WordPress doesn’t give me a simple replicable workflow as far as I know.

    Also if I want to build the exact environment locally, I simple spin up a vagrant box and I have all the right plugin versions, etc.

    I don’t see the need for ManageWP if you’re doing a managed workflow.

    This is the same workflow that I used at an agency where we built, maintained, etc. fortune 500 sites… so I’m giving my clients white glove treatment – whether they know it or not.. it results in lots and lots of referrals.

  • Tom Legens

    I love the maintenance side of my business. I usually have 1-2 big projects going along with a lot of maintenance clients. I think people make maintenance way over complicated. ManageWP and WPMU DEV are the cornerstones of my maintenance plans for all the reasons Brad mentioned with regards to ManageWP’s service offerings and WPMU Dev provides some great hardening and maintenance tools. With the new ManageWP Orion rollout, its been made even easier and more affordable to manage the overall health of my maintenance clients.

    I think sometimes we can get too caught up in overly technical solutions. I don’t need to use GIT to manage updates or any of its like tools to manage my updates. I certainly understand the value in GIT, I use it often when I work with agencies that have a team. However, I build all the sites I host, I know what plugins are in the site, I have VPS servers that I know the environment, I don’t need to get fancy to do the same thing ManageWP can do for me. Yes, you do need to have your stuff together if you’re going to take on the challenge of maintenance, but lets not overcomplicate it.

    Nice article.

  • Cullen Whitmore

    Great post! I definitely agree with @ryandonsullivan:disqus on the cautioning people just starting out with maintenance. We manage a large number of sites for our clients and over the years we learned that it was better to define an amount of hours of maintenance that we would complete within the year. When that block was up, we would start a new block of hours. The block of hours was also at a discount to our standard hourly rate.

    It is important to remember that not every site is the same. They will have different plugins, themes, number of users and amount of content. Not to mention, even on the best developed websites, plugin updates can break things, so you need to have time for testing and fixing those problems.

    Thankfully, the majority of our clients understand the need for maintenance, but there are some that don’t. We just make it clear what the fees are if they aren’t in an agreement.

    Another side note is that we try and keep all of our clients sites out a shared environment if we can. If you have one site that gets hacked, you can easily end up with a mess of sites all being infected.

  • Nicholas Batik

    Hi Brad,

    In general I agree with maintenance plans – we require them for all of our clients, but I would caution your readers about web hosting.

    Web hosting was one of our initial offerings. We got set up with a major hosting companies reseller plan and sold sites like crazy. Then we discovered the small print – when something goes wrong, like the server going down, or a site getting hacked, or email stops working – the main hosting company does not provide any tech support. In fact, they won’t even acknowledge that you are reselling their products. They disavow everything. The user is directed to you 24/7/365.

    When the major hosting company trashed their network and went offline for a couple days, the only people our clients knew to blame was us. Ultimately we found we were spending much more time on the phone doing server support issues for free than creating web sites for money.

    Unless you have a 24-hour support staff who can field all the normal user hosting questions, I would recommend staying away from offering it.

  • propertyinpune767

    Nice Post

  • Steven

    Hey Brad, Great article. I appreciate your insights and experience. I would like to present the other side of the coin with the fact that many web designers/freelancers today who offer maintenance tend to do a poor job at it, as they see it as easy money. In turn i’ve had many clients who simply see it as a gimmick, like an “in store warranty” and don’t recognize the actual value.

    Owning a Digital Agency I used to try to package maintenance into overall site-build contracts until I realized how few people where doing a really good job at it. That’s when I decided to ditch the creation process and focus on building a business that did exceptional maintenance and support. The “and support” became a big part of this business because although updates are cool, they’re a bit like insurance in that nobody cares about them until something goes wrong. What clients really seemed to want was personal support. Meaning that when they had a question or needed a quick fix they have someone to contact who wont take a few weeks to get back to them.

    So, that’s why I built valiuswp.com. I wanted to provide a solution that went above and beyond and provided everything that a client would need after the “hand-off” stage. And, although I think it’s great if freelancers/agencys out there start offering maintenance and support services I don’t think it does justice to anyone to over simplify the process. There’s a lot that goes into “maintenance” like website optimization, backups, updates, security checks, hack cleanups, up-time monitoring, transaction monitoring, image optimization, speed optimization, just to name a few. And It’s a bit more then just a quick and easy way to generate passive income. Like any business, maintenance services can be done better and sometimes it’s better to leave things up to those who spend their whole day thinking about how to do just that.

  • When it comes to WordPress sites maintenance for clients is essential. We always require our clients to take up a maintenance plan if we build their site. Now we are starting to push the maintenance plans on their own and they have become a source of both web build and digital marketing work. So, the maintenance service has become our pipeline for work. We never offer domain management or hosting. But a good host is a requirement for our plans and we are happy to move new clients to a decent host once they sign up.

  • Andrew Carroll

    Hey everyone! My name is Andrew Carroll Co-Founder of http://www.recurrit.com! If you are planning to sell maintenance plans you will definitely need a system to manage this for you. That is what we specialize in. Our software generates all your maintenance contracts in seconds, gives you real time data and analytics like MRR, Churn Rate, Conversion Rates and much more. Our system will track the lifecycle of each customer and show you in real time who’s set to expire in 30, 60 and 90 days so you never miss a contract end date! Feel free to email me with any questions andrew@recurrit.com