Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Easily Move WordPress to a New Domain (Without Losing SEO)

Do you want to move your WordPress site to a new domain? Changing your website’s domain name can significantly impact your SEO rankings, so it’s a process that needs to be done very carefully.

While you cannot avoid temporary SEO fluctuations when migrating your website to a new domain, you can definitely minimize the impact and quickly regain your search traffic and rankings.

In this guide, we will show you the proper way to move WordPress to a new domain without losing SEO.

Migrating a WordPress website to a new domain name without loosing SEO

Here’s the 5 step process that we’ll cover to help you migrate your WordPress site to a new domain name:

  1. Create a Duplicator package of your WordPress site
  2. Create a database for your new domain name
  3. Unpack WordPress on the new domain
  4. Setup permanent 301 redirects
  5. Notify Google about the change

What to Know Before You Change Domains

Before you start, there are a few things you should know.

The process of transferring to a new domain will temporarily affect your search engine rankings, since Google and other search engines will need to adjust 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 websites that switch to a new domain.

However, you can dramatically decrease the SEO impact 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 WordPress site to a new host. This is for switching a domain name only. While the process is similar, there are a few extra steps involved in this process. These extra steps will help you to protect your SEO rankings and traffic.

Lastly, if your old website is on WordPress.com, then you need to follow the instructions in our guide on how to move from WordPress.com to WordPress.org instead.

Pre-Steps: What You Need to Get Started

In this guide, we are assuming that you have your WordPress website setup on oldsite.com, and you are trying to migrate it to newsite.com.

We are also assuming that you already have a WordPress hosting account, and you are familiar with your web hosting control panel.

You’ll also need to know how to use an FTP client like FileZilla, or how to edit files using the File Manager app available under your hosting account dashboard.

In case you don’t have a web hosting provider or are looking to switch to a new one, we recommend using Bluehost (great for small sites + comes with a free domain) and either SiteGround or WP Engine (great for larger sites or online stores).

Once you have those things in place, you’re ready to start the process!

Step 1: Create a Duplicator Package of Your WordPress Site

The first thing you need to do is create a full backup of your WordPress site. We’ll use this backup to create a duplicate of your website, so you can set up the redirects properly from your old domain to the new one.

While there are many WordPress backup plugins available, we’ll be using Duplicator which is a free backup and migration plugin.

Let’s start by installing and activating the Duplicator plugin on your old domain name. For more details, see our step by step guide on how to install a WordPress plugin.

Once activated, the plugin will add a Duplicator menu item in your WordPress admin. You need to click on the Duplicator menu, and then click on the ‘Create New’ button to create a new package, or copy of your WordPress site.

Create a new Duplicator package

After that, you will be asked to click on the Next button to continue.

Duplicator will now run the website duplicator wizard. First, it will run some tests to see if everything is in order. If the plugin finds an issue, then you will see a warning with instructions.

If all items are marked ‘Good’, then click on the ‘Build’ button.

Build package

The plugin will now start creating a duplicator package of your website files. This process may take a few minutes depending on the size of your site.

Once finished, you’ll see download options for the Installer and the Archive package. You need to click on the ‘One-click download’ link to download both files to your computer.

Download Duplicator package

The archive file is a complete copy of your WordPress files. It includes your WordPress themes, permalinks settings, plugins, uploads, and any other files created by WordPress plugins.

The installer script is a PHP file that will automate and run the WordPress migration by unpacking the archive file.

Step 2. Create a Database for Your New Domain Name

Before you can move your WordPress site to the new domain, you’ll need a new SQL database to unpack WordPress on your new domain name.

If you have already created a database, then you can skip this step.

To create a database, you need to visit your hosting account’s cPanel dashboard, scroll down to the ‘Databases’ section, and then click on the ‘MySQL Databases’ icon.

Creating a new database

Note: Your hosting control panel may look slightly different than the screenshots. However, you should still be able to find a Databases section with an option to create a new database.

Simply provide a name for your database and then click on the ‘Create Database’ button.

cPanel will now create a new database for you. After that, you need to scroll down to the MySQL Users section.

Next, provide a username and password for your new user and click on the ‘Create a user’ button. Make sure to note the username and password in a safe place.

Adding a new MySQL database user

The new user you just created still does not have permission to work on the database. Let’s change that.

Scroll down to the ‘Add User to Database’ section. First select the database user you created from the dropdown menu next to the ‘User’ field. Then select the new database you just created and click on the Add button.

