Easy WP Migration v1.0.1
WP Easy Migration lets you export a WordPress website, import it into a new WordPress installation, and restore the database, files, and site URLs.
Description
WP Easy Migration is a WordPress migration plugin that helps you move a website from one WordPress installation to another.
Version 1.0.1 includes:
Export Features
Website export, database export, file export, and backup ZIP creation.
Import Features
Backup upload and extraction with restore status checks.
Restore Features
Database restore, file restore, safe URL replacement, and temporary import cleanup.
Extra Tools
Manual Old Site URL field and migration log file support.
Main Workflow
- Install WP Easy Migration on the old website.
- Export the website and download the backup ZIP.
- Install WP Easy Migration on the new website.
- Upload the backup ZIP.
- Run Restore.
- Enter the Old Site URL if the domain has changed.
- Wait for migration to complete.
Installation
- Upload the plugin folder to
/wp-content/plugins/ - Activate the plugin through the WordPress Plugins screen
- Open
WP Easy Migrationin the WordPress admin menu
Exporting a Website
Use these steps on the old website:
- Install and activate WP Easy Migration
- Open
WP Easy Migrationin the admin menu - Click
Export Website - Wait until the backup is created
- Click
Download Backup
The plugin creates a backup ZIP that includes:
database.sqlfiles.zip
These are packaged into wp-easy-migration-backup.zip.
Importing a Website
Use these steps on the new website:
- Install and activate WP Easy Migration
- Open
WP Easy Migration - Under
Import Website, choose the backup ZIP file - Click
Upload Backup - Wait until the plugin shows:
- Import folder: Found
- database.sql: Found
- files.zip: Found
When those items are found, the backup is ready to restore.
Upload Backup keeps loading and does not complete, that may be a sign that the backup file is too large for your current PHP upload settings.Restoring a Website
After uploading the backup on the new website:
- Scroll to
Run Restore - Enter the
Old Site URLif needed - Click
Run Restore - Confirm the warning
- Wait for the plugin to finish:
- Restoring database
- Restoring files
- Replacing URLs
- Cleaning up temporary files
- Migration complete
Run Restore, do not assume the migration failed immediately. Wait until the browser tab loader at the top fully finishes. Depending on the size of your website, backup file, database, media library, themes, and plugins, this may take a while.If the page stays blank after the loader finishes, go manually to:
/wp-admin/
Then log in again if needed and check the website.
After restore, the temporary import files are deleted automatically.
Old Site URL
What is the Old Site URL?
The Old Site URL is the full URL of the website you exported from.
Example:
https://oldsite.com
If you are moving the site to a new domain, the plugin uses this value to replace old URLs in the database with the new website URL.
Example migration:
- Old website:
https://oldsite.com - New website:
https://newsite.com
In this case, enter https://oldsite.com.
The plugin will replace old links, media URLs, and stored site references with the new website URL.
When should I use the Old Site URL field?
Use the Old Site URL field when:
- moving to a different domain
- moving from staging to live
- moving from one subdomain to another
- moving from one folder/site path to another
- the plugin cannot reliably detect the old domain automatically
Examples:
https://staging.example.com→https://example.comhttps://example.com/oldsite→https://example.comhttps://old-domain.com→https://new-domain.com
When can I leave it blank?
You can leave it blank if:
- the domain is staying the same
- you are testing migration on the same site
- the imported database already matches the current site URL
Note: entering the Old Site URL manually is recommended when the domain changes.
What Gets Exported
WP Easy Migration exports:
- WordPress database
/wp-content/uploads/wp-content/themes/wp-content/plugins
The plugin excludes its own folder during file export:
/wp-content/plugins/wp-easy-migration
This prevents the migration plugin from overwriting itself during restore.
What Happens During Restore
During restore, the plugin:
- imports
database.sql - extracts and restores
files.zip - safely replaces old URLs with the new site URL
- updates
homeandsiteurl - removes temporary import files
The plugin also writes a log file here:
/wp-content/wpem-log.txt
Migration Log
The migration log is useful for troubleshooting.
Location:
/wp-content/wpem-log.txt
The log may contain entries such as:
- Starting export
- Database exported
- Files exported
- Backup archive created
- Starting import
- Backup extracted successfully
- Restoring database
- Restoring files
- Replacing URLs
- Restore completed
Common Error Codes
Upload error code: 1
Meaning: The uploaded backup file is larger than the PHP server limit.
Cause: The file exceeds upload_max_filesize.
Fix: Increase PHP upload limits in your hosting environment.
Common settings:
upload_max_filesizepost_max_sizememory_limitmax_execution_timemax_input_time
If your host supports .user.ini, add something like:
upload_max_filesize = 512M post_max_size = 512M max_execution_time = 300 max_input_time = 300 memory_limit = 512M
Upload error code: 2
Meaning: The uploaded file exceeds the maximum form size allowed by the server or application.
Fix: Increase upload limits and try again.
Upload error code: 3
Meaning: The file was only partially uploaded.
Fix: Try uploading again. Check server stability, timeouts, and upload limits.
Upload error code: 4
Meaning: No file was uploaded.
Fix: Choose a backup ZIP file and upload again.
Upload error code: 6
Meaning: Missing temporary folder on the server.
Fix: Your server is missing or misconfigured PHP temp storage. Contact your hosting provider.
Upload error code: 7
Meaning: The uploaded file could not be written to disk.
Fix: Check disk permissions, available storage, and server write access.
Upload error code: 8
Meaning: A PHP extension stopped the upload.
Fix: Check server PHP extensions or contact hosting support.
Other Common Problems
Security check failed for export/import/restore
Meaning: Nonce validation failed.
Fix: Refresh the plugin page and try again.
ZipArchive is not enabled on this server
Meaning: Your server does not have the PHP ZipArchive extension enabled.
Fix: Enable ZipArchive in PHP or ask your hosting provider to enable it.
wp-content is not writable
Meaning: The plugin cannot write backup or import files into /wp-content/.
Fix: Check file permissions and make sure /wp-content/ is writable by PHP.
Failed to move uploaded file into wp-content
Meaning: The server could not move the uploaded backup file.
Fix: Check permissions, available disk space, and PHP upload settings.
Failed to open the ZIP backup file
Meaning: The uploaded backup is not a valid ZIP or is corrupted.
Fix: Re-export the backup and upload it again.
Failed to extract the ZIP backup file
Meaning: The ZIP could not be extracted.
Fix: Check ZIP integrity, server permissions, and available space.
database.sql not found
Meaning: The imported backup does not contain database.sql.
Fix: Create a fresh export from the old site and upload it again.
files.zip not found
Meaning: The imported backup does not contain files.zip.
Fix: Create a fresh export from the old site and upload it again.
Could not determine old or new URL
Meaning: The plugin could not detect one of the required site URLs.
Fix: Enter the Old Site URL manually in the restore form.
Upload Backup keeps loading
Meaning: The backup file may be too large for the current PHP configuration.
Fix: Increase:
upload_max_filesizepost_max_sizememory_limitmax_execution_timemax_input_time
Make sure the values match the size of the website you are migrating.
Restore page becomes blank
Meaning: The restore may still be processing in the background, especially on larger websites.
Fix: Wait for the browser tab loader at the top to fully stop. Large websites may take longer to complete restore steps. If the page remains blank after the loader finishes, manually go to:
/wp-admin/
Then check the migrated site and log in again if needed.
Recommended Migration Method
For best results:
- Start with a fresh WordPress installation on the new server
- Install and activate WP Easy Migration
- Upload the exported backup
- Enter the old domain in the
Old Site URLfield if the domain changed - Run restore
- Log in again if needed after migration completes
- Delete the backup ZIP from uploads or server storage after successful migration if you no longer need it
Recommended Server Requirements
- PHP 7.4 or higher
- WordPress 6.0 or higher
- ZipArchive enabled
- Write access to
/wp-content/ - Sufficient PHP memory
- Sufficient upload size for backup ZIP files
Recommended PHP settings for larger backups:
upload_max_filesize = 512M post_max_size = 512M memory_limit = 512M max_execution_time = 300 max_input_time = 300
Important Notes
- Use this plugin carefully on live websites
- Always keep a separate backup before restoring
- Best used on a fresh target WordPress installation
- Large sites may take longer to export, upload, and restore
- After restore, temporary import files are cleaned automatically
- The Restore Status section may show missing again after a successful restore because cleanup removed the temporary files
- Delete old backup ZIP files after successful migration if you no longer need them
- If you create a new export while an older backup ZIP is still stored, the resulting file size may become much larger and may exceed your PHP upload limits
Frequently Asked Questions
Can I use WP Easy Migration on the same website for testing?
Yes, but it is mainly intended for migration to a new or fresh WordPress installation.
Do I need WP Easy Migration installed on both websites?
Yes. Install it on the old website to export, and on the new website to import and restore.
What file should I move to the new website?
Use the exported backup ZIP:
wp-easy-migration-backup.zip
What should I enter in Old Site URL?
Enter the original domain of the exported website, for example:
https://oldsite.com
What if the new website uses the same domain?
You can usually leave the Old Site URL blank if the domain is not changing.
Where is the migration log?
Here:
/wp-content/wpem-log.txt
What should I do after a successful migration?
Delete the backup ZIP file from your uploads or server if you no longer need it, so future exports do not become unnecessarily large.
Changelog
1.0.1
- Updated stable tag to 1.0.1
- Added restore and upload guidance
- Added notes about deleting old backup ZIP files after successful migration
- Added notes about PHP upload, post, memory, and timeout settings depending on website size
1.0.0
- Initial release
- Export database and files
- Create downloadable backup ZIP
- Import backup ZIP
- Restore database and files
- Safe URL replacement for serialized data
- Manual Old Site URL support
- Temporary import cleanup
- Migration log support
