Anyone can complete a successful WordPress migration in 15 minutes or less with these steps
We perform a LOT of WordPress migrations around here. Sometimes they go off without any trouble at all, and other times things just don’t want to play nice. We often see others struggling with completing something like this on their own, so we thought we’d publish our basic process that gets the job done most of the time.
Getting started
This guide assumes basic understanding of configuring DNS, domains, sub-domains, and updating all of these records. Our process utilizes a sub-domain and or secondary domain to complete the migration, and will involve creating a brand new WordPress installation to import our existing install to as a downloaded backup. This process is applicable to moving a WordPress site between installations on a single hosting account, or to a new hosting account in the event of a host migration.
Step 1: Prepare the existing site for migration
- Log into WordPress and install the UpdraftPlus backup plugin
- Take your first backup and keep it as a starting point before making any further changes
- Troubleshoot any backup failures, such as changing memory limits or PHP execution timeouts on your hosting plan (ask your hosting support team if you run into trouble)
- Perform all necessary WordPress maintenance tasks, like updating plugins, themes, and particularly the WordPress Core itself
- Confirm that the installation is working as expected after all updates are completed
- Take another backup with UpdraftPlus and download the backup set to your workstation for later
Step 2: Setting up a temporary WordPress install
- Use whatever tools your host provides to install a clean WordPress installation and install the UpdraftPlus backup plugin
- Upload your downloaded backup set and perform a restoration
- UpdraftPlus recommends that you use their paid Migration plugin to do jobs like this, but our method works just fine without it and you will likely experience some of the following issues regardless of your chosen migration method:
- You may experience issues performing uploads or restorations based on PHP memory limits or PHP execution timings. You can make the necessary changes in your host settings with most providers, work with your available hosting support, or ask an expert to help make these changes if you run into trouble.
- You may experience issues using table prefixes within the WordPress database if they are different between the original install and the temporary one. Set them as similarly as possible, or seek out expert help with this part if you are having trouble or believe this to be causing issues with completing this migration.
- You may experience issues with being re-directed back to the live site instead of the new temporary site/new hosting you were working in. If that is the case simply use any of the options listed here to update the installation’s domain to the temporary one we’re working with. We like the wpconfig.php update or changing the database wp_options table methods here.
- UpdraftPlus recommends that you use their paid Migration plugin to do jobs like this, but our method works just fine without it and you will likely experience some of the following issues regardless of your chosen migration method:
- After the restoration is complete, check the site and see if anything is as expected
- You will likely need to make some immediate changes to accommodate your new hosting environment if you’ve changed hosting providers or plans
- Left over pre-loaded plugins (aka bloatware) may have come over from one host to another, and caching plugins may need to be changed or re-configured to best utilize your hosts configuration and resources
Step 3: Complete the DNS updates and update the WordPress install as needed
- Set up SSL for the domain you intend to use on your install
- We recommend SimpleSSL to make this as easy as possible
- If your host doesn’t offer free and auto SSL, consider migrating to a different provider with better features instead
- Update Domain within Database
- Install Better Search Replace plugin
- Run search and replace commands within the database to make sure all old domains, or temporary domains, are all updated and using the intended final domain.
- (Tip) Search and replace once for the domain itself, and then again for http to https to help ensure site-wide SSL compliance
- Run search and replace commands within the database to make sure all old domains, or temporary domains, are all updated and using the intended final domain.
- Install Better Search Replace plugin
- If everything is working correctly at this point, we can complete the migration by making all the required DNS changes, and then updating the domain within the install once final time
- After the DNS has finished propagation double check your SSL settings and make sure that everything is working as expected
Conclusion
If the process outlined above fails to work, or you have any trouble along the way you can always try a more complex method of migration. Other options are manually moving the files from one location to another (such as one directory to another on the same hosting plan, or between servers if moving to a new provider), and then manually migrating the WordPress database and setting it up on the new host. This method of migration is still just as viable, but requires setting up FTP or SSH access, and you end up still needing to repeat many of the steps outlined above anyways. We find that our process gets the job done without trouble, and can be done in 15 minutes or less on most small websites without complex configurations.
At Digital Edict we offer free migrations with many of our services and use the method described above to save time and complete our primary goals much faster. Feel free to leave comments and questions below and tell us your experiences migrating WordPress websites.