Add user to database

Your database is now ready to be used for moving WordPress to the new domain name. Make sure to note down the database name, username, and password. You’ll need this information in the next step.

Step 3. Unpack WordPress on Your New Domain Name

Now you need to upload the Duplicator files you downloaded earlier to your new domain name.

The Duplicator package includes your WordPress installation as well. This means you don’t need to install WordPress on your new domain.

First, connect to your domain name using an FTP client. Once connected, make sure that the root directory of your website is completely empty.

After that, you can upload the archive and installer files to the root directory (usually it is public_html).

Upload Duplicator files to new domain name

Once both files have finished uploading, you are now ready to unpack WordPress.

Open a new browser tab and go to the following URL:

http://example.com/installer.php

Don’t forget to replace example.com with your new domain name. This will launch the Duplicator migration wizard.

Duplicator Wizard

The installer will look for the archive file. You need to check the terms checkbox and click on the Next button to continue.

Now, the installer will ask you to configure your WordPress database information.

Your host will likely be localhost. After that, you will enter the details of the database you created for your new domain name in the earlier step.

Connect your new database

Once done, click on the next button to continue.

Duplicator will now unpack your WordPress database backup from the archive into your new database.

Next, it will ask you to update the site URL or Path. You shouldn’t have to change anything since it automatically detects the new URL of your domain name and its path.

If it doesn’t, then you can change the URL to your new domain name. After that, click on the next button to continue.

Update site URLs

Duplicator will now finish the migration.

You can click on the ‘Admin Login’ button to enter the WordPress admin area of your website on the new domain name.

Finishing WordPress migration to new domain name

Step 4. Set Up Permanent 301 Redirects

The next step is to point users arriving on your old domain name to the new domain. This is done by setting up 301 redirects.

301 redirects are very important for SEO and user experience. Adding them will allow you to automatically redirect users and search engines to your new domain name.

In other words, whenever someone lands on a post or page on your old domain, they will be automatically redirected to the same post or page on your new domain, instead of seeing a 404 error.

To keep your redirects in place, you’ll need to keep your old WordPress installation active so it can continue to redirect to the new one you just created.

There are two ways to set up the redirects. The first method is easy and just takes a few clicks. The second method requires you to edit files manually.

Method 1. Set Up 301 Redirects With All in One SEO

For this method, we’ll be using All in One SEO (AIOSEO). It is the best WordPress SEO plugin on the market and allows you to easily optimize your WordPress website for SEO.

First, you need to install and activate the All in One SEO plugin on your old domain. For more details, see our step by step guide on how to install a WordPress plugin.

Note: You’ll need at least the Pro version of the plugin to access redirect manager addon. You can also set up AIOSEO on your new WordPress site to boost your search engine rankings and traffic even more.

Upon activation on your old domain, you need to visit All in One SEO » Redirects page and click on the Activate Redirects button.

Activate redirects

Next, you need to switch to the ‘Full Site Redirect’ tab and turn on the ‘Relocate Site’ toggle. After that, you need to enter your new domain name next to ‘Relocate to domain’ option.

Full site redirect

Don’t forget to click on the Save Changes button to store your settings.

Method 2. Manually Set Up Redirects to New Domain

This method requires you to edit the WordPress .htaccess file on your old domain name.

First, 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 lines of code at the very top:

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

Note: Replace newsite.com with your new domain in the above code.

Once you have applied these changes, then visit your old domain name. It should automatically redirect you to the new domain.

If it doesn’t, then it means the redirection is not setup properly, and your server likely doesn’t support redirect rules. You need to contact the support team at your web hosting company to get RewriteEngine turned on.

Step 5. Notify Google About Your New Domain

Now that you have moved WordPress to a new domain name and set up redirects, it is time to notify Google about your change of address. This will help Google find your new website domain quickly and start showing it in search results.

First you need to make sure that both your new and old domain are added to the Google Search Console as two different properties. See step 1 in our Google Search Console guide for instructions.

Next, you need to select the old domain name as the active property in your Google Search Console account dashboard.

Select old domain

After that, click on the Settings menu from the left column and then click on the ‘Change of Address’ tool.

Change of Address

Now you need to select your new domain under the Update Google section, and then click on the ‘Validate & Update’ button.

Add new address to change of address

