When you first decide to start a WordPress site, there are a few things you must do. You need to set up a hosting account, buy a domain name, install WordPress, and set up your site. A year after all of this has been done and your site has been doing well, you receive a mail reminding you of renewing your hosting account. There’s one problem though: renewal costs are much higher than signing up afresh for a new account. The only way out of this situation is ‘WordPress migration’.
Migrating a WordPress site can be a strenuous process, especially if you’re new to the ecosystem. Managing a site includes routine tasks such as adding content, and customizing your site, while also performing backups. A these tasks are very different in terms of the know-how required to move a WordPress site.
What makes WordPress migration such a complex task, is the fact that a number of things can go wrong during the process. (This is why it’s important to have a backup of the site before the migration begins). The site also needs to be constantly monitored through the process.
How to move your WordPress site
There are a few factors which could help determine what your migration experience is like:
- Knowledge required
- Effort required
- Time taken
- Efficiency (or accuracy)
Based on these factors, you can choose to perform a WordPress migration in two ways:
- Migrate WordPress site manually
- Migrate site using a WordPress plugin such as Migrate Guru.
Every process has its pros and cons, but the tradeoff depends on how important the above factors are, to you.
Migrate WordPress site manually
To manually migrate your WordPress site, you need to perform the following steps (explained in the WordPress codex):
1. Backup your entire site
You can do this manually, or via a tool, like a WordPress backup plugin like BlogVault. WordPress sites consist of 2 main parts: files, and a database. Both these parts are equally important and must be backed up before you make any changes to (or move) your WordPress site. To backup the site, you need to copy of the files via FTP, and the database, imported via phpMyAdmin.
2. Backup the database
After your files are safely placed on your local computer, you must export the WordPress database. You will need access to cPanels as well.
- Log in to your cPanel
- Navigate to Databases section
- Open phpMyAdmin
- Choose the Export tab
- Select a method
- Pick a format
- Click Go button to save the database on your computer
3.) Create a new database on the new host
To move your site to a new domain, you’ll need to create a new database on the hosting service you’re moving to. This also means creating a new MySQL user with a secure password.
Open cPanel on new host
- Navigate to MySQL Database
- Create a new database
- Create a new MySQL user
- Add new user account to the newly created database with all privileges selected
- Copy database name, username, and password
Note: Once this has been done, keep the database name, new MySQL username and its password safe.
- Edit the wp-config.php file to reflect the new database changes
You’ll need to change the database name, the database username, and the database user password.
a.) Open the WordPress folder you backed up previously.
b.) Make a copy of wp-config.php file just in case you do something wrong
c. ) Open the wp-config.php file and find the following code:
define('DB_NAME', 'your_database_name'); /*The MySQL database username */ define('DB_USER', 'your_user_name'); /*The MySQL database password */ define('DB_PASSWORD', 'your_password');
d.) Change the database name, username, and password to newly created ones
e.) Save changes
5. Perform another backup
Make sure that this backup doesn’t overwrite the previous backup. This backup should contain all the new changes made to the database. Follow the same steps as mentioned in Step 1.
6. Import the Backup on new domain
After this, you’ll have to move the files and database to the new domain via FTP and phpMyAdmin, respectively. Follow the below steps:
a. Login to your FTP account
b. Find WordPress or public_html folder
c. Upload the entire WordPress folder from your computer
- Link your site to the new domain
When you’ve got external links on your site, they might break when you move them to a new domain. This is why it’s important that you update the links to point to the new domain. You can do this either manually, or via a plugin like Better Search and Replace or Search and Replace.
- Update (or repoint) your DNS
You’ll have to update your DNS settings so they point to the new server instead of the old one. You can get the details required from your domain registrar.
Advantages and Disadvantages of a manual WordPress migration
This is also why alternatives exist. There are migration services provided by web hosts, and WordPress migration plugins.
Migrate WordPress site with Migrate Guru
Migration plugins on the other hand, are tools that significantly simplify the manual migration process for you. There are quite a few WordPress migration plugins available in the repository. While their processes vary slightly, they all work on the basic principle of performing a backup, moving it to the new location, and automatically offering a Find and Replace so that URLs can be rewritten.
For the sake of illustration, we’re going to take you through the process of migrating your WordPress site with Migrate Guru, a WordPress migration plugin that is great for moving large WordPress sites.
The Prerequisites for using Migrate Guru
Migrating a site with Migrate Guru comes with a few simple prerequisites:
- A new hosting account with a domain that has WordPress installed & knowledge of the directory in which you installed WordPress (You would have selected this when you set up a domain on your new hosting account)
- The Migrate Guru WordPress plugin installed on the site you want to move
Once Migrate Guru is installed on the source site
Install and activate the Migrate Guru plugin on the site you want to move.
You can do this by logging in to the site you want to move (the source site), navigating to ‘Plugins’ and clicking on ‘Add new’. Type in ‘Migrate Guru’ in the search bar, and click on ‘Install Now’.
Once installed, activate the plugin.
Using Migrate Guru
Step 1: Choose the host you want to migrate to, via Migrate Guru
If you select FTP instead of a host, this is what you should see:
You’ll be asked for the following details:
- Email address: The email address to which you’ll be receiving emails detailing the progress of your migration
- Destination site URL: the URL of the domain you’re moving your site to
- FTP type: Make sure you know which protocol your host uses – FTP, SFTP, or FTPS. If you enter the wrong protocol, Migrate Guru will prompt you to change it.
- Host/Server Address: This should be on your hosting account’s cPanel.
- FTP Username and Password
If you select cPanel instead of a host, these are the details you will be asked for:
- Email address: The email address to which you’ll be receiving emails detailing the progress of your migration)
- Destination site URL: The URL of the domain you’re moving your site to
- cPanel Username and password
If your site is HTTP Authenticated, click on ‘Advanced options’ and enter the username and password for the source and destination site. They are needed ONLY if either the site being moved or the destination site is ‘https://’ instead of ‘http://’. If the URLs of either one begin with ‘https://’, they are HTTP authenticated. These credentials can be retrieved from the site’s server logs. Some website hosts offer apps in cPanel that make it easier to browse those logs.
Step 2: Fill up the form, click ‘Migrate’
Once you have all the details required, fill up the Migrate Guru form, and click on the ‘Migrate’ button.
Doing so will take you to a real-time progress screen where you can see how much of the migration process is over, and how much is left.
Migrate Guru will send you an email notification confirming that the process of migration has begun. Meanwhile, you will also be taken to a screen that portrays the real-time progress of your website migration. The link for the same can also be found in the mail notification.
Once the migration process is completed, you will receive another email from Migrate Guru notifying about the successful migration, and the link to the migrated site.
A friendly note: Once you’ve moved your site
After your migration is over, it’s important that you repoint the DNS of your site to the location it’s been moved to. It takes about 4 hours for this to happen.
For most hosting accounts, you can edit your DNS settings from the cPanel, under a variant of ‘DNS settings’.
This link should help you with the details for Bluehost
WordPress migration can be a pain especially if you’re new to the ecosystem or are unfamiliar with the processes required. However, having a WordPress migration plugin like Migrate Guru significantly reduces the time and effort required to move your site without any downtime.