Do you really have to pay for a basic functionality like keeping backups of your WordPress site? Here's our recommended solution for all of you who are concerned about not loosing your WordPress blog.
WP-DB-Backup - Free Database Backup Plugin
- Database contains all the WordPress posts, pages, comments and settings. So having a safe copy of it on your computer in case your host crashes and your whole site is destroyed is the first and most important step to a fully backed up site.
- Depending on how big your blog is, it might actually be all what you need in terms of automated backups, as you might be comfortable doing the files backup manually via FTP.
- You can just download your whole public_html directory, but grabbing just images directory (/images or /wp-content/uploads) and your template from /wp-content/themes/ will be enough for the regular backups (make sure you backup your whole site when you do important upgrades).
WP-DB-Backup is a simple and effective plugin which takes care of the database backups only, so you have to backup the files manually as described in the above box.
After you install and activate this plugin, go to Tools -> Backup to see the settings. You can either download the backup right away or schedule automated backups which will be sent to your email address.
Just make sure you include all the extra nonstandard database tables you need to keep in the backup. If you see wp_redirection_logs (but make sure you include all the other wp_redirection tables!) or kfm_new_ tables, you can exclude them.
The plugin works well even with bigger databases, but if the backup if too big it might not be sent by email, in that case it remains in wp-content/backup-... directory. I suggest that you install the plugin, do a test backup and you will see if your database will fit into the email, otherwise it will be stored in that directory. Then you can configure some automated FTP client to grab the backup from the wp-content/backup-... directory every week.
- 20MB database containing over 10,000 comments and over 1,000 posts should get compressed to around 4MB and be emailed correctly.
- If your database is 300MB, it can't be typically sent to your email, as it packs to 60MB. You have to download it via FTP.
BackupBuddy - Paid solution
The advantage of BackupBuddy is, that it allows you to automatically upload these backups to your backup FTP, so the problem with emails is solved. However, that works only if you have some additional hosting account - so first you have to pay for BackupBuddy and then pay monthly for the hosting account you will use for backups. And you backup host should be different from the one which runs your site - so it will survive if your whole host crashes.
BackupBuddy also handles file backups, but it can't backup directories outside of the WordPress folder. But it has certain limitations. We like to keep our images outside of it, so the plugin just doesn't work for us. BackupBuddy authors want to add this feature, but they are not sure when at this point.
BackupBuddy might be a good investment in case your site is bigger.
On the other hand - we believe that if your site is big, then you are probably able to run you own Cpanel backups or your high quality host performs backups for you and you don't have to rely on any of the WordPress plugins (all PHP scripts have certain limitations on how much data they can handle, so they are not reliable as much as host backups - see php memory limit, php execution time).