In my day job I migrate WordPress websites from various web hosts to Kinsta.com. I get to see a wide variety of WordPress setups and configurations. One consistent issue I see is how people choose to backup their websites. This is mainly due to the host they have not supplying an easy to use backup system by default. It is also due to people not understanding how and why they should be backing up their site.
Get a good host
When it comes to web hosting one of my main methods for judging a good one from a not so good one is the backup options included with the plan. To me a good hosting plan includes an automated and manual backup solution by default, and those backups are stored separately from the production/live site files.
Naturally the company I work for, Kinsta, meets this measurement. There are others that have this too but I don’t work for them so you will need to do your own research. At Kinsta you get daily automated backups and 5 manual backup slots. They also make a backup when you push a staging site to live in case you need to restore it. You can learn more here.
Why backup your site?
All software is susceptible to bugs. When ever you update any software you should make a backup of your files in case there is an issue. This is true of your desktop computer and also of your WordPress website.
Anytime you update a plugin or theme you should take a backup. In the rare event that an update corrupts and breaks your site you can quickly restore to the backup.
How to backup your site
There are a lot of ways to backup your WordPress site. Most people use a plugin because their hosting plan does not include a backup option. There are free and pay to play plugins. Most free plugins save your backup file in the wp-content folder of your site.
This seems convenient because the files are right there and can quickly and easily be restored. One problem with this approach is that if your wp-content folder gets corrupted your backups are also corrupted. If you update a plugin that corrupts your backups then you may not be able to restore your site.
Another problem is that this is using up storage space on your hosting account and makes your site larger. Depending on the host this may increase your costs. It can also make moving your site more difficult if you do not exclude those backups.
For these reasons backups should be stored separately from your production/live site. Most backup plugins offer this as a pay to play option. Kinsta backups are stored this way. If something goes terribly wrong with your site you can then restore it and be back in business.
For an extra layer of security and peace of mind you may consider storing some backups on a 3rd party system. These are generally referred to as external backups. Kinsta offers this option but it is outside of the default plans. They do allow you to download your backups as well.
This option allows you to restore the site even if something catastrophic were to occur with your host. If your site produces any amount of income this should be something you do on a monthly basis. At Kinsta you can download a backup once a week by default. Its a pretty simple process and gives you access to the site from your own computer.
Another option is using a staging environment to make updates and then pushing that live. This way if something goes wrong with the update you only break the staging site. The production/live site remains unaffected and you can either fix or delete the broken staging site. Kinsta also includes a staging environment by default with every site you host there. When you push to live an automatic backup is made just in case there is an issue.
One more thing…
Another option is to use a local development environment as part of your backup/workflow system. In this scenario you download a copy of the live/production site to your local computer and are able to work on it and preview it locally. Then when you are ready you can push that to the staging environment and then push that to live.
This option gives you the freedom to work offline anytime. The updates will be faster since you aren’t reliant on the internet. This can be a trickier option as you have to setup a local web hosting environment to be able to preview the site.
The great and awesome news is that Kinsta has recently launched a tool to make this as easy as clicking a button. It is called DevKinsta and is available today. It is free for anyone to use. If you want to push a site live you will need to have a Kinsta.com plan.