A WordPress backup is your safety net against data loss, hacking, server failures, update conflicts, and human error. Without a reliable backup strategy, a single mishap — a failed update, a hacked site, a server crash, or an accidental deletion — can wipe out months or years of work. Despite this, a significant number of WordPress site owners either do not back up their sites at all or rely solely on their hosting provider's backups without verifying they work.
This guide covers every backup method available to WordPress site owners, from manual command-line backups to automated plugin solutions. You will learn what to back up, how often to do it, where to store backups safely, and how to verify your backups actually work when you need them. A solid backup strategy is also a core component of WordPress security, providing your final line of defense when preventive measures fail. For more information on plugins, refer to the WordPress Plugin Handbook.
What a WordPress Backup Includes
A complete WordPress backup consists of several components. Missing any one of them means your restore will be incomplete.
| Component | Location | Contains |
|---|---|---|
| WordPress Core Files | /wp-admin/, /wp-includes/ | WordPress software (can be re-downloaded, but version matters) |
| wp-content/themes | /wp-content/themes/ | Installed themes, customizations, child themes |
| wp-content/plugins | /wp-content/plugins/ | All installed plugins and their configuration files |
| wp-content/uploads | /wp-content/uploads/ | Media library: images, documents, videos, organized by year/month |
| wp-config.php | Root directory | Database credentials, security keys, custom constants |
| .htaccess / nginx.conf | Root directory / server config | Rewrite rules, redirects, security headers |
| Database | MySQL / MariaDB | Posts, pages, comments, users, settings, plugin data, WooCommerce orders |
The Critical Importance of Database Backups
Your database is the single most valuable part of your WordPress site. It contains all your content (posts, pages, custom post types), user accounts and metadata, WooCommerce orders and customer data, plugin settings and configurations, widget settings, and custom field data. Files can often be re-downloaded or regenerated, but your database content is unique and irreplaceable.
Method 1: Manual Backup via SSH and phpMyAdmin
Manual backups give you direct control over the process and are valuable for one-time backups before major changes, server migrations, or situations where plugin-based backups are not functioning.
Backing Up Files via SSH
Connect to your server via SSH and create a compressed archive of your WordPress directory:
tar -czvf wordpress-backup-$(date +%Y%m%d).tar.gz /path/to/wordpress/
For large sites, you may want to exclude certain directories from the backup, such as cache files and temporary data:
tar -czvf wordpress-backup-$(date +%Y%m%d).tar.gz --exclude='wp-content/cache' --exclude='wp-content/upgrade' /path/to/wordpress/
Backing Up the Database via Command Line
Use mysqldump to export your database:
mysqldump -u db_username -p db_name > database-backup-$(date +%Y%m%d).sql
For large databases, add compression:
mysqldump -u db_username -p db_name | gzip > database-backup-$(date +%Y%m%d).sql.gz
Backing Up the Database via phpMyAdmin
If you prefer a GUI approach: log into phpMyAdmin through your hosting control panel, select your WordPress database, click the Export tab, choose "Custom" for more options, ensure all tables are selected, select SQL format, and click Go to download the SQL file.
Pros and Cons of Manual Backups
| Pros | Cons |
|---|---|
| Full control over what is backed up | Time-consuming, easy to forget |
| No plugin dependencies | No automated scheduling |
| Works when WordPress is inaccessible | Requires SSH/phpMyAdmin knowledge |
| No additional cost | No built-in offsite storage |
Method 2: Plugin-Based Automated Backups
Backup plugins automate the entire process: scheduling, execution, compression, and offsite storage. They are the recommended approach for most WordPress site owners because they eliminate human error and ensure consistent backups. For a list of available plugins, check the WordPress Plugin Directory.
UpdraftPlus
UpdraftPlus is the most widely installed WordPress backup plugin, with over 3 million active installations. It supports both manual and scheduled backups, with direct integration to cloud storage services including Google Drive, Dropbox, Amazon S3, Microsoft OneDrive, and Backblaze B2.
Key features:
- Scheduled automatic backups (database and files on separate schedules)
- Incremental backups (Premium) — only backs up changed files, reducing time and storage
- One-click restore from the WordPress admin
- Multisite support (Premium)
- Migration and cloning tools (Premium)
- Encryption for database backups (Premium)
Setting up UpdraftPlus:
Step 1: Install and activate UpdraftPlus from the WordPress plugin repository or use the UpdraftPlus Premium version for incremental backups, multisite support, and additional storage destinations.
Step 2: Go to Settings > UpdraftPlus Backups and navigate to the Settings tab.
Step 3: Set your backup schedule. For most sites, backing up files weekly and the database daily provides a strong balance between protection and storage usage.
Step 4: Choose your remote storage destination. Click the icon for your preferred service (Google Drive, Dropbox, S3, etc.) and follow the authentication steps.
Step 5: Configure how many backup copies to retain. Keep at least 3-4 copies for files and 7-14 copies for database backups.
Step 6: Click Save Changes and then Backup Now to run your first backup.
BlogVault
BlogVault is a SaaS-based backup solution that stores backups on its own cloud infrastructure. Unlike plugin-only solutions, BlogVault performs backups on its servers rather than yours, reducing the load on your hosting.
Key features:
- Real-time incremental backups (tracks changes continuously)
- Independent backup storage on BlogVault's servers
- One-click staging site creation
- Built-in migration tool
- WooCommerce-aware backups (captures order data between scheduled backups)
- 365-day backup history
BlogVault is a paid service ($89/year for a single site) but is well-suited for WooCommerce stores and business sites where real-time backups and independent storage are priorities.
BackWPup
BackWPup is a free backup plugin that focuses on creating complete backup archives. It can back up to Dropbox, Amazon S3, FTP servers, and email, and can generate both file and database backups in various formats (ZIP, TAR, TAR.GZ).
Key features:
- Complete site backups (files + database in one archive)
- Database optimization and repair during backup
- XML export of WordPress content
- Multiple backup jobs with different schedules and destinations
- Restore via standalone restore script (independent of WordPress)
Plugin Comparison
| Feature | UpdraftPlus Free | UpdraftPlus Premium | BlogVault | BackWPup Free |
|---|---|---|---|---|
| Scheduled backups | Yes | Yes | Yes (real-time) | Yes |
| Incremental backups | No | Yes | Yes | No |
| Cloud storage | Google Drive, Dropbox, S3 | +OneDrive, Backblaze, Azure | BlogVault cloud | Dropbox, S3, FTP |
| One-click restore | Yes | Yes | Yes | Via script |
| Multisite support | No | Yes | Yes | Yes (Pro) |
| WooCommerce-aware | No | No | Yes | No |
| Price | Free | $70/year | $89/year | Free |
Method 3: Hosting-Level Backups
Most hosting providers offer their own backup solutions, either included in your plan or as an add-on. These backups are typically automated and managed at the server level.
What Hosting Backups Typically Include
Managed WordPress hosts usually provide daily automatic backups, 14-30 day retention, one-click restore from the hosting dashboard, and separate backup storage from your main server. Shared hosting providers may offer less frequent backups (weekly) with shorter retention (7 days) and may charge extra for the backup feature.
Why Hosting Backups Are Not Enough
While hosting backups are valuable, relying on them as your sole backup strategy has risks:
- Single point of failure: If the hosting provider experiences a catastrophic failure, both your site and your backups could be lost.
- Provider policies: Some hosts do not guarantee backup availability or restoration success. Their terms of service often state that backups are provided as a courtesy.
- Limited control: You typically cannot download hosting backups for offsite storage or select specific components to restore.
- Account termination risk: If your hosting account is suspended or terminated, you may lose access to backups.
Use hosting backups as one layer of your backup strategy, not the only layer.
Backup Schedule Recommendations
Your backup frequency should match how often your site content changes and how much data you can afford to lose (your Recovery Point Objective, or RPO).
| Site Type | Database Backup | File Backup | Rationale |
|---|---|---|---|
| Blog (weekly posts) | Daily | Weekly | Content changes infrequently; files rarely change |
| Business site (static) | Daily | Weekly | Content updates are infrequent |
| Active blog (daily posts) | Every 6 hours | Daily | Frequent content changes need more granular backups |
| WooCommerce store | Every 4-6 hours | Daily | Orders and customer data change continuously |
| Membership / LMS site | Every 4-6 hours | Daily | User-generated content and progress data |
| High-traffic e-commerce | Real-time (incremental) | Every 6 hours | Every lost transaction affects revenue |
The 3-2-1 Backup Rule
Follow the widely recommended 3-2-1 backup rule:
- 3 copies of your data (the live site plus two backup copies)
- 2 different storage media (e.g., server + cloud storage)
- 1 copy stored offsite (a different physical location from your server)
In practice, this means: your live site is copy one, a backup on your server (or hosting provider's backup) is copy two, and a backup in cloud storage (Google Drive, S3, Dropbox) is copy three. The cloud copy satisfies both the "different media" and "offsite" requirements.
Testing Your Backup Restore Process
A backup that you have never tested is a backup you cannot trust. Schedule periodic restore tests to verify your backup integrity.
How to Test a Restore
Step 1: Create a staging environment or a local WordPress installation for testing. Never test restores on your live site.
Step 2: Download your most recent backup (both files and database).
Step 3: Restore the backup to your staging environment using the same method you would use in an emergency.
Step 4: Verify the restored site: check that pages load correctly, images display, WooCommerce products appear, user accounts exist, and plugin settings are intact.
Step 5: Document the restore process, including how long it took. This is valuable information if you ever need to perform an emergency restore under pressure.
Test your restore process at least once per quarter. If you change your backup method or storage location, test immediately after the change.
Offsite Backup Storage Options
| Storage Service | Free Tier | Paid Storage | Notes |
|---|---|---|---|
| Google Drive | 15 GB | $1.99/month for 100 GB | Easy integration with UpdraftPlus; shared with Gmail/Photos |
| Dropbox | 2 GB | $11.99/month for 2 TB | Reliable; good API; folder-based organization |
| Amazon S3 | 5 GB (12 months) | ~$0.023/GB/month | Scalable; pay-as-you-go; lifecycle policies for cost control |
| Backblaze B2 | 10 GB | $0.005/GB/month | Cost-effective for large backups; S3-compatible API |
| Microsoft OneDrive | 5 GB | $1.99/month for 100 GB | Included with Microsoft 365 subscriptions |
Backup Before Critical Actions
Beyond your regular schedule, always create an on-demand backup before performing any of these actions:
- WordPress core updates (especially major version upgrades)
- Plugin or theme updates (especially for complex plugins like WooCommerce, page builders)
- PHP version changes on your server
- Database modifications or migrations
- Bulk content edits or imports
- Server or hosting migrations
- Installing new plugins that modify the database
Having a backup taken immediately before these actions allows you to roll back to a known-good state if anything goes wrong. For ongoing site maintenance tasks, refer to our WordPress maintenance guide.



