Backing up a live shop, and why files alone are not enough

A shop is the one kind of site where a backup gap costs you real money, because orders arrive continuously and cannot be recreated.

What has to be in it

Both the files and the database. The database holds every order, every customer and every setting. A file backup on its own restores a shop with no orders in it, and people discover this at the worst possible moment.

How often

More often than a normal website. If you take orders daily, a daily backup means at worst you lose a day of orders – which is still bad. Many shops keep the database backed up more frequently than the files, which is sensible: the files rarely change, the database changes with every order.

Where to keep it

Somewhere other than the hosting account. A backup sitting in your public_html does not survive the account being compromised, and it counts toward your disk and inode usage besides.

Before any change

Always take one before updating WooCommerce, updating a payment plugin, changing theme, or making a bulk price or stock change. These are the moments things break.

Test the restore

An untested backup is a hope. At least once, restore it to a staging site and place a test order. Discovering that the backup is incomplete is something you want to do on a Tuesday afternoon, not during an outage.

Watch the timing

A full backup of a large shop is heavy. Schedule it for your quietest hour, and never during a sale.

  • 0 Users Found This Useful
Was this answer helpful?

Related Articles

WooCommerce on shared hosting: what to expect

WooCommerce runs perfectly well on shared hosting for the great majority of shops. It is,...

Caching WooCommerce correctly, and what must never be cached

Caching is the biggest performance win available to a shop, and the fastest way to break one. The...

Order emails are not arriving

Missing order emails are among the most damaging faults a shop can have, because neither you nor...

Action Scheduler: why background jobs stop running

WooCommerce queues work to run in the background – sending some emails, syncing stock,...

Orders stuck on pending payment

An order sitting at Pending Payment means WooCommerce created it and never heard that the payment...