How to move a WordPress website to another domain

How to move a WordPress website to another domain and keep SEO

In WordPress by Fathi ArfaouiLast Updated: August 29th, 2019

Lots of business owners and bloggers find themselves in the need to move their WordPress websites to a new domain that they own. That’s good news if they have a clear re-branding strategy to take their businesses to the next level. But when things come to SEO and ranking, people can be confused about the migration process, especially with complicated tools and settings.

Forget all the advanced options that complicate life, I’m going to show you how easy is it to move your blog and make it better.

What do you need to move WordPress?

This is an easy migration process that can be done in a few minutes if you have a fast Internet connection. What you need are:

  1. FTP client software like CyberDuck or FileZilla
  2. The free WordPress database Migrator plugin
  3. The free Database finds and replaces plugin
  4. The PHPMyAdmin panel
  5. WordPress content directory and the database

Steps to migrate a WordPress site

I’ll make things easy, simple and fast to understand, at the same time; just follow my step by step tutorial and you will save the timing money with migration services.

1. Verify both domains with DNS on Google

This is a step that wasted hours of time in many cases, People forget that their old domain name will be redirected to their new website, and that’s why the meta tag or the file upload verification method will never work. The Google webmaster tool lets you choose the domain name option that will stay even if there is a redirection.

So, make sure to verify both domains using the domain name registrar method.

Verify domain names

When you add and verify your website with Google and also with Bing, things will be ready to start the migration.

2. Download the databases and update their tables

This is the most important step, you need to install the WP Migrate DB plugin, then, after activating it, you will find its link options under “Options”.

Next, you will get the plugin interface, everything is configured by default and I recommend keeping everything the same except the second table option that you can delete if you want to delete. Add the old domain name, and the new one and finally, click on “Migrate” as the following screenshot.

Read also:  SiteGround WordPress Hosting Review of 2019

Move WordPress website to another domain

Now, you will get a pop-up window with the migration progress. The plugins will start finding the old domain name, and it will replace it with the new domain. Then, it will export the database as normal, but this time with everything on it as done and ready to use for the new domain.

When everything is done, you will see “exporting complete”. Then, you will get the download option, accept the file download, and you will see the database file in your download file or other, in the “SQL” format.

Until now, you have done the most important thing, which is the database to find and replace.

3. Download the WordPress content folder

Forget the outdated and the complicated migration tutorials, you don’t need any other folders than the “wp-content” directory, it includes your “themes” and “plugins” folders. So, access your old website using the File Manager if you have a cPanel, or, use an FTP if you have a VPS and other hosting methods.

WordPress content folder

4. Install a new WordPress install

Create a fresh install in for your new WordPress domain. Of course, you need to point the new domain’s name servers or the IP address to the right hosting. Make sure that everything is working and you don’t have a problem with DNS or others.

If you’re using a professional VPS, the majority of hosting providers requires adding an A record with your server’s IP address. I recommend using your original domain name DNS tool instead of any others that can add extra time to your websites DNS lookup time.

5. Upload the database

The WordPress database stores all your website options, posts, pages and everything else. Luckily, you have a fresh install and you don’t have to do complicated things like updating the database name and username and so on. What you need is the PhpMyAdmin that let you access the database tables and modify them.

So, log in to PhpMyAdmin, and then, click the database name from the top left corner of the page.

Upload the database

When you click the database name, you will get all its tables in the right area. You only need to click on the “import” options from the top menu, exactly like this screenshot example.

Importing the WordPress database

Then, choose the file of the downloaded database, and click the “Go” button at the bottom of the page to start uploading the file.

Read also:  How to Import WordPress Database in phpMyAdmin

Choose the database file

The upload time depends on your database size, some hosting providers limit the size per file, but you can divide the upload into multiple parts. Anyway, when the upload is complete, you will see a green message telling you about the successful import of a number of tables that the database has.

6. Upload the content directory

If you have the cPanel control panel, things will be easier and it will be fast. However, if you can only have an FTP method, then I recommend using the Cyberduck FTP software, it can be installed on both Mac, and Windows machines.

It works faster and better than FileZilla, the best thing is that you can upload compressed files and that’ll speed up the upload process and saves time. Here is a tutorial that shows you how to upload the folder.

If you want to upload the file in ZIP format that I recommend, in the above post, you will find how to extract that folder in WordPress using a simple and free plugin.

Unlike the database, the wp-content folder doesn’t need a “find and replace” task, it’s just a directory that you can move between domains and the only thing that links to that folder is the database URL for the attachments that you’ve updated with the new domain in step 1 above.

7. Test the new domain

Please make sure to test a few posts, and also pages to see if there is a problem with your files. If you’ve followed the above steps, you should get a fully functional website with the same content, but with a new domain name. Update your contact page, the “about page” and the others.

8. Properly redirect the old domain name to the new one

This is a critical step, if you do it wrong, you can lose all the old site SEO. So, make sure to use the exact domains and copy and paste them to avoid mistakes. If you’re hosting on shared hosting with Apache servers, you should have htaccess file.

What you need is just to copy and paste the following code into your hatches file, and of course change “newdomain” with your new domain name, and save the changes.

#Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$$1 [R=301,L]

Set up the 301 redirect
You can select the file, and then, select the option “edit” from the top menu in the file manager. It’s recommended to paste the code at the top of the file.

Read also:  How to Move from Typepad to WordPress (Best Blog Migration Service)

If you’re hosting with an NGINX environment that doesn’t have the hatches file, I highly recommend to let your hosting technical support set up the 301 redirect correctly. They know more about these things and you will avoid mistakes that lots of people make. NGINX servers don’t need the hatches because they have all the needed configuration internally.

Of course, you can find lots of codes to set the domain redirect in NGIX server, but I recommend to let the company do the job for you. Just send a support ticket or contact them by phone and provide the exact new domain to set the redirect.

You should only ask for a 301 redirect, and tell them that you want to move website content to a new domain. They will do the job, and you will save your site from mistakes and errors.

9. Update the domain in Google and Bing tools

When all the above steps are done correctly, every post and page from toehold domain name will redirect to the new one with 301 redirections. That tells search engines that the content was moved permanently to a new domain. Google has a great tool that lets you change the site URL easily and move the SEO value to the new website easily.

To do that, log in to your Google Webmaster Tools, select your old domain and click the settings icon, then choose “Change of address” as the next screenshot.

Change of address

Then, you need to pick the new site from your verified websites, and the tool will verify the 301 redirections and also, the ownership of your websites before requesting the change. Just follow those easy buttons to click one by one.

When your request is submitted, you won’t lose traffic as many people say. Google will still send visits from the old website’s indexed pages, and they will be replaced with the new ones in the next days.

You need also to try updating some of your backlinks to be pointed to the new domain. That can be done by contacting website owners who linked to your old site and ask them to update the link. Of course, not all of them will respond, but you will get a good result.

That’s it how to move your WordPress site or blog to a new domain and even hosting, but without losing SEO and SERP ranking. It’s just about following the above steps carefully.

About Fathi Arfaoui

Fathi Arfaoui is a Physicist, Blogger and the founder of He shares Business, WordPress and Blogging tips to build a better blog and succeed online.