WordPress Restore From Backup Checklist
A backup is only useful if you can restore it. This checklist helps you restore a WordPress site from file and database backups while reducing the risk of overwriting the wrong data.
When to use this
- Plugin update broke the site.
- Malware cleanup failed.
- Migration went wrong.
- Database was damaged.
- Theme or file changes broke the frontend.
Checklist
- Stop making new changes to the broken site.
- Backup the current broken state before restore.
- Identify the correct backup date.
- Verify files backup exists.
- Verify database backup exists.
- Create a new database for test restore if possible.
- Restore files carefully.
- Import the database.
- Check wp-config.php database values.
- Test frontend, wp-admin, permalinks and media.
Final check
A restore is successful when the site loads, wp-admin works, media files load, permalinks work and the restored version does not reproduce the original issue.
When to Use This Checklist
Use this checklist when restoring a WordPress website after a failed update, malware issue, migration problem or broken database.
Required Tools
Files backup, database backup, SSH or hosting access, MySQL access, wp-config.php, domain access
Before You Start
If possible, test the restore in a separate folder or staging environment before replacing production files.
Structured Checklist Steps
- Stop new changes.
- Backup current broken site.
- Select correct backup date.
- Verify file backup.
- Verify database backup.
- Restore files.
- Import database.
- Check wp-config.php.
- Flush permalinks.
- Test site and wp-admin.
Verification Steps
- Homepage loads.
- wp-admin works.
- Media files load.
- Important pages return 200 status.
- Error logs do not show new fatal errors.
Rollback Plan
If the restore fails, keep the broken state backup, restore into a separate test location and avoid overwriting the only available backup.
Common Mistakes
- Restoring files but not database.
- Importing database into the wrong database.
- Overwriting production without backup.
- Using a backup from after the hack.
- Forgetting wp-config.php database values.
Related Commands
mysql -u db_user -p db_name < backup.sql
tar -xzf site-files.tar.gz -C /var/www/example.com
grep DB_ wp-config.php
sudo nginx -t
sudo systemctl reload nginx