How to backup your WordPress site to Amazon S3 using BackWPup backup plugin (Part 1 of 5)

I often come across people that, for one reason or another, choose not to backup their websites. The reasons are many: not knowing what to do, not knowing how to do it, not having the time to do it, feeling overwhelmed or scared.

Or, more often, people are not aware that they need to backup their websites.

This article series will give you step-by-step instructions for formulating and implementing your backup strategy. This series consists of the following parts:

Part 1) Introduction
Part 2) How to install BackWPup WordPress backup plugin
Part 3) How to sign-up for Amazon S3 to store your backup files offsite
Part 4) How to configure BackWPup to store your wordpress website backups on Amazon S3
Part 5) How to restore your website from your backups

Why are backups necessary?

Backing up your WordPress site isn’t simply an option — it’s a vital necessity. Why should you backup your site you ask? Here are a few reasons:

  1. You could make a change and mess it up so completely that your only option is to restore it to some known previous state
  2. Your website could get hacked and you might need to restore it
  3. There could be a software or hardware failure on the machine running your website. This is completely out of your control. No hosting company or server can say that they are completely protected from virus attacks, spyware and malware attacks, hacker attacks, downtime, server crash, programming glitch etc.

In all these cases, a backup is your savior allowing you to restore your website back to a working state.

Where to start?

Ok, now that I have gotten you all excited about (if not scared into) backing up your website, you’re probably asking:

  1. Where do I start?
  2. What do I backup? How can I be sure I have backed up everything that has to be backed up?
  3. How do I create backups of my site?
  4. How often should I backup my website?
  5. Where should I store the backup files?
  6. Would my backups restore my website if it goes all wrong? How to restore my website when needed?

And just like that you can go from being all excited to feeling overwhelmed and scared. And very quickly you can fall into the other reason for not backing up your site — because it seems too complicated and overwhelming and scary. Maybe, just maybe, you try to convince yourself, if I ignore it long enough the problem will just go away. Don’t! We all know how that story ends 🙂

Implementing a backup strategy is like Insurance: If you don’t already have it, then by the time you need it it is already too late.

And as for where you start? Well, you start right here 🙂

In this series of articles I will answer all these questions. If you follow along and perform all the steps mentioned here you will have an effective backup strategy in place.

So relax, grab a cup of coffee and read on brave soul!

What should be backed up?

A WordPress website is composed of two components: Files and Database.
In order to backup your WordPress website you need to backup both your files and the database.

As the official WordPress documentation explains, the WordPress Files consists of:

  1. WordPress Core Installation
  2. WordPress Plugins
  3. WordPress Themes
  4. Images and Files
  5. Javascript scripts, PHP scripts, and other code files
  6. Additional Files and Static Web Pages

All of these are used to generate your site.

These files essentially control how your website looks — its layout, the colors and fonts that are used, etc.

The database contains your posts and a lot of data generated on your site. The database largely contains what is displayed on your site — the actual page and post content, the comments from your visitors, etc.

Both the Files and the Database have to be backed up in order for you to be able to restore your website in its entirety.

How often should backups be performed?

It is always advisable to perform regular backups in order to avoid any data loss.
How frequently depends on upon how often you add content to your site or make changes.
If you only make posts once a week and get infrequent comments, then performing a backup once a week should be sufficient.
But if you add content on a daily basis then you should perform a backup on a daily basis.

(As an advanced topic, you can backup your Database and your Files independently and at different frequencies especially — but in most cases this is an unnecessary optimization).

How to setup a backup process?

This question will be dealt with in the next three articles in depth.

There are several different ways you can go about creating a backup of your website ranging from a completely manual process to a fully automated process. A fully automated process is the best approach because:

  • Once it is setup it just works
  • You may forget or get lazy. Whereas an automated process does not fall victim to these weaknesses 🙂
  • You can put your time to better use!

The WordPress Backup Documentation describes how to manually backup your Files and how to backup the database using your hosting providers cPanel if you are so inclined or if you want to read more on the topic.

However, I am going to show you how to use a WordPress Plugin to perform backups.

Best WordPress Backup Plugin

After trying out several different backup options and several different backup plugins, I have chosen:

BackWPup – This has all the features I was looking for:

  • It has, so far, proven to be reliable across several different hosting providers and platforms
  • It can backup both the Database as well as Files
  • You can exclude files and folders from the backup
  • It can be automated to run on a schedule of your choosing. It can even send you emails with a summary every time it runs.
  • It supports several options for offsite backups.

It supports sending backup files by FTP and Email (these two options would be the ones most familiar to most people)
It also supports the following online storage services:

  • Amazon S3
  • RackSpaceCloud
  • Microsoft Azure
  • DropBox
  • SugarSync
  • Amazon Glacier (PRO feature)
  • Google Drive (PRO feature)

Now, I have not tried all these online services—I personally prefer Amazon S3—but having one plugin that covers all your possible options is comforting.
Besides, as we develop websites for different clients, we might run into a customer that wants to, say, store their backups on Microsoft’s Azure serves instead of Amazon’s S3 servers).

  • And its (mostly) FREE. The plugin operates on a Fremium model where some of the more advanced features require purchasing the premium version of the plugin. However, most of the features you would need – such as the ability to schedule your backups and store them either locally, send them via FTP, or to one of the popular cloud services – is supported by the free version of the plugin.

At this time my biggest complaint with this plugin is that it does not work very well for large websites with a large number of files or with files with very large files. The backup simply freezes. For very large websites the only alternative I have found is to split the backup job into two separate jobs — one for the uploads folder (which is typically the largest folder on large sites) — and one for the rest of the website.

In case you are looking for other options, or just want to compare this plugin to others that are out there, the following deserve mentioning:

Other Free Backup Plugins:

  • UpdraftPlus: (Fremium model) The “cloning” feature is a PRO feature, but the backup features are free. Also, it promises to work better for large websites by splitting them into multiple archives.

A few plugins that I have tried in the past, but ultimately decided not to use and I no longer recommend.

  • XCloner – Backup and Restore: This plugin comes closest to BackWPup in terms of the functionality and flexibility it offers
  • EZPZ One Click Backup: This plugin is quite easily the easiest to use and setup. Unfortunately, it did not work on some systems. In some cases it started giving errors after some time. This plugin is no longer available in the WordPress Plugin repository.
  • Automatic WordPress Backup: This is also a free plugin. It saves the backup file to Amazon S3

I have used all of the plugins mentioned above, but have moved on to BackWPup.

A Few Paid Plugins:

I have also used the paid plugins mentioned below – but I do not use these on all the websites I build as they do mean a recurring cost to my clients:

This concludes the Introduction to this series of articles on backing up your WordPress site.

In the next article, I will show you how to install BackWPup, a very flexible and comprehensive plugin for WordPress backups.

Get ready to roll up your sleeves.

If you are still unsure on how to proceed or have any questions contact StressLessWeb. I will be happy to help you out.

Announcing new Products & Services from StressLessWeb

We recently started offering website maintenance services to our existing clients. If you are not an existing client and are interested in availing of this service, contact us to see how we can help you.

Do you use Simple:Press? We have a new e-book out to help your Simple:Press members get started.