Website Maintenance – Update Your Website Without Breaking It
Having a website, especially an e-commerce site, requires routine website maintenance. These regular updates will keep your audience engaged and attract new visitors. While website maintenance is paramount to your website’s success, so is performing updates in a manner that does not disrupt your users’ experience.
While this subject can get technical very quickly, we’ll create a simple checklist of strategies and procedures that website owners can incorporate into their website maintenance strategy that will allow for routine updates and enhancements while minimizing site downtime, coding errors, and any other disruptions to your site. So let’s get started with some high-level principles which are easy to adopt and pass on to your technical team that will allow you to perform website maintenance without breaking it.
Website QA Procedures
Any site update or enhancement requires a thorough testing protocol. Without getting into coding specifics, your tech team must have a protocol for testing any enhancement or update. If your team’s current protocol is to release updates and wait for audience feedback regarding bugs, you have already failed. Your testing protocols need to be proactive. This includes a website maintenance strategy that consistently adheres to testing prior to releasing updates. By implementing such a strategy, you will find yourself with fewer emergency situations when you make updates to your site. This strategy could and should include testing on multiple browsers, operating systems, and devices. Also, good high-level strategies include testing for console errors, as well as testing the workflows regarding the pages that are affected by whatever updates you make to your website.
Website Staging Environment
If you decide to adopt a strategy regarding testing your site updates, the next recommended step is adopting a staging environment. The most basic idea of what constitutes a staging site is a mirror, or near mirror of your current website. In this environment, you can perform your site updates and apply your testing procedures. This can be as basic as having the source code of the page you are updating saved to a file on a local machine. Other alternatives include having a local machine in use by your tech team running a simple server application, such as MAMP or XAMPP that runs a mirror of your website. The most advanced versions include running cloud servers and databases that routinely update content and code to ensure you have the most identical staging environment possible. At this point, it is important to consider your own resources in terms of money and people power to determine the best possible staging solution for your needs.
Version control is perhaps the most important principle to adhere to when you perform site updates and enhancements. Suppose you update a couple of files on your website, and it turns out that when you released these updates on your live website, you find some major bugs that completely shut down your site.
What do you do now?
How do you know which files have the bug?
That’s where versioning control becomes a life saver. Using version control allows you to precisely locate which files – and even the line numbers – have changed. If needed, versioning control allows for the rolling back of code to previous stable versions with a single command. The most popular versioning control systems out there include Git, Subversion, and Mercurial. Many other systems exist. It is crucial that version control is being leveraged.
If you have a tech team or an on-staff developer, it is crucial that they adopt versioning control into their work. Even if your coder has never used any versioning control system, the time spent learning and applying what they learned to their work will be paid back in spades when you no longer have to go through every page and line of code when an update breaks your site. There is a vast amount of documentation out there to learn a versioning control system. Github is a great social coding site that allows you to become familiar with the Git versioning control system. A great splash course to have your tech team or developers take is the Try Git course by Code School that is sponsored by Github. It should only take about 15 minutes and is a great start to version control.
Automatic Deployment Applications
Once you have tested your code thoroughly and added your update to your versioning control system, it’s now time to send your update to the live site. Are you performing this update in the safest and most efficient manner possible? Once upon a time most developers made their updates to the code right there on the live server. We, in the tech community, refer to that as ‘Cowboy Coding’ and it is very dangerous for a myriad of reasons. Another old fashioned method was logging on to the server using FTP, then overriding the files. This is also an antiquated and insecure method of launching your update. This is when your tech team or developer, that has just adopted versioning control, would integrate a deployment service. Many versioning control services like Beanstalk and Github have services to deploy your coding updates directly to the live server with the click of a button. If anything should go wrong, your deployment service has the ability to move your code back to the most recent version with, again, just a click of the button. Using a deployment service is not only fast and efficient but can be configured to be ultra secure as well. Using a deployment service is a great opportunity to advance the technology used by your staff, as well as decreasing precious talent hours spent updating your website.
Website Maintenance – Conclusion
Adopting some high-level strategies toward your website maintenance processes will save you tons of time and frustration. Plus, it will prevent the limitation of potential site downtime. This will save you money in lost revenue and potential customers. If you want to learn more about how to implement a strategy to updating your website check out our other blog posts and services.