That’s all, Google will now validate that your old domain is redirecting to the new domain and save your changes.

On the next screen, Google Search Console will show you a step by step wizard to submit your change of address request.

Notify Your Users About the New Domain Name

While the 301 redirects do their 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 and sharing it on your social media accounts.

If you have an email newsletter or push notification subscribers, then you should send out an announcement to them, too.

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. You alone cannot test your site in every different type of browsers or system environment. It’s always helpful to have a fresh pair of eyes looking at it.

We hope that this tutorial helped you move your WordPress site to a new domain name. You may also want to see our guide on how to get a free email domain, or see our expert pick of the best business phone services.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

474 CommentsLeave a Reply

  1. Hi, many thanks for the article. I have a confusion here, can I migrate my WordPress site to a new domain without migrating the existing theme as I want to change the theme?

  2. Hello
    After migration to new domain, how should i send new post on my site ? Send a new post on old domain or new domain?

  3. I’m moving to a new domain name, but I’m still going to use the old domain name for other purposes. I don’t want to redirect the entire oldsite to newsite. What’s the recommended way in this case? Thanks.

  4. It helped me a lot, my question is in ftp I will enter my new domain name and user name and password, then you said the installer file and archive file the installer file is it the wordpress zipp file or something else?

  5. Hi, thank you for this detailed guide. I intend to switch domain from Bluehost to GoDaddy and I am wondering if my wordpress website will be affected in terms of how it will look after the switch.

    • Your hosting provider would not affect how your site looks, as long as there are no issues with the duplication process the site should look the same.

      Admin

  6. I have a question, I have single web hosting, so how can I move from the old domain to the new domain?

    • If you are staying on the same host, you would first want to check with your hosting provider as some have tools to help with changing your site’s domain.

      Admin

  7. I’m having a little trouble with Step 5. Notifying Google About the Change.

    When I filed the change of address (the Search Console seems to have changed since you wrote this post, but I figured out the new procedure OK), the validation failed because Google couldn’t fetch the home page for my old site.

    • Thank you for letting us know, for this situation, you would want to point Google to your new site for it to test the redirects.

      Admin

  8. can I delete the old host and domain after I did all the steps? or I should renew the host and domain after then

    Thanks

    • It is normally a good idea to redirect the old domain to the new one for some time but you can end the old hosting and still redirect the old domain if you wanted.

      Admin

  9. Hi Wpbeginner!

    Very good article as usual, i have a question just to double check, will all paths be changed? For example media links and so on? Thanks again

    • Using this method, your links to images and other media should be updated as well.

      Admin

  10. Thanks for this. What is the difference for migrating to new host (and domain)? Is there any difference in steps and instructions?

  11. I had to put in mine in the public_html folder to work. Very frustrating at first until I tried that!

  12. Thanks for a great tutorial!

    I’ve ran into a quirk after following all the steps.

    My site redirects everything EXCEPT the content of the home page.

    I updated the name servers about two days ago.

    I did the redirection via .htaccess.

    I’m not sure where to look to troubleshoot the issue. Any direction is appreciated. Thanks again!

    • We would recommend checking for any caching plugins as well as reaching out to your hosting provider for the most common reasons for that issue and your hosting provider can normally take a look from their end as well.

      Admin

      • Following up.

        I was/am using W3 Total Cache.

        Before I migrated, I forgot to disable caching. And that caused issues.

        After the migration, I had to manually remove W3 Total Cache in order to get the new site working again.

        There was a section of caching code left over in the new .htaccess file.

        All has been good since then!

  13. Hi,

    Great tutorial. I have to ask about the SSL redirects since it may cause issues for domains that use cloudflare for instant.

    So while adding the code on the .htaccess file in the old website how do I add a newwebsite.com/1$ to that command ?

    • If you mean how to update your site to a new domain using a CDN like Cloudflare, we would recommend reaching out to the CDN you are using for their current methods for that kind of change.

      Admin

  14. In the last step you mentioned “notify google about the change”.

    But what if don’t notify Google about the change, just move the website to new domain, and remove all the pages from old domain (as my website is new and doesn’t have any organic traffic)?

    Is it valid?

    • You can do that if you want but you would likely take a negative hit in your search engine rankings.

      Admin

  15. I have a question about subscribers the website who have created profiles. Would I have to do redirects for their individual profile pages ?

    • If you are using the same systems then you shouldn’t need an additional redirect unless the tool you are using says so.

      Admin

  16. I have a question, I already set 301 redirection, and all the request to the old site is redirecting, now my question is, when I can delete old site and its content permanenty?

  17. Hello, please I’m confused on this sentence “Once connected, make sure that the root directory of your website is completely empty.”

    How can make the root directory to be empty cause is showing some files and folders. Please I need an answer on how to do that. Thanks

    • You can either use FTP or some hosts have file managers you can use to delete the folders or you can reach out to your host for assistance

      Admin

  18. Thanks for this! How would you handle domain1 is moving to domain2, but, many of the URL slugs on domain1 are different on domain2. For example, domain1/this-is-a-post/ will be going to domain2/this-is-the-new-post/

    • It would depend on the specific changes but depending on how drastic the change you may need to manually set up the individual redirects.

      Admin

  19. Thank you for this guide. It helped me.

    I tried the 301 redirect on htaccess. However it only redirects the homepage. Any chance for help? Thanks

    • You may want to try clearing your caching and checking with your hosting provider to ensure they don’t see any errors on their end.

      Admin

  20. This is great if moving a complete old site to a new domain. But what to do to when you are setting up a new site and want to move over only a few posts from the first site? I don’t want to lose organic traffic.

    • You can check under Tools>Export and select the specific posts you want to transfer to your site.

      Admin

  21. Thanks a lot for this tuto.
    I don’t understand why we have to set up permanent 301 redirects if I keep the same domain name ?

    Thank for your answer,

    Alex

  22. Hey thanks a lot for this step by step tutorial.I was able to move clients site in just 30 mins. He was surprised. Thanks a lot.

  23. Hello, got a bit of a problem here. I transferred my good php and zip files to the public directory, and yet when I browse to mydomain/installer.php it just doesn’t find the page. What could be the problem?

    Thanks in advance

    • You may want to reach out to your hosting provider to ensure the domain is set up to the correct location that you’re adding the files.

      Admin

  24. GOOD guide.
    but if I want to change my URLs in a new domain

    my post in the old domain is: oldedoman.com/best-products-2020/
    I want to change to newdomain.com/best-products/

    How to redirect all my posts
    Thanks

  25. Does this process work with a bluehost basic account? I have purchased my new domain but can’t assign it as an Addon domain since I can only have 1 website. What is the best way to work with this?

    • If you’re unable to create an addon domain we would recommend reaching out to your host and some offer support or different ways to set it up.

      Admin

  26. Does this method work if I am using the Bluehost Basic plan where I can only have one website? I can’t make my new domain an add on domain.

  27. Hi,
    I have questions that where to use 301 redirect, in new domain .htaccess or old domain .htaccess.
    In my case I have changed my website domain as well as web hosting. Then where to apply 301 redirect and how many time I should active my old domain and hosting active?

    • You would want to add 301 redirects to the old domain. It depends on your old site and personal preference for how long you should keep the old domain active but you shouldn’t need the old hosting.

      Admin

  28. I earlier had my domain in a WordPress site that I do not own. I developed my website there. Now, I have moved my domain to a new WordPress site that I own and also used the Export/Import option to transfer my content to the new site. However, I am having to re-design my website again. Does the procedure mentioned here ensure that my site is transferred intact?

    • The method in this guide should let you keep your theme and plugins how they are set up.

      Admin

  29. Hi, thanks for sharing.

    Once I’ve successfully migrated my old website to the new domain, will the 301 redirect continue to redirect even after ive deleted my old website? The reason I’m asking is because I have several posts on facebook that point to my old site.

    • As long as the redirect remains in your htaccess file it will continue to redirect to your site.

      Admin

  30. After moving the the old site to new site, do I still need to purchase new SSL certificate or the SSL certificate for old site will work for the new site

    Thanks!

    • Most hosts should offer Let’s Encrypt as a free option but you would need to set up SSL for your new domain.

      Admin

  31. OK, I’m tracking with most of this guide, but what particular steps do I need to take if my website is hosted with HostGator, my old domain is registered with GoDaddy, and my new domain is registered with Domain.com? Do I have to link the new domain with HostGator hosting in some way before I can create a new database in Step 2?

    • You would normally want to point your domain’s nameservers to where the new domain would be hosted to link the domain to your host.

      Admin

  32. Thanks for these clear steps! I have one question. So I moved everything to the new domain name and have applied the 301 redirect at the old domain. Should I keep the pages and posts on the old domain or simply remove those? Because doesn’t google see those pages as copies now I’ve basically duplicated the website? Also, I thought it would free up some spaces if I remove them. However, I would love to hear what’s the best thing to do here.

    Extra info: I’m not planning to use the old domain anymore so once the subscription for that domain ends later this year I will not extend it.

    Thank you!

    • If you have moved all of the content over and created your redirects then you can feel free to remove the old site and its content

      Admin

  33. Hi. I have two questions. The first is how long should the 1st step from the installer take? It’s been extracting the archive files for about 20 minutes and my site isnt that big.

    Also, is setting up the 301 redirects and updating google about the changes necessary if I’m only using the cloned site as a template for the new one? Any pages that are remaining the same will be deleted from the old site.

    Thanks in advance!

    • It would depend on the size of the site for how long it would take and the 301 redirects are to ensure traffic from your old site is sent to the new site rather than the old address that would not have the content anymore

      Admin

  34. I have never done this before, so your instructions were excellent. For any newbies like me – just go through slowly and read each instruction carefully and it will work perfectly.

  35. Great guide! I successfully moved my site to a new domain using the exact processalthough I have to purchase Duplicator Pro to make it work.

    My question is this: what should I do with the WordPress content on the old domain? Should I just uninstall/delete everything and leave the .htaccess file in there?

    • That would be a personal preference question, you certainly can remove it and leave the .htaccess as the simplest option :)

      Admin

  36. Hii
    After changing domain name do I need to take apply for AdSense again? my previous domain already has AdSense approved. Do I need to reapply for a new domain name?

    • You would need to add the new domain to your sites list on your current AdSense account

      Admin

  37. this is what i get after i uploaded the file successfully
    Error establishing a database connection

  38. After Move WordPress to a New Domain , How can i change url in Adsense account. And any effect on my adsense earning becouse my blog 2 year old.

    • You would need to add your new domain to your sites list in your Adsense settings. For earnings, there are too many factors beyond the domain name for us to give you an idea about any changes.

      Admin

  39. How do you do with old 301s in htaccess that go from old sub-pages to new sub-pages in the old domain?Thanks for a very good guide!

  40. Great hands-on tut up to the almost-end of step 3.
    Now did I oversee something? I am completely blank on how (which user/pw combination to use) to log in to the new WP admin?
    Nowhere on the journey did I make a new WP installation, so I do not store any log-in credentials for the WP dashboard… Pls?

    • You would use the same login information as the previous site as the user table would be duplicated in this process as well :)

      Admin

  41. I searched for two days until I came across your blog. I have tried 3 or 4 different codes and none of them worked. I tried yours and it worked like a charm. Thanks. But this post needs to be updated. You can no longer switch back to the old version of Console and I was unable to find a change of address option.

    But still great posts. Thanks a bunch!

    • Glad our recommendation worked, Google has changed where it is located but if you use their search for tools in your console you should still be able to use the change of address tool.

      Admin

  42. Many thanks for this very helpful tutorial. It has worked perfectly!

    Just a small query… In the last step 5, Google Search Console says this ‘Change of Address’ function works only for root level domains (while I’ve a blog address in the form abc.co.in/example)

    Hence, is there an alternative method that can be used here, or will the 301 redirects (incorporated in Step 4) suffice?

    Many thanks again for the wonderful help throughout all the articles… Lots of good wishes!

    • If it is not only the root domain then the 301 redirects would be what you want to stay with and should be good enough for now

      Admin

  43. Hi, thanks – this is interesting.

    Two weeks ago I migrated 3 sites into 1 new site, using the above process. All looks good as far as 301 re-directs are concerned but very few of the posts on the new domain are showing in the SERP. Also, many still have the old domain – because of this, organic traffic is down about 60% currently.
    Do you know how long it takes for Google to re-crawl, re-index and sort this stuff out?

    • Sadly, when merging multiple sites rather than only changing the domain, it can vary from site to site for how long it takes.

      Admin

  44. This tutorial is always my go-to piece whenever I’m moving or redirecting a website. A life-saver I must say.

  45. Thanks for being such an immense help. I have a challenge in using Duplicator. I went as far as creating the package and uploaded it to the new domain (a subdomain actually). The problem is when I try to install it I get a 403 error that keeps me stuck at the 1st step. How do I resolve this please?

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.