Migrating your wordpress blog to a different server can be a tedious task. Depending on the type of blog you run, here are some basic things that you might need to do while migrating your blog:
- You need to migrate your MySql database.
- You need to migrate all your plugin and theme files along with their settings.
- You need to migrate all your image files and other media files.
- You need to migrate standalone files like your robots.txt, Google site verification file etc.
In addition to doing these migrations, you also need to change your internal links (in-case you are changing your domain name), make sure that your featured images are not broken, import images and media back into your media library etc. The complications are many especially if your are doing this manually.
But there is an easier way to accomplish all this and that is using a plugin. And one of the best plugins in this regard is MigrateGuru from BlogVault.
Let's see how you can use MigrateGuru to migrate your site.
What MigrateGuru does?
MigrateGuru automatically migrates your entire wordpress site to a new server. This includes the following:
- All your wordpress dashboard settings are imported.
- All your themes and plugins are imported along with their respective settings.
- Your permalink structure is imported.
- All categories, tags and custom post types are imported.
- All media files and sizes are imported.
- Your wordpress Media Library is imported.
- All internal links, CSS and image references are changed to new URLs.
- Your htaccess file, robots.txt file, Google site verification file and other standalone files are imported.
- Your standalone images and image folders are imported.
So you pretty much don't need to do anything as every aspect of migration is being taken care of by MigrateGuru.
Migration scenarios
Depending on your need, there can be three types of migrating scenarios as follows:
- Migrating your blog from an old domain name to a new domain name (same hosting provider or different hosting provider).
- Migrating your blog to a new hosting provider (While keeping the same domain name).
- Migrating your blog from local development server to production server.
Out of these three, MigrateGuru supports the first two types of migrations. Let's look at these two in details.
1.) Migrating your blog from old domain name to a new domain name
If you are changing the domain name of your blog, here's how you can use MigrateGuru to migrate your blog to that new domain name:
Note: It doesn't matter if you are hosting this new domain name with the same hosting provider (as the old domain name) or a new hosting provider.
Step 1: Host your new domain
Create a web hosting account for your new domain name and make sure that the domain name has propagated. In other words, the new domain name should load with a blank page.
Step 2: Install wordpress for your new domain
Once your domain name has propagated, login to your hosting control panel and install wordpress.
If your web hosting provider offers Cpanel as your control panel, you can easily do this using Softaculous or Fantastico. Read this article to how to install wordpress using Softaculous.
If not, you can also install wordpress using FTP.
Step 3: Install MigrateGuru plugin in your old wordpress site
Login to your old wordpress site (old domain) and install the MigrateGuru plugin. Once installed, activate the plugin.
Step 4: Select migration method
Click on Migrate Guru link from the left panel, and then either select 'Cpanel' or 'FTP' as your method to migrate data.
Either method is safe, but if you have Cpanel, choose the Cpanel option as it is much easier.
a.) Migrating using Cpanel:
If your current server and destination server support Cpanel, then definitely choose this option as it is hassle free and is quicker.
Simply enter the required details as shown in the image below and click migrate button.
Email: Enter the email address where you want the details of the migration to be sent.
Destination Site URL: Enter the URL of your new domain name. Note that this has to point to the folder where you have installed wordpress. If you have installed wordpress inside a subfolder, enter that URL.
Eg: If you installed wordpress inside a subfolder named 'blog', enter the URL as 'sitename.com/blog'. If instead, you have installed wordpress in the root folder, simply enter your site name as 'sitename.com'.
IP Address: Enter the IP address of your new domain name.
If you don't know what the IP address of your domain name is, you can easily find this out using a service like this: https://www.whois.com.au/whois/ip.html
Simply enter the name of your website (sitename.com) and you should be able to see the IP address.
You can also find the IP address of your site from within your Cpanel. To do this, login to your Cpanel and then click on 'server information' from the left sidebar. This will take you to the server information page which will list your site's IP address. If you are using a shared server, the IP will be listed under 'Shared IP Address'.
Username and password: Enter the Cpanel username and password of your new server.
Once all details are entered, click on the 'Migrate' button.
b.) Migrating using FTP:
If your hosting provider does not support Cpanel, you can use FTP to migrate your site.
To do this, click on the FTP link and fill in the required details as shown in the image below:
FTP Type: The best setting for this is sFTP, but if that does not work, try using FTP.
Directory Path: This is the location in your server where your files are stored. You can get this information from your hosting provider or by logging into your hosting control panel. In your hosting control panel, look for a section called 'home directory'. For cpanel users this is: /home/cpanelusername/public_html
Host/Server Address: This is again the IP address of your site in the new server. You can get the IP address by logging into you hosting control panel or by going to https://www.whois.com.au/whois/ip.html
Port: The port will vary depending on the type of connection. If you have chosen sFTP, the port should be set at '22'. For FTP, the port would be '21'. Some hosting providers use non-standard ports so if this does not work, check in with your hosting provider.
Username and Password: This is generally your hosting username and password.
Once all details are entered, click on the Migrate button.
Step 5: Monitoring your blog's migration
Once you click the migrate button, you will be redirected to the BlogVault website where you can see the status of your transfer - file transfers are shown in the left and database transfer to the right as shown in the image below.
Once the migration is complete, you will get the 'Migration Completed Successfully' message.
Check your new domain to see if all pages are loading properly. Also login to your new wordpress dashboard and see if all plugins, themes and media files have been imported.
2.) Migrating your blog to a new hosting provider (While keeping the same domain name)
If you want to migrate your blog from your current hosting provider to a new hosting provider, without changing your domain name, then there is a slightly different method to follow.
This can be a little tricky as MigrateGuru can only migrate your blog to a publicly accessible wordpress site. In other words, you need to install wordpress in the new server.
But in this case, since we only have a single domain name, we cannot install wordpress in the new server unless we shift our domain name to the new server (by changing the nameservers to point to the new server). This is of-course not possible as all our site files are in the old server. So we first need to transfer all the files and then change the domain name to point to the new server.
But there is a workaround. Here are the steps to that:
Step 1: Login to your new server's Cpanel (or control panel). Because you do not have a domain name associated with this hosting account, you will have to access your Cpanel by going to the following URL:
http://ipaddress/cpanel
Replace ipaddress with the IP address of your new hosting account. You can find the IP address in the welcome email that your received from your web hosting provider.
Example:
http://124.122.12.12/cpanel
If this does not work, check your web hosting email or check with your hosting provider on how you can login to your Cpanel before the domain has propagated.
Step 2: After logging into your Cpanel, install wordpress using Softaculous or Fantastico. (You can also use FTP to install wordpress.)
Step 3: Check if your wordpress site is functioning by going to the following URL:
http://ipaddress/~cpanelusername/
Replace ipaddress with the IP address of your new hosting account and cpanelusername with the username of your new hosting account.
Step 4: Login to the wordpress dashboard of your old wordpress site.
Step 5: Click MigrateGuru and select 'Cpanel' as the method to migrate and enter the required details as discussed earlier in this article.
In the 'Destination Site URL', simply enter your current domain name (domain name of your current blog).
Enter the IP address, Cpanel Username and Password of the new server.
Step 6: Once the details are entered, click the Migrate button. Once the migration has been completed, you will get the 'Migrated Successfully' message.
Step 7: Once the migration has been completed, change your domain name servers to point to the new server.
Once the domain name has propagated (usually happens within 24 hours), check to see if the site is loading properly.
So this is how you can use MigrateGuru to easily move your wordpress blog from to a different server or a different domain name.
Thank you for this.
Yours is the only tutorial I've seen that covers the details of moving a site to a new host while keeping the same URL. All the others seem to be copied from the migrate guru video without actually thinking about real-use cases.
Thanks for the useful guide for migrating site using migrate Guru wordpress plugin.
Thanks for your clear explanations! I tried Migrate Guru after my usual backup plugin wasn't working. MG worked beautifully!
Thank you SO MUCH!!!!! You have no idea how much of a struggle it was to switch from my WP host and migrate the site to CPanel manually!
Thanks again! I followed STEP 2 for any interested... Worked perfectly