WordPress Backup Checklist for VPS Websites
This checklist helps you back up a WordPress website running on a VPS. It focuses on the files, database and configuration that matter when you need to restore the site after a plugin failure, malware incident, broken update or server migration.
What you must back up
- WordPress files
- wp-content folder
- Uploads
- Database
- Nginx configuration
- SSL and renewal notes
- Crontab or automation scripts
Checklist
- Identify the website root directory.
- Export the WordPress database.
- Archive the WordPress files.
- Verify the backup file is not empty.
- Copy backup outside the VPS.
- Back up Nginx server block.
- Record PHP version and database name.
- Test restore on a staging server if possible.
- Create a backup schedule.
- Document the restore process.
Final check
A backup is not reliable until you know how to restore it. For production websites, the restore process matters as much as the backup file.
When to Use This Checklist
Use this checklist before updating WordPress, moving a site, cleaning malware or making risky server changes.
Required Tools
SSH access, database credentials, website root path, MySQL or MariaDB, tar, mysqldump, offsite storage
Before You Start
Confirm you know the website root path and database name. Make sure there is enough disk space to create a temporary backup archive.
Structured Checklist Steps
- Find the website root directory.
- Export the database.
- Archive WordPress files.
- Include wp-content and uploads.
- Back up Nginx config.
- Copy backup outside the VPS.
- Check file size.
- Record database name and PHP version.
- Test restore if possible.
- Schedule regular backups.
Verification Steps
- Confirm database SQL file exists.
- Confirm archive file exists.
- Confirm backup is stored outside the VPS.
- Confirm restore instructions are documented.
Rollback Plan
If a restore fails, keep the original broken site files untouched, create a separate restore directory and import the database into a new database for testing.
Common Mistakes
- Only backing up files but not database.
- Keeping backup only on the same VPS.
- Never testing restore.
- Forgetting Nginx config.
- Overwriting production files without a rollback plan.
Related Commands
mysqldump -u db_user -p db_name > backup.sql
tar -czf site-files.tar.gz /var/www/example.com
sudo cp /etc/nginx/sites-available/example.com ./nginx-example.com.conf
df -h