Beginner's Guide for WordPress - Start your WordPress Blog in minutes.
Choosing the Best
WordPress Hosting
How to Easily
Install WordPress
WordPress Plugins
View all Guides

How to Properly Move WordPress to a New Domain Without Losing SEO

Last updated on by
Special WordPress Hosting offer for WPBeginner Readers
How to Properly Move WordPress to a New Domain Without Losing SEO

Recently one of our users asked for our help in moving their WordPress site to a new domain. We thought it would be nice to share this process on WPBeginner, so it helps others who are looking to do the same. In this article, we will show you how to properly move your WordPress site to a new domain name without losing your SEO rankings.

Before You Start

Before you start, we want to emphasize a few things. The process of switching to a new domain will temporarily affect your search engine rankings as Google and other search engines adjusts to the changes. Yes, this will also temporarily affect your search traffic as well. Please keep in mind that this is normal, and it happens to all sites that switch to a new domain.

However, the best part is that you can dramatically decrease the negative SEO effects that migration can have by following this guide. We will show you the right way of moving your WordPress site to a new domain name, setting up proper 301 redirects, and notifying search engines.

Please note that this guide is not for moving your WordPress site to a new web host. This is for switching a domain name. Yes, while the process is similar, there are more things involved in this process as you set 301 redirects and more.


In this guide, we are assuming that you have your WordPress site setup on, and you are trying to migrate it to We are also assuming that you have a web hosting account, and you are familiar with your web hosting control panel.

You will also need to know how to use FTP.

Step 1: Create a Full Backup

Before you do anything, it is very important that you create a full backup of your WordPress site. There are tons of plugins and solutions out there that allows you to create a backup. You can use VaultPress, BackupBuddy, BackWPup, or WordPress backup to Dropbox.

Step 2: Moving your WordPress Site

Once you have created a complete backup of your old site, it is time to start the domain migration process. First thing you need to do is install and activate the Duplicator plugin in your WordPress installation on your old site. Once activated, the plugin adds Duplicator menu item in your WordPress admin. Click on the Duplicator manu, and you will see a screen like the one below. Simply click on the create button to create a new package.

Click to create a duplicator package of your WordPress website

Clicking on the create button will start the duplication process, and the plugin will ask you to give your package a name. By default, it will use your website’s name with a date prefix, but you can give it any name you want. The plugin will start creating a zip package of your WordPress database and all your files. This may take some time depending on how much content you have. Once the process is complete, then you will be taken to Duplicator packages screen. Download both the package and installer files on your computer.

Duplicator package and installer for your WordPress website

Next, you need to open your FTP program and connect to your new site. Make sure that the root directory, or the directory where you want to copy your website is completely empty. Upload the installer.php file and your package zip file to the new site. After uploading the files, simply launch the installer.php in a web browser. You can access it by going to

Install a duplicate copy of your WordPress website from duplicator package

The installer will ask you to provide database information for the new site and check the box for Table removal. Make sure that the database you are using is empty, and does not contain any data that you would need later.

Read the Warning and Notices section and check the box that says “I have read warning and notices”. Next click on the “Run Deployment” button. The duplicator installer script will extract the zip package, install your database from old site, and install WordPress with your themes and plugins. This process may take some time depending on how big your site is. Once the installation is finished, the plugin will show you the update page.

On the update page, you will need to update your URLs. The duplicator will try to guess your old and new URLs on its own, but you can also enter URLs manually and click on the Update button. The plugin will then replace all instances of oldsite domain name with newsite domain name.

Update URLs

Once the entire process is complete, the Duplicator plugin will remind you to take the post installation steps. The first step is to re-save your WordPress permalinks. Login to your new site’s WordPress admin using the same username and password that you had on the old site. Go to Settings » Permalinks in your new site’s WordPress admin and click on the save button.

After that delete the installer.php, installer-data.sql and the installer-log.txt files from your root directory using FTP.

