After a website or web application is built and launched, you can be tempted to think that all is done, and that it will keep running forever in the same manner it did on the first day.
But this is not the case at all.
When we buy a house, we set it up the way we want, we organize and refurbish certain aspects of the house, and most of these activities are done once-and-for-all. But there are certain activities which require ongoing maintenance, such as pest control, clearing gutters, maintaining the gardens, re-painting the walls and ceilings when needed, repairing and fixing damage and addressing wear and tear as time goes on. These, as we all know, are not once off tasks, but regular activities which need to be carried out to retain the value of overall liveability of the property. The consequences of neglecting such activities can cost in the long run, and sometimes can have serious negative effects.
The same holds true for websites and web applications. They can last a very long time, provided they are maintained well and in a timely manner. There are numerous maintenance activities which need to be performed on every website to ensure that data remains secure, and the functionality, and indeed the whole website, keeps working.
Why we absolutely need to maintain sites?
Security is perhaps the most important reason to carry out regular maintenance. There are ever new methods to hack into websites being identified. Performing regular activities to check for malicious code, suspicious activities and update software component versions to the latest are necessary to deal with security vulnerabilities.
All commonly used software is kept up to date by the software Vendor or relevant development community; many of the updates being solely for the purpose of improving security and removing vulnerabilities. For example, the latest PHP versions 8+ includes changes to tighten up the software, restricting certain types of code and less secure implementations methods which were overlooked in previous versions. It is imperative that your website uses the latest versions to stay up-to-date and secure. Once a more secure version has been released, websites using earlier versions are more vulnerable to attack. You can read more here about upgrading to PHP 8.
A tell-tale sign of malicious software being present is a sudden increase, or spike, in bandwidth usage. The increased bandwidth usage will likely cause issues with the performance of your website (see below), may increase the cost of your webhosting, or even bring your website down. Although traffic increase can mean your site has suddenly become much more popular, it is important that the cause is confirmed. You will not likely be aware of your website’s bandwidth usage if you aren’t performing regular maintenance.
Compatibility of Software Components is another important reason to keep your website maintained. Most websites and web applications integrate with other websites and software, and make use of third-party plugins and software libraries. When security updates of one component of your website is completed, that component may become incompatible with another. Regular maintenance will ensure that you are aware of components that will no longer be supported, giving you time to replace them with compatible alternatives.
New Browsers. This is less a problem in recent years, but at times new versions of web browsers will break the design or functionality of your website. If the technology of your website is being maintained, it can be adjusted during the regular maintenance to ensure that it still functions correctly.
Efficient Performance. With time, web applications tend to take up more and more disk space. This will in part be due to data being gathered by the website, such as the contents of submitted web forms, but new content and images will also contribute to the size. If not enough disk space is available, it can cause your website to perform poorly. If your web application is in the cloud, this will also lead to excess cost of processing time, load balancing and elasticity, resources required for the growing data, etc. In addition, the lack of disk space may prevent regular backups from completing successfully, prevent updates from installing, interfere with normal functioning of your website, or stop emails generated from your website from sending. In a worst case scenario, your website or web application will stop running. Regular monitoring of disk space will avoid all these potential issues.
Older versions of plugins or software libraries, may also cause performance issues for your website. A website with a poor load speed will negatively impact your search engine ranks, as Google likes to promote websites with great user experience in their search results. Regularly checking for performance issues will ensure that such issues can be resolved in a timely manner.
Contactpoint Regular Website Maintenance
Depending on the website or web application, we will tailor our regular maintenance activities, however we regularly perform the following activities:
- Checking the source code to ensure there are no malicious files such as files that we as the development team have not uploaded, inspect the ‘last updated’ files to look for any suspicious code additions, etc.
- Taking and maintaining regular backups of sites and applications. The importance of backups goes without saying.
- Checking for spikes in bandwidth consumed, diskspace, and so on. If we, in advance, know of a certain time when traffic to the application would be high (example: a sale period in a shopping site), we can schedule for an increase in bandwidth for that particular period. If sudden spikes are noticed, it is important to check the application for a security attack and take necessary actions. Regular checking of the disk space that the application occupies in the server and optimizing the database tables to clear off unwanted data at regular intervals helps optimise disk space consumption.
- Regular updates of software – this includes updating core software such as PHP, .Net, Vue.JS or Node.JS (depending on the code base of the website or application), WordPress core and WordPress plugins (in WordPress sites), MySQL or other Database software, Javascript/JQuery used for frontend components, any CSS framework software such Bootstrap, other third-party plugins used for editors, chatbots, social media feeds and so on.
- Testing after updates – a very important part of maintenance, particularly after a major software upgrade. Impacts can be found in the least likely places. Testing will likely include sending/receiving emails, form submissions, purchasing from ecommerce websites, other activities that include third-party applications, file uploads, working of menus, animations if any etc.
- Performance testing – while testing the site functionality and checking the design after upgrades is of utmost importance, we also need to test the load speed of the site after each upgrade, and improve performance where necessary. We maintain and compare results of performance tests before and after maintenance, allowing us to quickly identify and address any problematic upgrades.
- Deployment of the upgraded application, where the site / application has multiple environments.
- Update technical documentation describing the website / application so that our information about the site is accurate, which helps future maintenance to be performed more efficiently.
- Update code repository. Using source control software allows us to inspect changes made on a particular date, and potentially rollback changes.
- Prepare report of the activities undertaken.
As a developer at Contactpoint, being up-to-date with current releases and changelogs of software commonly used in our client’s sites, applications and SaaS products is a very important part of my role. We are constantly researching security and compatibility issues of new software versions, which helps us to maintain client websites in the most efficient way possible, with the least amount of impact to live websites and applications.
Performing maintenance of websites and web applications is not always straightforward and can present numerous challenges, and at times complex decisions to be made on how to proceed in order to avoid vulnerable software without impacting on functionality or design. The following are situations I have had to deal with recently:
- rectifications and changes required to accommodate updates – this involves modifying code to correct broken features after an update, or sourcing and replacing with a different feature or another design, depending on the competing factors of budget, time and effort.
- resolutions required as a result of security hacks – identifying and removing malicious code, investigating the cause of the hack, blocking particular IP address or range of IP addresses, removing plugin(s) or software code implementation that allowed the hack and replacing with more secure code, updating vulnerable plugins or replacing with alternatives.
- optimization solutions in case of performance issues – the right solution is often not immediately apparent. For example, a performance analyser such as PageSpeed Insights could report that we need to defer Javascript code in the site since it gets loaded preemptively, thereby reducing performance. But following that recommendation will not always deliver performance improvements. Sometimes a section of the page will be broken by deferring Javascript. In such situations, other measures need to be taken in order to optimise without issues.
I cannot stress enough the importance of technology maintenance, and performing this regularly. Attempting to upgrade long outdated software will be much more problematic than updating with small changes on a regular basis.
Technology maintenance, like maintenance of your house, is an ongoing activity requiring investment. A relatively minor investment can go a long way in keeping your application working smoothly and delivering the results you expect.
If your website is not being regularly maintained at the moment, we are happy to help — please get in touch!