Posted September 19, 2018
Filed Under: Uncategorized
In every contract I commit to, for every client, I offer post-deployment maintenance. It’s an important part of the web-dev business that ensures happy clients & efficiency. Sometimes the client doesn’t need it, sometimes they don’t want to pay for it (even though it’s free – most of the time), but at least 80% of my clients have continued support from me. Quite frequently, I get asked what post-deployment maintenance is.
Post-deployment maintenance refers to the work done for a site or server (more typically a server) after that site has been launched. Sometimes, the work can be site-specific. Most of the time, I only offer this service as free for clients that have chosen to host on my server because most of the time, the server maintenance affects my personal websites, too, so I’m doing it anyways. Sometimes, though, customers will need post-deployment maintenance on their own servers, for which I charge a retainer fee and report monthly to them.
Most post-deployment maintenance is updating versions of languages, packages, and dependencies. A lot ot the sites I build are based on WordPress, so I check often for plugin, theme, and core updates. I always have a staging site set up where I update and test, then I push those updates to the live site. Other times, more intensive updates are needed: new PHP versions become available, new versions of JS or React libraries/packages become available, or security updates are released for your OS. These are all under the scope of post-deployment maintenance.
A quick side note: I tend not to update packages that don’t include a security update unless some part of the package becomes deprecated or the client or I plan to use the new features (which usually means we’re at the planning stage of another iteration of their site, anyways)
Some of the post-deployment maintenance is bug fixing, probably more for new clients. As more people visit the site, more edge cases will be revealed, and more bugs will be reported. Normally these things are in the UI, but sometimes can be deeper. Some other bug fixes include updating code to be compliant with a new version of a language, package, or dependency. Often times these updates are quick and easy. Again, I always use a staging site to test on before pushing to the live site.
The other significant part of post-deployment maintenance is security monitoring. Checking comments for spam, checking your logs to make sure you’re not getting swarmed by botnets, and making sure that your security systems haven’t been attacked are weekly tasks that need to be done. Most of the time, this process is quick, but it’s good to catch these things early and take action quickly. Learning of a small attempted attack and responding quickly is better than figuring out you’ve been subject of a large-scale attack and your client is losing money.
Domain names & SSL
Once a year (sometimes more, sometimes less often), domain names and SSL certificates need to be renewed. Every time this is done is a good opportunity to also update your client’s contact and payment information. WhoIs information also needs to be updated, normally with a domain name renewal. For ease of use, I charge my clients for their hosting package at the same time and with the same term of their domain name registration.
I like to look at post-deployment maintenance more like preventative maintenance. Small changes over a period of time help prevent lots of big headaches all at once later down the road. Keep your clients happy and making money by ensuring their dependencies are up to date, their website hasn’t started throwing new errors, that security is still air-tight, and that domain names and SSL certificates remain active & valid. Not only will this keep your clients happy and coming back, but this will also ensure that you’re being as efficient as possible.
Unsplash helped provide some photos, specifically the security camera, laptop, and the featured image.