UpdraftPlus Backup Plugin Setup for WordPress
UpdraftPlus is the most popular WordPress backup plugin. The free version can make automatic backups on schedule and upload them to cloud storage. Paid version adds incremental backups, multisite, encryption.
What's in a Backup
UpdraftPlus splits backup into components that can be toggled independently:
- Database — MySQL dump of entire WordPress database
-
Plugins — contents of
wp-content/plugins/ -
Themes — contents of
wp-content/themes/ -
Uploads — contents of
wp-content/uploads/(can be large) -
Others — rest of
wp-content/(mu-plugins, languages, etc.)
For small sites, backup everything together. For large sites — database daily, uploads weekly.
Setting Schedule
Settings → UpdraftPlus → Settings:
Files backup schedule: Weekly → Retain 4 backups
Database backup schedule: Daily → Retain 14 backups
Backups run via WP-Cron. If hosting runs WP-Cron infrequently — set up system cron:
# System cron for guaranteed WP-Cron execution
*/15 * * * * www-data php /var/www/html/wp-cron.php --allow-root > /dev/null 2>&1
Remote Storage
Free version supports: Google Drive, Dropbox, Amazon S3, Rackspace, (S)FTP, Email.
For Google Drive: click "Authenticate with Google", sign in via OAuth. Backups appear in "UpdraftPlus" folder on Google Drive.
For S3-compatible storage (Yandex Object Storage, Selectel, MinIO):
Storage: Amazon S3
Access Key: AKIAIOSFODNN7EXAMPLE
Secret Key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
S3 Location: my-backup-bucket/site-backups/
Endpoint URL: https://storage.yandexcloud.net (for Yandex Object Storage)
Excluding Files from Backup
Settings → UpdraftPlus → Expert Settings → Exclusions
Exclusion patterns (wildcard supported):
wp-content/uploads/cache/*
wp-content/uploads/wc-logs/*
wp-content/updraft/*
*.log
*.tmp
Restoration
Restore button in Existing Backups section — select components to restore. Important: restoration works only if database and files are from same backup.
When restoring to different domain or server — UpdraftPlus asks about URL change (via search and replace in database, like WP Migrate DB).
Restore via WP-CLI (if admin panel unavailable):
wp --allow-root updraftplus restore --backup-timestamp=1710000000 --components=db,plugins,themes,uploads
Encryption (Premium)
Settings → UpdraftPlus → Advanced Tools → Database encryption
→ Encryption phrase: [strong password]
Database is encrypted with AES-256 before uploading to cloud. Without password, restoration is impossible — store password separately from backups.
Programmatic Backup Trigger
// Force backup via PHP (e.g., before plugin update)
$updraft = UpdraftPlus();
$backup_type = 'All';
$updraft->backup_time_nonce( $backup_type );
wp_schedule_single_event( time(), 'updraft_backup_job', [ 'db-files' ] );
Via WP-CLI:
# Create full backup
wp --allow-root updraftplus backup --include-db --include-files
# Database only
wp --allow-root updraftplus backup --include-db
UpdraftPlus Premium: Migrator
Premium includes UpdraftMigrator and UpdraftClone — migrate site between hosting directly without downloading archive. Site is copied server-to-server via direct link.
Additional Configuration
- Email notifications about backup result
- Alerts on cloud upload failure
- Maximum number of stored backups per storage
- Split large archives into parts (with FTP/S3 limits)
Timeline
Setting up automatic cloud backups — 1–2 hours.







