How to Move a WordPress Website to Another Domain and Keep SEO

Lots of business owners and bloggers find themselves in need of moving their WordPress websites to a new domain that they own. That’s good news if they have a clear rebranding strategy to take their businesses to the next level. But when things comes 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 it is 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 the 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 wastes 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 your 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, which you can delete if you want to delete it. Add the old domain name, and the new one, and finally, click on “Migrate” as the following screenshot.

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 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 complicated migration tutorials, you don’t need any other folders than the “wp-content” directory, which 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 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 require you to add 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 website’s 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 lets you access the database tables and modify them.

So, log into 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.

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 faster. However, if you can only have an FTP method, then I recommend using the Cyberduck FTP software, which 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 save time. Here is a tutorial that shows you how to upload the folder.

If you want to upload the file in the 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 an htaccess file.

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

#Options +FollowSymLinks

 RewriteEngine on Rewrite

Rule ^(.*)$$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.

If you’re hosting with an NGINX environment that doesn’t have the hatches file, I highly recommend letting your hosting technical support set up the 301 redirects 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 the NGINX server, but I recommend letting 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 webmaster tools

When all the above steps are done correctly, every post and page from the old domain name will redirect to the new one with 301 redirects. 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 Search Console, select your old domain, click the settings icon, and 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 redirects 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 few days.

You also need 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 asking them to update the link. Of course, not all of them will respond, but you will get a good result.

That’s 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.

Avatar for Fathi Arfaoui
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.

Disclosure: The recommendations on this page are my own based on my tests and analysis. We may earn a small commission from web hosts and other partners if you use my referral link to make a purchase. That’s what helps us to maintain the site and add fresh content, Thanks for your support.

Leave a Comment