Lastly, check your new website for broken links, missing images, posts and pages. Please make sure that everything is working and all the functionality is there.

Now you have successfully moved WordPress to a different domain name, but the process is not done. We still have to add the proper 301 redirects and notify the search engines to keep all your SEO rankings.

Step 3: Setting up Permanent 301 Redirects

Setting up a permanent 301 redirect is very important for both SEO and user experience. This allows you to redirect users and search engines to your new site. In other words, whenever someone lands on one of your old posts or pages, then they will be automatically redirected to your new site.

To setup a permanent 301 redirect, you need to connect to your old site using FTP and edit the .htaccess file. This will be located in the same directory as your wp-includes or wp-admin folder. Open the .htaccess file and paste the following code at the very top:

#Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(.*)$ http://www.newsite.COM/$1 [R=301,L]

Note: Replace with your domain in the above code.

Once you have applied these changes, then visit your old site. It should automatically redirect you to the new site. If it doesn’t, then it means the redirection is not setup properly.

Step 4: Notifying Google About the Change

Login to your Google Webmaster Tools account to submit a change of address. Basically click on your site and look at the left menu under configuration. This allows you to notify Google about your new site and the transfer. Yes, you have to verify your new site, so go ahead and do it.

Google Webmaster Tools Change of Address

Step 5: Notify Users

While the 301 redirects do the job, it is always good to make a public announcement about the migration. You can do this by simply writing a blog post on your new site. This can be helpful in a lot of ways. First and foremost, your users are more likely to remember the new domain once they read about it. Second, you can ask your users to let you know if they see any bugs. This can be very helpful because you alone cannot test your site in all different type of browsers and system environments. Besides it always help to have a fresh pair of eyes looking at it.

We hope that this tutorial helped you move your WordPress to a new domain name. If this tutorial helped you, then please don’t forget to share it. We appreciate all retweets, likes, and +1s. Lastly, let us know about your experience and/or questions by leaving a comment below.

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi. Page maintained by Syed Balkhi.

WPBeginner's Video Icon
Our HD-Quality tutorial videos for WordPress Beginners will teach you how to use WordPress to create and manage your own website in about an hour. Get started now »


  1. Nelson says:

    Can your created a tutorial moving a wordpress site to a new doman wihout a plugin, like for example moving subcategory to the main site or subdoman to the mina site wihtout a plugin.

  2. Satish says:

    Hi, very useful article but i have a doubt . What if i download my backup manually by making zip, also download the database from Mysql from cpanel.

    And then manually upload to the new host filemanager. Do i need to change the URL in database from to before uploading the database to mysql?
    Hope you understand, what i’m saying!

  3. Daniel Ruyter says:

    Question on the redirects – I’m currently running two sites (two TLD’s, two hosts) and would like to consolidate into a single site, retiring the “old” site host. Can I redirect the “old” TLD to the new at the DNS and then add rewrite rules to my “new” site’s .htaccess for the migrated posts?

    Thank you!


  4. Lynn Dye says:

    This has worked well – question on the redirect. I changed my domain AND hosting. So I’d like to close out my old hosting account.

    How long should I have the redirect for my old domain? I’m planning on keeping the old domain for some time.

    Would a forward on the old domain accomplish the same thing as the 301 redirect?

  5. Lynn Dye says:

    If I used BackupBuddy to move my site to a new domain and then followed the directions to do the 301 redirect, shouldn’t I get the same result

    What about typing in the old and new url that Duplicator has you do – how is that step done with BackupBuddy?

    Thanks for an interesting post.

  6. Katie Steckly says:

    So if I transfer my site with these exact instructions, with Google analytics automatically keep working? Or do I need to re-install the tracking code on my new site, and take it off the old one?

    • Travis Pflanz says:

      Google Analytics will still work as long as you use the same UA code as before. That said, it may be worthwhile to setup a new view in your Google Analytics dashboard after you make the change

Add a Comment

We're glad you have chosen to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and all links are nofollow. Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.