How to Backup WooCommerce Database and Files (Complete Guide)
Imagine not being able to retrieve orders, losing customers and product information. A single minute of downtime on your WooCommerce site can cost you hundreds of dollars. These are nightmare scenarios for an e-commerce store, but completely avoidable with great backups.
Real-time backups protect every new customer and sale, and make sure that even when you restore your Woocommerce store, no precious data is lost.
In this article, we will show you how you can set up WooCommerce backup site in minutes, and rest easy that all your data is safe. What to do to backup WooCommerce database and files, what not to do, and how to take your business risk to the absolute minimum.
TL;DR Backup WooCommerce site in minutes with BlogVault. BlogVault backs up your store every 5 minutes, so all your data is instantly retrievable. Along with backups, BlogVault includes a free staging site, where you can test your updates before merging it with your live store. With BlogVault, you are ensuring your WooCommerce site is 100% safe.
Understanding WooCommerce backups
WooCommerce is a powerful plugin that allows you to convert a WordPress website into an online store easily, but it does come with its own set of complexities.
WooCommerce backups are WordPress backups with an additional factor thrown in: time. E-commerce sites are dynamic, and things are changing throughout the day—new users are registered, product inventory is updated, sales are made, discounts are used, and a lot more is constantly happening.
A website backup should always be a complete one that can help you restore your WordPress website, should anything happen to it. With WordPress backups, the backup process is fairly straightforward, because the changes made to a business or static website are at a relatively lower frequency. Restoring a day-old backup works for a WordPress site, but certainly not for an e-commerce store.
Therefore, when considering backup options for your WooCommerce site, you need to look for real-time backups. Real-time backups save all the changes on your website every 5 minutes, and so if your website experiences a problem, the restore will recover the maximum amount of data.
What to back up on your WooCommerce site
Everything. There are no shortcuts to backups, and definitely none for WooCommerce sites. We’ve had a lot of queries from customers who want to backup the database of their users or products, not realising that WooCommerce stores the critical data of a website in different tables in the database.
The fact is that partial backups are just not useful for restores. WordPress stores data in different ways, and any missing data will mess up the restore, and ultimately your website. Therefore we always advocate full backups, and partial restores only from full backups.
To understand how a WordPress backup works, it is important to understand how a site is structured. There are essentially two major components of your website: the files and the database.
- The files comprise WordPress core, plugin and theme files and folders, config files, settings files, and uploaded files like images.
- The database has what is known as user-generated content, which typically includes posts, pages, links, comments, users, and so on. In the case of WooCommerce specifically, the database will also have information about products, transactions, and discounts, for instance.
These two components constitute your website, and they are equally important. There is a lot of advice floating around on the internet that recommends you backup only the database to save on storage space, since the files rarely change.
This is terrible advice, even if it comes from a good place. It is very difficult to restore just the database, even if all the files are in place. For example, there are version changes that alter code in small ways, which could break the site altogether after a restore.
All in all, it is better to find a scalable solution that allows you to backup your whole website in its entirety, rather than cherry-pick elements and cause yourself hardship down the line.
How to backup WooCommerce site
In order to backup WooCommerce site, you have 3 main options of varying efficacy. We have listed the options in order of most to least effective.
- Dedicated WooCommerce backup plugin
- Web host backup
- Manual backup
Backups with a dedicated WooCommerce backup plugin
The best way to backup your WooCommerce site is to use a plugin. Backup plugins take away the headache of manual backups through cPanel or Plesk, and make restores much easier than web host backups. Automatic, real-time backups and 1-click restores save a lot of time and effort and offer peace of mind about your online store.
However, all backup plugins are not the same. BlogVault is the only one with truly bulletproof backups, which will restore your WooCommerce site in minutes.
Plus, setting up BlogVault on your website takes a matter of minutes:
1. Create a BlogVault account
2. Click ‘Add a site’
3. Enter your site URL
4. Click on ‘Automatic Installation’, and enter your wp-admin credentials
Your site will start to sync, which means your first backup is in progress. Every subsequent sync will only backup the changes made to your site, so BlogVault backs up your site without any load on your server. Also, given that BlogVault stores your backups on an external server, it doesn’t affect your website performance.
You can also find BlogVault through the plugins section of your wp-admin dashboard. Install, activate and enter your email address to create a BlogVault account. The site sync will start up right away, and you can go about your day as usual.
For WooCommerce sites, we recommend upgrading to the Advanced plan for real-time backups. With real-time backups, your site’s data is saved every 5 minutes. That means, at any given time, your data is completely backed up to within 5 minutes. This is a huge advantage for online stores, as things can change fast with users, products and sales happening almost every minute.
Why BlogVault backups are the best
BlogVault backups are ideal for your WooCommerce site for many reasons. As we’ve said before, every online store should have real-time backups to safeguard against downtime. Downtime can cost you thousands in lost revenue, and reliable backups are the one way to minimise those costs.
BlogVault gives you truly hands-free backups for your online store, so you can focus on more business-critical tasks. Here are some of the reasons we recommend BlogVault:
- Automated backups: Backups are taken automatically by the plugin, without the need for your intervention. Set it up once, and forget about it till you need to restore.
- Real-time backups: Backups of your site are taken every 5 minutes, so that there is no data loss.
- Ability to handle large sites: Backups of online stores with hundreds of users and thousands of products can take up a lot of space. BlogVault can handle large site backups seamlessly. Restores are 100% flawless and error-free.
- Unlimited storage space: Large sites need a ton of storage space, and bespoke cloud services like Drive or Dropbox can quickly become very expensive. With BlogVault, you get unlimited storage on the cloud.
- Offsite backups: Your site backups are not stored on your website server, but on BlogVault servers. Therefore, if anything goes pear-shaped with your web host or website, you can restore your site instantly on a new server from your BlogVault dashboard.
- External dashboard: If you lose access to wp-admin, you can log into your BlogVault dashboard to restore your site with one click.
- Integrated staging: Before making any changes to your live store, test all your updates on our integrated staging site. Merge the changes to the live site once you’ve confirmed they work well.
- Secure backups: Encrypted backups ensure that no one gains unauthorised access to your website.
There are many reasons why BlogVault is the best option for your WooCommerce site. In short though, it is a best-in-class backup plugin with truly bulletproof backups.
Backup WooCommerce with your web host
Many web hosts offer backups as an add-on or part of their hosting packages. In fact, many hosts backup all their servers as a safety precaution, in case there are any untoward incidents. However, in the latter case, there is no guarantee that the web host will share that backup with a customer.
The first step to backing up your website with your hosting company is to figure out if it is indeed a part of your package. Read the terms and conditions or reach out to their support team for help. Once you have this info, it is easy to set up backups.
Please note: We used WPEngine screenshots to illustrate the steps in this tutorial. The steps will vary depending on your web host.
1. Log into your hosting dashboard, and choose the site you want to back up
2. Select the backup option from the menu or the navigation panel
3. Click through the onscreen instructions to complete the backup
You may be able to set up automatic backups, which take place at a scheduled time. Some web hosts will also allow you to customise which parts of the website you want to backup as well. However, we recommend that you always take a full site backup. This may or may not be possible, depending on server constraints, so please ensure you have all the details from your web host before proceeding.
For further assistance, we have put together complete guides for backups with major web hosts: GoDaddy, Siteground, WPEngine, and Bluehost.
Why web host backups shouldn’t be your primary backups
Any backups are better than no backups at crunch time, so we aren’t going to denigrate web host backups. They can be a good option for first-time users, as they are easy to set up and don’t require any additional plugins.
That being said, we have seen too many customers lose their entire sites because of a web server failure. The live site and the backups are stored on the same server, so there was nothing to fall back on.
There are a few reasons why web host backups can be risky:
- Backups are on the same server as your website: This is akin to having all your eggs in one basket. There are many ways a server can fail, so if your website goes down because of a server fault, your backup goes down with it too. Plus, backups eat away at server resources. If you have 30 days of backups, it means that your server has effectively 31 copies of your website. Then, users are forced to choose between growing their website or keeping enough backups.
- Offsite backups are usually available through support: Some web hosts backup websites to external servers, outside of their own. However, the issue here is that you don’t have access to the backup. In most cases, you would need to contact support to access it, and that can take a considerable amount of time. If your online store is down the whole time, you are literally losing money.
- Malware causes issues: Hopefully, this never is the case, but if your web host detects malware on your website, you can rest assured they will take it down immediately. Sometimes, the notification emails get missed, and the web host will delete the website outright. Including the backup. In fact, some web hosts will delete the site even if they can reach you, and you are then left with nothing that you can retrieve.
These are the major reasons why you should have independent backups for your WooCommerce website.
Backup WooCommerce website manually
In our experience, manual backups are a last resort only. Manual backups are time-consuming, and manual restores are prone to failures, especially with large databases. In fact, if anyone has to rely on manual backups, chances are that this task will slide way down on their priority list.
Regardless, it is always useful to know how to take a manual backup. As we said before, it is a last resort in some cases.
To get a full backup of your website, you need to backup the files and database separately. Once you have done that, keep the two files together, so that during a restore you know which file backup goes with which database backup.
Backup WooCommerce files
There are 2 ways to manually back up your files: File Manager via cPanel or through FTP
a. File Manager via cPanel
cPanel is the most commonly used control panel software, given by web hosts to manage your websites through your hosting dashboard. Depending on your web host though, you may have another one, like Plesk or Webmin. Look for a tool like File Manager on cPanel or Plesk.
1. Select File Manager to see the files on your website server.
2. Navigate to the folder that contains your website. This is usually the public_html folder.
3. Select All to select all the contents of the public_html folder.
4. Next, click on Compress. File Manager won’t let you download folders using the Download option, so you first need to compress everything into a single file.
5. Now select the compressed file—either a tar or zip file—and now click on Download.
With this, you have successfully downloaded your website files. However, not all web hosts provide cPanel or a control panel software. In which case, you would need to use FTP.
It is also possible to use FTP to download your website’s files. There are some web hosts who do not provide a control panel, so FTP then becomes an alternative. However, using FTP is a little more time-consuming. Also, you will need to install a client like FileZilla or Cyberduck to see your site’s files and folders.
1. Once you’ve found an FTP client, look for the FTP or SFTP credentials of your website. Your web host account should have this information.
2. Enter the credentials into the FTP client, and connect to the server.
3. Once you see a list of your website files, you can download them to your computer. On Cyberduck, the client we used for this tutorial, the download option appeared in the right-click menu. Download the public_html folder, which is generally the folder where your website is installed.
Backup WooCommerce Database
You need to use phpMyAdmin to backup WooCommerce database. You can either access it through cPanel, or you can download it. To access the database, you will need the login credentials. These are usually available in the website’s wp-config file or the hosting account.
1. From the File Manager in cPanel, look for the wp-config.php file. It is located in the main folder of your WordPress installation, which is usually public_html. Download this file to get the credentials to log into the database. Also, make a note of the database name in case you are not sure what to look for in the next step.
2. From cPanel, select phpMyAdmin from the Databases section.
3. Once you are in phpMyAdmin, click on the Databases tab on top.
4. Select the correct database from the options.
5. Select all the tables, and click on Export.
6. You can choose the method and format, and export WordPress database.
Note: We strongly advise against taking partial WooCommerce database backups. WooCommerce saves data across different tables, and therefore needs to be backed up and restored as a whole.
Backup Wizard on cPanel
The Backup Wizard is a cPanel utility that allows you to download full copies of your website. The only thing to remember is that you cannot restore full backups to the same website. If you want a backup as a safeguard on your local system, this is a good solution. Otherwise, make sure to take separate backups of the files and the database.
Since we are providing backup tutorials with the view of restoring, we have outlined the steps for partial site backups:
1. Open Backup Wizard on cPanel
2. Select the Backup option
3. Select Home Directory
4. Download the backup
5. Go back
6. Select the database option
7. Download the backup
Just like the other partial backups, remember to save these together, so you can identify when they were taken.
Why we recommend manual backups only in unusual circumstances
Manual backups with cPanel are sometimes the only thing that work, but these are in rare and extraordinary cases. Generally, manual backups are tedious to take and painful to restore. Even if this was not bad enough, there are more reasons why they are not a good option for WordPress website maintenance:
- Restores for large WooCommerce sites often fail: Backups exist for one reason: when you need to restore, you should be able to without data loss. However, we have often seen that cPanel database restores fail if the database size is over 5 GB. This may seem like a lot, but with WooCommerce stores, a database can get very big very fast. Users, products, sales, transactions, and so on can add up quickly. Since cPanel wasn’t built to handle large data transfers, the restores will almost always fail for large sites.
- There is always site downtime: When you are manually restoring a website, you need to delete all the files and the contents of the database first. Then, you can copy the backups in their place. This means that your online store will be down the entire time, because there is no website till the restore is complete. On top of the downtime, this is a stressful process, because, as we pointed out before, restores can fail. In which case, you don’t have a website any longer.
- Cannot test a backup before restore: When taking manual backups, you have no way to test these backups. We have seen a number of cPanel backups with incomplete databases, and missing files. People are unaware of this situation, up until they need to restore. Since you have to delete the existing website to restore the backup, this is the very worst way to find out that the backup is incomplete.
It may sound like we are listing out doomsday scenarios, but these are the actual experiences of our customers before they chose to use BlogVault for their WooCommerce backups. We have also tested manual backups extensively, so have experienced many of these failures first-hand.
How to restore a WooCommerce backup
Depending on which backup method you chose from the previous section, you’ll find the corresponding restore tutorial here. We hope you’re opting to use BlogVault, because that tutorial is by far the easiest and most reliable.
Restore a WooCommerce backup using BlogVault
The other half of a backup is the restore, and this is where BlogVault shines as other backup solutions fail. Manual backups with cPanel are notorious for failing with large WooCommerce databases. However, with BlogVault, this is a really easy process:
1. Navigate to Backups from your BlogVault dashboard.
2. Hit the Restore button. You can then select which backup and what parts of the backup you want to restore. You can restore specific files, plugins, and themes, and also choose which tables you want to restore. Partial restores like this are often useful for when only one part of the website is malfunctioning, and you would like to keep the other parts as they are.
3. For a WooCommerce site, you should have real-time backups enabled, as your store is dynamic. Real-time events captured in the last 24-hour period will show up in the Advanced options. Again, you can cherry-pick the ones you want and disregard the rest.
With WooCommerce backups, you don’t want to lose any data during restore. Real-time backups capture that information so you can still restore your website backup, but without information loss. Therefore, even though BlogVault has full backups, you can customise the restore. You can choose particular plugins or themes to restore, and leave everything else intact.
Important: We always recommend restoring an entire WooCommerce database in one go. WooCommerce stores connected data in multiple database tables, like post and postmeta. Restoring one or the other will cause this to break, so it is always best to avoid partial database restores for WooCommerce stores.
In case you need to figure out which backup to restore, go into the History section for details about what each backup contains. You can also restore your site from there. Moreover, you will find that BlogVault restores always work perfectly. Your site will restore without errors or downtime.
Restore a web host WooCommerce backup
Restoring a web host backup is usually an easy process, if the web host provides automatic backups like WP Engine. Alternatively, you can choose to restore a backup via cPanel, which is essentially the same steps as the manual restore process.
1. Log into your hosting account
2. Choose the site you want to restore
3. Select the backup option from the menu or the navigation panel
4. Select the backup point you want to restore, and click to restore
The process is fairly straightforward, however you do need to check if there are any errors on breaks on the website. There is no way to test the restore first, before sending it to your live website. So you need to take appropriate steps.
Apart from the inability to test backups prior to restore, there is usually no option to partially restore a backup. With WooCommerce sites, we have said time and again that you should restore the full database every time, but that is not a necessity with the files. It would be great to rollback a single plugin or theme, and keep everything else as is. With web host backups, it is usually all or nothing.
Restore a WooCommerce backup manually
Restoring a backup manually is essentially the backup process in reverse. It is a nerve-racking process, because you need to delete everything before the restore. Also, your site will be down for the entire restoration process, so choose a time with light traffic to carry it out.
Restore WordPress files
Again, there are 2 ways to restore file backups manually. Depending on the size of your backup, you can choose either one. File Manager restores via cPanel are significantly faster and more intuitive. However, File Manager limits imports to 500 MB at a time, so you either split up the restore or use FTP instead.
a. cPanel via File Manager
1. Select File Manager from cPanel.
2. Navigate to the folder that contains your website. This is typically public_html.
3. Select All and Delete. You will have the option to move the files to trash or delete permanently. Depending on how confident you are about the backup, please pick the option that suits you best.
4. Next, select Upload to upload the zipped backup file to the web server
5. Click on Extract to open up the zipped file
6. Move the extracted public_html file to root of the website
1. Open your FTP client, as you did with the backup process, and connect to the web server
2. Upload the zipped backup file to the server
3. Unzip the backup file
4. Delete the folder containing the existing website
5. Move the backup to the location of the deleted folder
Restore WooCommerce database
1. Go into phpMyAdmin.
2. Select the database, and all the tables in it.
3. Click the dropdown, and select Drop. This will delete all the tables in the database.
4. Select Import, and upload your database backup.
5. Once the import is complete, make sure the database is the same name as the one you dropped. If you need to double-check, check the wp-config.php file for the exact name.
Restore with the Backup Wizard
1. Open Backup Wizard on cPanel
2. Select the Restore option
3. Select Home Directory
4. Upload the file backup
5. Go back
6. Select the database option
7. Upload the database backup
Restoring a WooCommerce site is the other half of your backup process. And this is the crucial juncture at which most methods fail. Either the databases are too large, or the backup taken wasn’t complete. Restores should work flawlessly, otherwise the backup is entirely useless.
We have encountered errors, like empty files, corrupted data, or even files lost by the web host. These are devastating to say the least, and that’s why we recommend BlogVault backups. Restores are as easy and seamless as backups.
Why you should backup WooCommerce sites
Your online store is a digital business, and just like a brick-and-mortar store, you need to insure it. That’s why you should backup your WooCommerce site.
Additionally, there are many things that can go wrong with a WordPress website. WordPress currently powers around 40% of the internet, and therefore is a huge target for hackers. You need to have bulletproof backups to safeguard your store and your work from the following situations:
Problems with your web host
Your online store is hosted on a remote server, owned by your web hosting provider. The server is basically a computer, and is subject to all the fallibilities of any other computer, like crashes, software issues, hardware issues, and environmental circumstances. There can be electrical surges, network connection problems, and much more.
These can all cause problems with the server, which go on to make your website inaccessible. If you have opted for web host backups, then your backups are also inaccessible, rendering them largely useless. That’s why we strongly recommend external backups on a server separate from your web host.
Updates are an integral part of WordPress administration, but they don’t always go smoothly. Because plugins and themes are developed by various programmers, they can conflict with each other and cause issues on the website. This is especially true of large and complex plugins like WooCommerce, Elementor, and Yoast.
But since updates are critical, you cannot avoid them altogether. Instead, you can backup your website before any updates and roll back if anything breaks. On top of that, BlogVault performs a visual regression during any update, to highlight any differences in your website before and after the update takes effect. You can check the regression results and roll back to a previous version if required.
The immense popularity of WordPress has made it a target for hackers and their malware. Malware is always bad, but is particularly egregious for online stores. Firstly, a WooCommerce store has a ton of user information and can be a gold mine for hackers. Secondly, malware can destroy an online store by diverting traffic, and scaring away customers with spam popups and pages. Other malware can wipe out a website altogether.
Malware can cause an online store to lose significant amounts of revenue, in the long and short term. A security plugin like MalCare, which has a scanner, cleaner, and an integrated firewall, goes a long way in protecting your WooCommerce store. However, bulletproof backups should be part of your security toolkit.
In the event a hacker damages your website beyond the point it can be cleaned, backups are the only way you can retrieve your website at all.
All of us make mistakes from time to time. On your WooCommerce store, this could mean an incorrect setting or a small design change can crash the website. The mistake is not deliberate or malicious like malware, but it still needs to be fixed.
That’s where backups come in. As soon as a website crashes, you can restore it instantly with a BlogVault backup. Your online store is as good as new.
In our experience, it is always better to backup your website just before any major changes are made to it. Frankly, taking backups even before any minor changes also saves a lot of time debugging and troubleshooting. However, this is not practical with manual or web host backups. With BlogVault though, you can backup your website with a click of a button just before you do something. Even if you don’t, you can rest assured that you have a day-old backup in case something breaks.
How often should you backup your WooCommerce site
WooCommerce sites are dynamic, which means things are happening on them throughout the day. There are transactions, orders and customer data added, removed or changed, and all that information needs to be captured.
The question to ask here is: how much of this information are you willing to lose? If the answer is none of it, then you need real-time backups.
BlogVault backups are taken daily by default, and this is sufficient for most websites. However, for e-commerce stores, we recommend real-time backups. Real-time backups mean that the events taking place on your website are backed up every 5 minutes, and saved on BlogVault servers.
How do real-time backups work
Suppose your website’s daily backup takes place at 7 am every day. During the morning and afternoon, after the backup, there is a flurry of orders and new users because of a promotion. Then, an admin adds a new plugin at 6 pm, and the store crashes.
You have a backup that was taken at 7 am, so your online store is mostly recoverable. But if you restore that backup, you will lose all the orders and new users that happened subsequently.
With real-time backups, that is not the case. Every 5 minutes from 7 am onwards to 6 pm, BlogVault has saved the changes made to your website. So, there was a save at 7:05 am, 7:10 am, and so on, right up to 5:55 pm. So now when you want to restore your website, you can choose the 7 am backup, and BlogVault will add all the events that happened during the day to that backup during the restore. This way, you lose none of your information.
How to choose a good WooCommerce backup solution
Backups seem mundane till they are needed. There are so many things that can go wrong with the backup and restore process, so it is critical to choose a WooCommerce backup solution that preemptively accounts for all of these issues.
When looking for good backups for your WooCommerce site, these are the factors to consider:
- Reliable backups and error-free restores
- Real-time backups
- Restores even when the site is down
- Automatic and scheduled backups
- Sufficient backup history; minimum of 90 days
- Incremental backups that save changes made to your site, not the whole site each time
- Encrypted backups
- Unlimited backup storage
- Full backups of the website
- Backups stored independent of your website’s server
BlogVault ticks all these criteria, and does more. It is the perfect solution for backing up your WooCommerce site, so you can have peace of mind.
With a WooCommerce store, every minute your site is down is a loss in revenue. You need great backups that not only save your website, but also work out of the box. Backups are the last thing you should worry about, because they should work automatically and without your intervention.
BlogVault backups, with real-time event capture, and seamless restores are the only real choice for your WooCommerce site. With BlogVault, you are subscribing to peace of mind that your e-commerce store is in good hands.
How to take WooCommerce backup?
The easiest and most effective way to backup WooCommerce site is to use a dedicated backup plugin like BlogVault.
- Install BlogVault on your website
- Add your email address
- The site will start to sync, and your first backup is complete
For WooCommerce sites, it is important to have real-time backups, so that there is no loss of critical information.
How to backup a WooCommerce database?
To backup WooCommerce database, install a dedicated backup plugin. The plugin will backup the database along with the files, and you can download the database tables from the full backup.
Karishma was an engineer in a former life, and so she specialises in making tech more accessible through communication. When she isn't writing, Karishma spends her time tinkering in the innards of WordPress websites