A Website Backup Strategy is Essential
A discussion on the importance of having a backup plan for your website and the importance of having it offsite.
Why are Backups Essential?
Your website is an essential part of your business and as such it is important to have backups in case something happens. There are many possible reasons you may need a backup, these include:
- Your server crashes – your host may able to recover the situation and get your site up and running again, however if the hard drive is damaged your file may be lost forever.
- You make a big update to your site and need to put things back as they were before your update
- Content such as images, pdfs, or page entries are accidentally deleted and needs to be restored
- Your website gets hacked, WordPress sites are at greater risk than other CMSs, if your site does get hacked then a backup may be your only method of ensuring your get a clean version of your site up and running again
Example Server Problem
Recently (August 30, 2021) Web Hosting Canada (WHC) had a major incident where:
an individual with a third-party service provider used their privileged account access to connect to one of our datacenter’s management portals and without authorization, initiated server reimaging on some of our backup servers, then on some of our production servers.
In this case WHC had an issue where an employee of a third party vendor re-imaged both backups and production servers resulting in permanent loss of data for many customers.
I'm not sharing this to shame WHC. Quite the opposite in fact. They've been open and public about what happened and how they are are responding and helping their customers. See details in the blog post Major Incident in Progress. In fact, WHC's response should be held up as an example of what to do when a disaster occurs: Quick response, transparency, and communication.
The point I'm making is that there are often things out of your control, in this case a rogue 3rd party vendor employee. It's best to plan in advance and have offsite backups so you can get your site restored as quickly as possible when something like this happens.
Three Parts to Backup
There are three parts of your website that need to be backed up:
- The CMS i.e. Craft CMS, ExpressionEngine, or WordPress
- Asset uploads such as Images, PDFs that your visitors view or download
- The Database - this is where all your data including entries live.
A Multi Pronged Approach to Backups
Many small businesses websites are on shared hosting which includes. Many of these budget hosts state that they have 30 days of backups via cPanel. This sounds great and it is as a first line of defense.
The issue is that cPanel backups are located on the same server as your website. So if your server crashes you won't have access to your cpanel backups. You can manually download your cpanel backups and store them offsite yourself. However you have to remember to do this regularly and if you don't keep a regular schedule your offsite backups will be out of date and not very helpful in the event that you need them.
The multi prong approach involves on-site backup (optional), offsite backup of databases and files, and version control of your CMS.
- On site backup - if you are on a cPanel host you probably have this. If not, then focus on Off site backups as they are a safer option.
- Version Control - using git version control a copy and history of all your files for your CMS will be available in the repository. This copy is all the files in your CMS, but not your database or user uploads such as images and pdfs. A professional web developer or agency will be working with version control for you.
- Off site backup - There are a number of ways this can be achieved depending on your skill level and time. You can use a service such as Drop My Site or Code Guard, set up shell scripts to automatically copy files and databases to a cloud server such as Amazon, or use a plugin for your CMS that does backups - be sure to use one that will backup offsite.
Now that we have regular backups, we're safe and done, right? We're ready to extinguish any fires that come along, right?
Test Your Backups
A backup plan is only good if it works! Now that you've got your backups you need to test them by restoring the backups and ensuring that you have no data loss.
I recommend a test restoring a few files only as well as a full restore of all files and database. Once that is confirmed working you are as safe as you can be from future disaster and ready to put out fires like a pro.