Short answer: Backups fail during migration due to server timeouts, insufficient storage, file permission errors, database corruption, or incompatible plugins. Each issue has a specific fix: extend PHP limits, check disk space, correct file ownership, repair the database, or switch to a reliable backup method.
Key takeaways
- Server timeouts are the #1 cause of backup failures during migration.
- File permission errors can be fixed with chmod or chown commands.
- Database corruption often requires repair tools before backup.
- Always test your backup restore on a staging environment first.
What you will find here
You’re in the middle of a website migration, you initiate the backup, and it fails. No error, or a cryptic one. Your stomach drops. You need to move that site, and now the backup won’t complete. Backup failures during migration are more common than you’d think. The good news: most have straightforward fixes. This guide walks you through the top reasons your backup failed and how to fix each one so you can proceed with your migration.
Why do backups fail during migration?
Backups fail for a handful of repeatable reasons. Server timeouts, insufficient disk space, file permission errors, database corruption, and plugin conflicts top the list. Understanding which one hit you is the first step to fixing it. Let’s break each down.

Server timeout: the most common culprit
A server timeout happens when your backup script takes longer than your server’s maximum execution time. Most shared hosts set PHP max_execution_time to 30 or 60 seconds. Large sites with many files or a heavy database can easily exceed that.
How to fix it
Increase your PHP time limits. If you use cPanel, look for the MultiPHP INI Editor or PHP Selector. Set max_execution_time to 300 (5 minutes) or higher. Also increase memory_limit to 256M or 512M. If you can’t edit via cPanel, contact your host or add these lines to your wp-config.php file:
set_time_limit(300);
ini_set('memory_limit', '256M');
Some hosts restrict these changes. In that case, switch to a backup method that processes in chunks, like using a migration plugin that exports the database and files separately. For more on database backups, see our Beginner’s Guide to Database Backups for Website Migration.
Not enough disk space
Your backup file needs storage room. If your hosting account is full, the backup will fail mid-way. This is easy to overlook because your site might be using 80% of your quota, but the compressed backup adds up.
How to fix it
Check your disk usage in cPanel or via an FTP client. If you’re low, delete unnecessary files: old themes, unused plugins, and large media files. You can also temporarily upload backups to a remote storage service like cloud storage. Learn more about choosing storage in our guide on Cloud vs Local Backup Storage: Which Is Safer for Migration?.
File permission errors
File permission errors occur when your backup script can’t read certain files or write to the backup directory. Symptoms include partial backups or permission denied messages. This often happens after moving a site between servers or restoring from a previous backup.
How to fix it
Set correct permissions on the entire WordPress directory. Connect via SSH or FTP. Files should be 644 or 640; directories should be 755 or 750. Use these commands on Linux servers:
find /path/to/your/site -type f -exec chmod 644 {} \;
find /path/to/your/site -type d -exec chmod 755 {} \;
Also make sure the backup destination folder is writable. If your backup plugin creates a temporary folder, ensure it has the correct owner (typically the same user as the web server).
Database corruption
A corrupted database table can kill your backup. This often happens after a failed plugin update, a sudden server crash, or long-running issues with your database. The backup process tries to read the table and hits an error.
How to fix it
Repair your database before running the backup. You can do this via phpMyAdmin: select your database, check the tables you want to repair, and choose the Repair option from the dropdown. Alternatively, use WP-CLI:
wp db repair
If repair fails, restore from a known good database backup. If you don’t have one, export the database manually using phpMyAdmin, skipping corrupted tables. Then reimport to a fresh database. For a detailed walkthrough, check out our How to Backup Your WordPress Site Before Migration guide.

Plugin conflicts and compatibility issues
Not all backup plugins play nice with each other or with your hosting environment. A backup plugin may conflict with a security plugin, caching plugin, or server-level mod_security rules. The result? The backup starts and then hangs or returns a white screen.
How to fix it
Temporarily disable all non-essential plugins except your backup tool. Then run the backup. If it succeeds, re-enable plugins one by one until you find the culprit. Common conflicting plugins are caching plugins (like W3 Total Cache or WP Super Cache) and security plugins that block direct file access.
If you still have issues, try a different backup method. Some hosts offer server-level backups via cPanel or a control panel. These bypass PHP entirely and often work when plugin-based backups fail.
Step-by-step: what to do when your backup fails
- Check the error log. Look at your WordPress debug log (wp-content/debug.log) if enabled, or your server’s error log. The error message usually points to the root cause.
- Test your server limits. Use a tool like WP Server Health Check to see your current PHP settings.
- Free up disk space. Delete unused files or move backups to remote storage.
- Repair the database. Use phpMyAdmin or WP-CLI to repair all tables.
- Increase execution time. Adjust PHP limits via wp-config or your hosting panel.
- Disable plugins. Deactivate non-essential plugins and retry.
- Try an alternative. If all else fails, use a different backup plugin or your host’s native backup tool.
Preventing future backup failures
Once you’ve fixed the current backup, take steps to prevent recurrence. Schedule regular backups and monitor their completion. Set up email notifications so you know immediately if a backup fails. Test restoring a backup at least once a month. If you use a staging environment, run a test migration there before attempting a live move. Finally, keep your server’s PHP settings generous enough to handle the largest backup you expect.
Comparison: Backup methods and their failure rates
| Backup Method | Common Failure Cause | Reliability |
|---|---|---|
| Plugin-based (e.g., UpdraftPlus) | Timeouts, plugin conflicts | Good for small to medium sites |
| Host cPanel backup | Disk space limits | Very reliable for full account backups |
| Manual via phpMyAdmin + FTP | Human error, incomplete copies | Reliable if done carefully |
| Server cron job (script) | User permission issues | Excellent if properly configured |
Choose the method that fits your site size and your comfort level. The most reliable setup often combines a plugin-based backup for convenience with a server-level backup for safety.
Backup failures don’t have to derail your migration. By methodically working through the common causes and applying the fixes above, you can get your backup completed and move your site with confidence. And remember: always test your restore process. A successful backup file is worthless if you can’t restore from it.
Frequently asked questions
What should I do if my backup fails with a timeout error?
Increase the PHP max_execution_time and memory_limit. You can do this in your hosting control panel or by adding set_time_limit(300) and ini_set(‘memory_limit’, ‘256M’) to your wp-config.php. If that’s not possible, use a backup plugin that processes data in smaller chunks.
How can I check if my backup failed due to disk space?
Check your disk usage via cPanel or FTP. If you’re near your quota, delete unused files like old themes, plugins, or media. You can also set your backup tool to store backups on a remote service like cloud storage to bypass local disk limits.
What are file permission errors and how do I fix them?
File permission errors occur when the backup script cannot read or write files due to incorrect permissions. Fix by setting files to 644 and directories to 755 using chmod commands. Ensure the backup destination folder is writable and owned by the web server user.
Can a corrupted database prevent my backup from finishing?
Yes. Corrupted database tables can cause the backup to fail. Repair the database using phpMyAdmin’s repair feature or the WP-CLI command ‘wp db repair’. If repair fails, restore from a known good backup or manually export uncorrupted tables.
How do plugin conflicts cause backup failures?
Some plugins, especially caching and security ones, interfere with backup processes by blocking file access or modifying server responses. Deactivate all non-essential plugins and rerun the backup. If it works, re-enable plugins one by one to identify the conflicting one.