Testing WordPress backups is simply a necessary part of a good backup solution. However, testing multiple backup versions can be a technical and cumbersome. (Find out) How to best test WordPress backups?
The Problem: How Do You Know If Your Backups Work?
One of the most important tenets of a backup solution is the ability to test the backups. Backups serve one main purpose– restores. When your site goes down, the worst that can happen is that, at the time of restoring your site you find out that the backup is not proper.
The one way to avoid that problem is to regularly test your backups and to definitely test your backups before you restore them. The one reason why many may not venture to do it is simply because testing backups is not always easy.
Backups Can Go Wrong: Testing Backups is Important
Testing backups, however, is a very important part of having a robust backup solution. This is because, a number of things can and do go wrong with backups; and the consequence is that you cannot restore your site quickly and efficiently. What is the point of having a defunct spare tire when the tire on your car gets punctured?
Running out of storage space, leaving out necessary or important files are only some of the things which can affect your backups and eventually your site. When you use a backup solution; like a WordPress backup plugin, or the backups provided by your hosting service, you never really know if the backup contains all the files or even if the backups have happened correctly. You may say that you are getting notifications but that does is not the same as verifying that backups are occurring properly. Even when you download a backup it is generally in a .zip folder. How can you be sure that the .zip folder will function correctly once the backup is restored?
Restore Only After Testing WordPress Backups
Trust is a big aspect of online business. A survey says that 88% of respondents don’t trust sites that crash often; and only 12% of respondent will wait an additional 5 secs for your site to load. This means your restore must be quick and you should also be sure that your site will function correctly.
A WordPress site functions on a mixture of plugins and themes; together they form a precariously balanced ecosystem– your WordPress site. Many times, when something on your WordPress site is not functioning correctly it may not be a direct result of an update or a newly installed plugin. If it is so, then it is easy to pinpoint the problem. However, it is rarely that simple. Sometimes, the problem surfaces after a few days or even after a couple of weeks. Chances are that you have done a few changes to your site in that time.
Let us say that you have
Updated some plugins
Installed a new theme
Installed 2 new plugins
These changes are all spread over different versions over the last month. The challenge is to pinpoint the change which caused the issue. You can’t set up a separate environment to test all of the versions. It is simply not feasible. On the other hand if you restore without testing the probable backup versions you will end with the same problems as before.
The Challenge: Testing Backups is Technical & Laborious
To test backups you need an environment to which you can upload the backup and test it. This means you will need to:
Create a testing environment
Set up a new URL
Restore the backup to that environment
All of this is laborious and technical work. Engaging in this activity along with your everyday business is cumbersome. Even if you go through all the trouble and test your latest backup version. If that is not working as properly then you have to go down the list testing each version. This means you may not test your backups; or at least not test all the backup versions of your website. It is important to test all the backup versions because you never know which one you’ll need at the time of restoring your site. The more difficult a task gets the less we seem to engage in doing it.
Even if you’re willing to take on the task, there is one more point to consider. Once the testing is done you’ll need to find a way to get rid of this environment. Otherwise maintaining it will become another chore on your task list. This is not ideal.
The One-Click Solution
A backup solution must make it easy for you to test your backups instead of creating additional hassles. A solution which allows you to test backups must make it feasible to test multiple versions; and this is the marker of a good testing environment.
BlogVault offers the Test Restore functionality, an option to test any and all of your backups versions with a single click. An exact, fully functioning copy of the site is generated from the chosen backup version, and loaded to BlogVault’s test servers.
BlogVault maintains at least 30 versions of your WordPress site’s backup. You can choose any of those versions to ‘Test Restore’. Once the backup version is chosen it is loaded to Blogvault’s test servers.
In this environment you can not only test how your backup will work once it is restored but also test what happens if you make changes. After the backup is uploaded to BlogVault’s test servers, you’ll also receive the SFTP credentials to the ‘test site’. This way you can also test any updates or changes you want to make to that particular backup version. It is completely independent of your live site, and fully functioning. In other words, ideal testing conditions for your backups.
BlogVault’s Test Restore functionality is a pain-free solution.
Streamline Testing with Backup Descriptions
If you are using the BlogVault service then you can track the changes easily. Each backup version has a description. This allows you to know not only the date and time of the backup, but also what has changed in the site since the last backup. These changes may include
Number of files
Number of tables
Updates to plugins, themes, WP Core
New plugins or themes installed, etc.
You can possibly narrow down the backup versions to be tested. Once the shortlist is ready, you can then test them all; as mentioned, with a single click.
Making WordPress backups with your WordPress hosting service seems like a convenient option. Here’s what you should know about backing up with your web host(s) and why you shouldn’t do it.
Making WordPress backups with your web host may be an option you are considering or are currently following. The idea is instantly attractive as your web host also backs up your WordPress site(s).
However, have you considered why web hosts also provide backups? It is because backups are a basic necessity for most modern day WordPress sites.
Hosting a WordPress site– the act of choosing a host and a plan, may be simple, but maintaining a site and ensuring uptime and quality user experience for visitors to your WordPress site is more difficult. Many things can go wrong with your WordPress site.
WordPress users know that everything from simple updates to hacking may crash your site or cause serious functionality issues. Having a backup can allow you to sort out the issues offline while your users continue to have a good experience and your reputation remains intact.
Running through the characteristics of the ideal WordPress backup solution is a good way to go when you have to evaluate any backup provider. Remember, backups are not for namesakes, you’ll need them at some point. This is true regardless of whether they are made by your web hosting service or not. Which is why backups must held to high standards in all cases.
In this case, let us look at a short checklist of the qualities to look for in a good backup solution:
And, of course, it all comes down to
This should help you evaluate your backups for functionality, security and use-value.
Caveats in WordPress Backups by Web Hosts
While not all web hosts provide WordPress backups, many do. However, even with the ones that do offer backups, there are many caveats attached to the service. The quality of your WordPress backups truly depend on their practices and policies. Let us look at them point by point.
Availability of Backups
Some web hosts may offer backups to their basic accounts for an extra fee. However, backups may be included as part of the subscription plan for more advanced plans. SiteGround is a good example. They offers backup services for extra cost the subscribers of their most basic plan– StartUp, but more advanced plans have it included in the service..
When it comes to automatic WordPress backups you also need to be aware of your web host’s policies regarding website size limits. For example, HostGator will backup your WordPress site automatically, if it is less than 10 GB. If not, then automatic backups will not happen. You can only manually backup your site via cPanel. The onus then, is on you to make, download, organize, and maintain backups. In such cases your backup solution needs to be revisited, because ideally backups must not be an additional responsibility, but must happen automatically.
Coverage: What is backed up?
Is your entire site being backed up? A WordPress site consists of files and database. An ideal database must make backups of it all but also give you access to it. This is not a given with all WordPress hosting service. Ask your web host about which parts of the site is backed up beforehand so that you may be prepared with manual backups or other measures when you need them for restores.
Frequency of Backups
There really cannot be a golden rule for how frequently you should make backups of your WordPress site. However the general guideline is— frequency of backups = frequency of changes to site. Backups must be done once a day. This will ensure that changes are recorded, and loss of data is minimized in case of a restore. This too is not an ironclad rule. e-Commerce sites may need to backed up more frequently (real-time backups).
Web hosts making WordPress backups may not make backups daily. For example, HostGator makes backups but stores only one copy and overwrites it each time another backup is made; which is only done weekly. This may result in loss of changes and updates.
On the other hand, WP Engine and FlyWheel make daily backups and maintain multiple versions of WordPress backups, but this upgrade in the quality/quantity of backups is also reflected in the price.
Access to WordPress Backups
This may seem like a straightforward point but it is not. For example, you can make and access backups with the Create Backup & Backup Wizard tool in cPanel when you have HostGator account. Even though SiteGround does not have a backup service for their most basic plan– StartUp, their site literature mentions that they maintain a backup of all the sites hosted with them. However, this is not accessible to users through the cPanel. In fact, this backup copy isn’t meant for users at all but for technical experts of SiteGround. You may request for this during emergencies, but you cannot be sure of how old this backup maybe. Of course, SiteGround offers Softaculous in its cPanel which can be used to make backups and can also be accessed via your SiteGround cPanel account.
Other web host like Flywheel and WP Engine allow you to access backups through their own dashboard.
Storage Backups – Backups are Not Independent
Storage of your WordPress backups is crucial to the security of your backups. The ultimate purpose of backups is restorations. If backups are not securely stored then you may not have them at all to restore your WordPress site in case of emergencies.
Your Web Host Is Not the Ideal Destination for Your WordPress backups
Backups are meant to be your safety net in case something goes wrong with your WordPress site; which can happen for many reasons. If your backups are stored by your web host on your site’s server, then your backups may not serve that purpose. The short version of the explanation for this point is that if your backups if they are stored on your server by your web host, then they are exposed to the same threats as your WordPress site.
Generally your backups may be stored on the same server or in a different location altogether, like an Amazon S3 account. In either of these cases your WordPress backups are not independent of your WordPress hosting service. This means that if you web host is affected for any reason then along with your website, your backups may also be lost.
Even WordPress Hosts Get Hacked
In case your site or server is hacked then you may make the case that your web host stores backups in a completely different location. However, consider a scenario where your web host has been hacked; and this has been known to happen in the past even to the most reputed of hosting services… In such a case, none of the data that belongs to your web host, regardless of location of the infrastructure, is safe.
Your WordPress backups must also be your disaster recovery plan. If your web host is affected by a natural disaster and your backups are on their servers, then your backups will be inaccessible.
Backups must be Independent
What this means is that you should be able to access your backups without depending on your web host. In such a case you can always restore your site using your backups no matter what the condition of your web host. This also allows you to easily migrate your site to a new hosting service too, without worrying about the quality of the backup. This is why completely independent backups are needed.
Restoring with WordPress Backups from ‘My’ Web Hosts
We can’t stress this enough— backups are about restores. Restoring a WordPress backup must allow for all the same features that you would demand of any other premium backup tool which is considered to be a good experience. The first step to this, is of course ensuring that you have backups from which to restore your website; but as we mentioned, backups with your web host are not independent so this is not a given.
Ways to Restore
cPanel / Tools
One of the way restores can be done, is by using the Backup Wizard tool in cPanel. Generally you cannot restore a Full site backup through the cPanel tools. For this you’ll need to contact your web host’s support. The other way is, if your web host uses a tool like Softaculous like SiteGround does, then you can use that to restore from your WordPress backups.
Web hosts like WP Engine and Flywheel allow for one-click restores. However, the one problem with this is that there are no descriptions. Although there are dates of when the backups were made, you cannot really track the changes to your site from the last backup.
Differential restores will not wipe the data on your site but only restore those files from your backup that are not already on your site. This way if the newer posts/files/updates are on your site then they will continue to do.
Most if not all web hosts, wipe the data on your website before restoring from a backup. There will always be a time difference between when a backup was made and when it was restored. This difference may lead to loss of data, since differential restores are not possible with web hosts’ offerings.
Granular control is important since it allows you to restore only a faulty database table or a specific part of your site’s content. In case you downloaded the full site backup, then it is upto you to find the specific table you want to restore. Apart from that downloading or uploading individual WordPress files may be hard, especially for new users because, all backups are .zip files.
Other web hosts like Flywheel and WP Engine, although they offer one-click restores, do not describe the backup versions or allow for restoring individual files or tables. If you want to do this you may have to download a backups version in .zip folder. Extract and choose the files and upload them via an FTP client.
This is obviously not suitable for every circumstance. If you can pinpoint the source of the issue–like a recent update you made to a plugin, you need to restore may that one particular file and not have to spend time restoring the whole site as this can take some time especially if you have a large site.
Backups must be tested before being restored to ensure that they are fully functional. You do not want to find out what may be wrong with your backups once you have restored it on the live site. You may use the staging environment provided by your web host for this. However, if you are a novice, or are not a developer, then this might be difficult for you.
You can check out BlogVault’s Test Restore feature which you can access with a single click from your BlogVault dashboard. This creates a fully functional copy of your site from the backup version you choose. This way you can navigate the copy just like you would your actual site, make sure everything is ticking correctly and then make the restore; all within a matter of minutes.
WordPress Backups by Web Hosts Bring Other Worries Too
We have covered how backups by web hosts are not independent. This is important because if you don’t have backups then there is nothing to talk about. However, apart from that glaring miss, there are other big and small worries to which you may have to pay attention.
With automatic backups by web hosts you can’t schedule backups or force backups. There are no backup descriptions (as offered by best-in-class premium WordPress backup plugins like BlogVault). This make organizing backups very difficult.
Also, tracking backups are difficult since you have to login to the cPanel every time to track automatic backups and even to make manual backups. cPanel itself can be a little cluttered and provide an overwhelming experience for new users. The tracking issue may become important to you if your web host has limits on your website size to make backups.
WordPress Backups by Web Hosts: The final word
If your backups are not independent, then they don’t fall under the category of ‘following best practices’. So, we cannot recommend this solution it thoroughly. Some web hosts may offer better backup options than others but these options will come at a cost to you. Now that you all the things to consider about backups by web hosts, choose wisely.
Can your business continue to function if you were to lose your data? If your answer is a clear no, then having a disaster recovery plan is a must for you. At some point down the road, your data is going to be in danger. It could be a machine error. It could be a simple human error. It could be a tornado the size of Nebraska. But sooner or later, you’re going to be in a situation where you’re at risk of losing some or all of your data. Some of the common consequences of a disaster –
Loss of business/customers
Loss of credibility/goodwill
Cash flow problems
Loss of operational data
90% of businesses that lose data from a disaster are forced to shut down within 2 years of the disaster. 50% of businesses experiencing a computer outage will be forced to shut within 5 years. (Source: London Chamber of Commerce). So, having a disaster recovery plan is the best insurance for your business and entire data. But what are the possible reasons behind this ‘disaster’? And how do you deal with them?
What Can Go Wrong?
While we’ve made huge strides in terms of technology, it’s still not perfect. There are bound to be issues now and then. Hard disks, which are the most popular form of storage media, fail more often than you think. The statistical figure indicated is by no means trivial. Other forms of hardware failure can have a similar impact on your business.
As every site is hosted using one of the providers, a failure on their end undoubtedly spells disaster. Any sort of networking problem can bring down your site. However, this doesn’t pose a big threat to your data. But that’s not the end of it. These hosting providers are a common target of hackers. Once the server is compromised, the hackers have access to all the data that resides on it. The hackers can thus attack 1000s of site by hacking a single provider. Sometimes, hosting providers even suspend your account without prior notice.
WordPress, though WP core is known to be stable, has its own share of problems that crop up from time to time. The most common issue that users face is that of version incompatibility. Though WordPress versions are meant to be backward compatible, quite often, a WordPress update ends up breaking a plugin or theme due to incompatibility. Underlying API changes in a new version could also result in breaking parts of your site.
Plugin/ Theme Issues
WordPress is an open platform, inviting a lot of people to develop plugins and themes. Since each plugin and theme is written independently, not all of them follow the same set of coding guidelines and standards. This makes installing new themes and plugins on your site a risky proposition. A new addition may be incompatible with the underlying WordPress version. Some of the changes made by plugins and themes are –
Bad database changes
Addition of new tables
Modification of standard WordPress tables
Changing WordPress configuration files
Introducing incompatible code
Corruption of .htaccess files
This can result in breaking parts of your site or worse, lead to a crash. Upgrading plugins and themes can also lead to similar issues.
Hacks and Vulnerabilities
WordPress core, by itself, is known to be safe and stable. However, plugins and themes added by developers hailing from diverse backgrounds have become game changers when it comes to WordPress security. Plugins and themes together make up the biggest source of vulnerabilities found in recent times. Popular plugins like MailPoet, W3Total Cache and Super Cache have been exploited to attack thousands of sites. Similarly, themes are also vulnerable to attacks. The TimThumb library included in many themes was exploited to compromise tons of sites.
Hackers are always looking for new ways to launch attacks on WordPress sites. While most hackers look to make quick profits, some do it merely for fun. They can install malware that’s extremely hard to detect and get rid of. They can also wipe out all of your site’s data.
The reason behind the disaster can vary, but they will all impact you in the same way. They can all potentially take down your site, and thus your business. So what is the best possible plan to recover from a disaster?
Putting Together a Disaster Recovery Plan
Backup, Backup, Backup: the Cornerstone of a Disaster Recovery Plan
Not enough emphasis can be laid on the importance of backups. Taking regular backups of your data is critical for any business. That way if anything untoward happens, you can recover your site in a matter of few minutes. There are multiple options available from which you can choose. However, it is best to opt for a managed offsite backup service like BlogVault that can handle any situation with ease.
Plan for Extended Downtime
Your plan should cover what you will do if the downtime from the disaster is expected to last more than a few days. For instance, there may be a major outage with your hosting provider. You’ll need to identify possible alternatives to host your site.
A natural disaster or emergency could cut off all your regular avenues of communication, so adding a communications element to your plan is important as well. Notifying your customers about the downtime is extremely important. However, when you lose data, your customer information is lost too. Hence it is critical that you have a separate emergency contact list, such as all customer email IDs, stored separately in an easily accessible place.
Test the Plan
Do a test run of your disaster recovery plan to make sure that it works when needed. Also ensure that your plan is known to multiple people at your company so that they can spring into action immediately when disaster strikes.
Disasters do happen, and your company’s data is one of its most important assets. When disaster strikes, you need to be sure that you can get your data back quickly, so there is minimal impact to your business. So work on that disaster recovery plan today, in case you already haven’t. Better safe than sorry, right?
A recent customer case gave us an opportunity to showcase one more way of using our Test Restore feature and we wanted to share the story with our readers.
One day, we received a mail from a customer, Novus Care, saying they recently moved to a new web host and have lost a news article in the process. Moving web hosts is tricky business and we understand it better than anyone else. And that is why we have our own Migration feature that helps you move across servers with zero downtime. Unfortunately, the customer may not have been aware of this and sought the help of a third party service to handle the movement.
We swung right into action to locate the missing news article. In order to do this, we requested our customer for details such as the date of movement and title of the missing article. Armed with this informed, we went through the list of backups to locate the one closest to the time of migration. With blogVault performing daily backups and archiving 30 versions at any point of time, it only took a few minutes to arrive at the right backup.
Once we had the backup file, our next job was to figure out if it included the missing news article. With most backup plugins, the only way to do this is to restore the backup completely. This task can be a time taking one, especially if you have to go through multiple backup files. Moreover, you need to have access to a test environment which isn’t always feasible. But blogVault saves you all this trouble with its awesome Test Restore feature. The Test Restore feature restores any chosen backup version temporarily on blogVault’s test servers so that you can validate it before going ‘live’. It only takes a few minutes, even if you have to go through multiple versions of backup.
We did a Test Restore for the customer backup and were able to locate the news article quickly.
After confirming with the customer that this is indeed the article they were looking for, we extracted just that specific data and imported it to the production site. Now, wasn’t that easy?