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

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

Last updated on by
Elegant Themes
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.

Pre-Steps

In this guide, we are assuming that you have your WordPress site setup on oldsite.com, and you are trying to migrate it to newsite.com. 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 http://www.newsite.com/installer.php

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 newsite.com 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 lovers 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 »
  • Ayman

    I’ve just migrate a website site from one URL to another. I would really like to thank you for this great post. 100% working and a very simple instructions :)

  • Anas Khan

    Nice post. I have few questions too,

    I have 2 blog on WordPress. The new blog is active and i have 45 posts in my new blog. The old blog has 192 posts and all posts are index on google.

    Now i want to transfer and publish all old 192 posts to my new blog so all posts can me view on my new blog. If i trash all posts from my old blog, remove the sitemap and webmaster tool of old blog and after 30 days i publish old posts to new blog using Add new post button then it works ? Is it considered a duplicate content ?

    • http://www.wpbeginner.com/ WPBeginner Support

      You can simply import those posts to your new blog and set up a 301 redirection on your old posts on a post by post basis.

  • Mohammed Saimon

    Yes its a nice post. Thanks to the author.

  • Vinish Garg

    This is an excellent post and gave me some new direction for moving my WP blog from one domain to another. I will appreciate if you can correct me if I am wrong in planning it as below.
    - I know hostgator and I understand how to use File Manager and setup WP, database and import/export database (xml files)
    - My current WP blog is at: http;//www.example.com, and I want to move it to another domain http://www.example.org.
    - One, I will setup new WP at new domain’s root (database, config file, custom theme, and import data file from old site)
    - The new site will show the site exactly like old site, BUT only difference is the URL (because of new domain).

    If everything is correct this far… I am not sure how to use redirects for all my old domain’s pages/posts to new domain. Can you please advise?

    • http://www.wpbeginner.com/ WPBeginner Support

      You can do that by following the step 3 of this guide, setting up 301 redirects.

  • Stefan

    Great post, unfortunately I have read it too late and have already moved my domain. All I have done is I have purchased a new domain for my blog (, before it was it’s still active for another 2 months). I have changed the WordPress URL and Site Address in wordpress general settings and resubmitted the sitemap with the new URL. That’s all I have done.

    This was one month ago and since then the traffic is now totally down, from more than 1,000 pageviews a day to now not even 200.

    If I google search “thailand redcat” not even one of my pages shows up. The sitemap however has successfully been submitted:

    2:51:35pmStefan

    Do you know what could be the reason for this and how can I solve the problem and get the search results and eventually traffic back to normal again?

    Any help would greatly be appreciated. Cheers!

    • http://www.wpbeginner.com/ WPBeginner Support

      Stefan, we are not sure we understand the process you followed to move your site to a new domain. Here are some general tips. First make sure search bots are able to crawl and index your site? Check your site in Google webmaster tools for crawl errors.

  • Mr Joy

    Thank you for your great post. I followed your post and moved my site to new domain. It’s all working fine but there is only one problem in my site regarding WordPress visual editor. The problem is “When I upload an Image on any post by Add Media option, then click on the picture thumble “edit image” an iFrame come with a Not Found Error. But when click delete it works fine. Please help me to resolve the problem. Check the screenshot : http://bit.ly/1fqjE1b

    • http://www.wpbeginner.com/ WPBeginner Support

      The first thing you can try is to update your permalinks, simply go to Settings » Permalinks and click on the save changes button.

  • AP

    Excellent work – thanks very much! It might be helpful to add the reply above – the one dealing with new database creation and use – to the initial instructions, as not everyone will read the comments before attempting a transfer.

  • Gary Kirwan

    Great article. My question is I use the affiliate cloaking method recommended by Yoast, which means I have a .htaccess file under a folder called /out/
    Would I need to add the same 301 redirect code mentioned in the article to both .htaccess files in the root directory and affiliate links sub-folder? Does adding the 301 redirect code to the root directory .htaccess file only automatically cover the sub-folders one?
    My goal is to make sure that external affiliate links work correctly as well.

  • Kingsley

    Great tutorial, will be using it to Migrate http://www.ideacrunch.org to http://technblogging.com in the next few days but i have a question to ask. The database password and username name will it be the same as the old site?

  • Craig

    Hi, appreciate this is a little late. But i literally just want to move from http://www.unlockworldtv.co.uk to http://www.unlockworldtv.com is this tutorial suitable for that? I am not moving hosts, just changing the url

    • http://www.wpbeginner.com/ WPBeginner Support

      Yes it is.

      • Craig

        Thanks. I’m stuck at the go to newsite.com/installer.php I just get my old site but with 404. I didn’t install wp in the new directory, just created an empty directory to put the installer and zip in. I am pointing my new domain from the registrar account to that new directory with my web host but not getting anything but the theme and 404. Any obvious tips?

        • Craig

          just FYI i resolved this. It appears to be an issue with 1&1 (no surprise) but can be resolved by having an index.html file present. So for anyone on 1&1 adjust step 2 from

          “Make sure that the root directory, or the directory where you want to copy your website is completely empty.” to “Make sure that the root directory, or the directory where you want to copy your website is completely empty except for installer.php, the .zip file AND an index.html page”

          I believe this is to do with the way 1&1 prioritise pages on their server.

  • Denis Fitzgerald

    Hi – Thanks for the article. I have a question: I am switching my site from Tumblr to WordPress. It has its own domain. I would like to know if the buttons at the end of each article showing social shares, Twitter, Facebook, Google+, will maintain the original share count or go back to zero. Thank you.

    • http://www.wpbeginner.com/ WPBeginner Support

      If its the same domain and your URL structure remains intact, then hopefully you will be able to retain those social counts.

  • Bertjan

    Excellent guide! Thank you very much.

  • Sudha Mathew

    Hi, I moved my site using redirects about 6 months ago and it works fine. I need to renew my contract with web security company soon. So I need to know how much traffic is still getting redirected from the old site. Could you explain how to do that? I am not tech savvy but can use both Webmaster tools and Google Analytics.Thanks in advance!

    Best
    Sudha

  • Moti

    Hello,

    I would like to change the domain name of my site (staying on the same host).
    In the instructions above it is indicated that I should “make sure that the root directory, or the directory where you want to copy your website is completely empty.”.
    In my case the WP is installed in the root directory (I have the wp-content folder under public-html) – I assume that this means that my WP is installed under the root directory.
    Which folders should I clean / delete before I run the installed file generated by the duplicator ?

    Thanks,
    Moti.

  • Declan

    Thank you for the tutorial. Worked great with no problems whatsoever.

    I do, of course, have a question regarding SEO.

    My old site wasn’t registered in Google webmaster tools, so obviously there’s no option to let them know about the changes I’ve made. My question is: Will I need to register my old domain with Google webmaster tools first, and then my second domain…and then notify them abut the changes?

    Any thoughts would be great.

    Thanks again for the article, it was extremely helpful.

    Declan.

    • http://www.wpbeginner.com/ WPBeginner Support

      Yes, you will have to notify about the change on your old site’s webmaster tools account. However, this is just the fastest way to do it. If you have setup your 302 redirects then search engines would pick that up as well.

  • reza

    hi,

    this works just great, i redirect my old.com which is my main domain to new.com which is an addon domain (in the same hosting)

    but when i added another new addon domain, it makes my new addon domain can’t be accessed….it always redirect my addon.com to new.com/addon.com…

    can you help ??

  • Jennifer @ Delicieux

    Thank you for explaining this in so much detail. I have a question though. I’ve been thinking about moving to a new domain name for some time, but I wanted to know if I would have any issues given the fact that earlier in the year I changed the permalink structure on my old blog.

    I followed the instructions on Yoast on how to change my permalink structure and edited my .htaccess file, and wonder if this will cause problems when I move to a new domain? This is the one thing that is holding me back because I don’t want things to screw up and lose rank and end up with broken links.

    • http://www.wpbeginner.com/ WPBeginner Support

      you can transfer your old .htaccess file to your new site. If the .htaccess file has any references to the old domain name then replace those with the new domain name and your would be OK.

  • Hrayr

    Hey,
    First of all many thanks for this article – it worked great without any problem for me!

    I have one simple question specific to my case, would highly appreciate your thoughts on this.

    Basically i used this approach to copy my wordpress site from localhost to the host/domain from 3rd party.
    As said all worked ok – i just want to make sure that this approach doesn’t leave any old urls/links/references that can “annoy” google to crawl this new site. My site is pretty basic, so in worst case scenario i can just recreate if there is any disadvantage of crawling/SEO when site is copied by duplicator.
    Is there any known SEO issue of new site that you are aware of?

    • http://www.wpbeginner.com/ WPBeginner Support

      We not aware of any SEO issues, but if you come across any you can inform the plugin author by opening a support thread on plugin’s page.

  • Kevin

    I don’t think the way you suggest users do their 301 redirect is the best way. It’s well documented, even recommended by Google, that you do page-to-page redirects, NOT dump all your old website’s pages to the homepage of the new site. The htaccess code you provide does the latter. It isn’t a good way to preserve link juice.

    Maybe you can refer us to a good htaccess tutorial instead? There are also online htaccess generators out there that can make it much faster to do page-to-page redirects.

    • http://www.wpbeginner.com/ WPBeginner Support

      Kevin, you are right and rewrite rules in the article do exactly that. Instead of redirecting users to the homepage it sends them to the individual page. $1 at the end of code appends the link with the proper permalink structure.

  • Julian

    Hi, when I’m doing this after ‘deploy’ it misses the ‘update’ section and reverts back to a 404 page at the old web address… any idea what could be causing this?

    Many thanks!

  • Munna

    Thank you very much for this post. I was in trouble redirecting my oldsite visitors to the new site. But your .htaccess code made it super easy because both sites were in the same hosting server. :)

  • Raspal

    Hello,

    I completed all the steps and the blog at the new site is up fine. But I can’t login to the admin area. I have two users, one is an admin user. I get this error when trying to login:

    “ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.”

    I tried different browsers and also tried clearing any cookies. Also tried changing password. Password was changed fine but still getting the above error.

    Can you please help ASAP?

    Using WP version 3.7.1

    Regards,
    Raspal

  • Neil Bargas

    Thanks man! 100% working and a very simple instructions.

  • Lynn

    Fantastic article! You are my hero of the day. :)

  • Jahid

    ”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.”

    Once I login, it shows me the first step page ”Step 1: Files & Database” instead of showing the WP dashboard. Help!

    • http://www.wpbeginner.com/ WPBeginner Support

      Seems like you need to update your wp-config.php file

  • Chrissy

    Hi! Thanks so much for this helpful article – I’m in the process of running through the steps now.

    My one question is:

    I have my blog hosted at one domain, let’s call it http://www.reallylongdomainname.com/blog, but I have a redirect to forward it to my other domain: blog.shortername.com. I now want to migrate the blog to shortername.com/blog, because some of the links don’t work after the redirect.

    All my posts and things already have permalinks at shortname.com/blog/post#, so do I really need to do any of this 301 stuff? Am I safe to skip steps 3, 4 & 5, or is there something I need to consider? And will I need to delete the old blog or just the redirect once I launch it at the new domain?

    Would be really great to find out how to proceed, since I’ve tried dozens of things this week and no situation is quite the same as mine :/ Thanks!

    • http://www.wpbeginner.com/ WPBeginner Support

      The purpose of 301 redirects is to not just redirect users but also let search engines know that you have moved to the new location so step 3 and 4 are a must otherwise it may affect your SEO rankings.

  • Mark P

    Great post. One question though.

    Let’s say someone clicks on a backlink for my website’s old domain. (Let’s call it olddomain dot com / blogpost1). Will this then redirect to the new domain’s respective link (newdomain dot com / blogpost1) instead of just redirecting to the new domain’s homepage?

    • http://www.wpbeginner.com/ WPBeginner Support

      Yes, it would redirect users landing on your posts and pages on the old site to the posts/pages on the new site.

      • Mark P

        Thank you!

  • Morgan

    Question: I am switching my site from one host to a new host. At the same time, I am changing my domain name. I have already successfully transferred my WordPress site to my new host using the new domain name. I now am to step 3 and want to use 301 redirects to point those old URLs to the new site URLs. However, the old site is on the old host and I’m planning on getting rid of that site.

    Will the 301 redirects still work? Or do I also need to move the old site over to my new host and THEN do the redirects? I’m a bit unsure what to do and would love any advice.

    • http://www.wpbeginner.com/ WPBeginner Support

      If it is possible for you to keep the old site online for at least a month, then you can add 301 redirect. After that update your site’s information on Google Webmaster tools. Once you have recovered your search rankings and traffic you can then close your account with the old web host.

  • Nj

    Thank you for the helpful posts, but sometimes with such plugins, a video will help A LOT. I hope you will consider this :)
    Thanks again

  • Arnold

    Hi. Could you please elaborate the part where you said “The installer will ask you to provide database information for the new site and check the box for Table removal?” Where do I find this database information? So should I check the box for Table removal? Thanks!

    • http://www.wpbeginner.com/ WPBeginner Support

      This is the database where you will be importing your old site from the package you created earlier. Log into your web hosting dashboard, find phpmyadmin and create a new database. Come back to installer.php and provide the new database name, host, user and password.

      • Kara Lumsden

        So you should not install wordpress on the root of the new domain? The only thing you need to do on the new domain is only create a new database, is that correct? Can you elaborate a little more on how to create the database in phpmyadmin?

        So appreciative, thank you for all that you do!

        • http://www.wpbeginner.com/ WPBeginner Support

          No it is OK to install WordPress on the root of the new domain. Yes, you just need to create a new database and the Duplicator takes care of the rest.

        • Kara Lumsden

          Can you please provide instructions on how to create the database?

          Thank you very much,
          Kara

  • Dennis J. Smith

    How long should one wait before deleting the old site?

    • http://www.wpbeginner.com/ WPBeginner Support

      30 to 90 days, depends on how successful your move was. If you are confident that your new domain has gained nearly the same traffic as the old site, then you can delete it.

  • dyer

    Hi ive encountered an issue. Im unable to save my Permalinks as I cant locate the WP admin file ive tried to upload the WP admin file again but this hasn’t the issue please could you advise me if there is any other steps I can take to rectify this issue.

    Thanks

    Dyer

    • http://www.wpbeginner.com/ WPBeginner Support

      @dyer We are unable to understand your question. We are assuming that you can not access your WordPress Admin area. In that case, connect to your site using an FTP client like filezilla. Find the file .htaccess download it to your hard disk and delete it from your website. Hope this resolves your issue.

  • Fakhre

    Thanks for the article guys!

    I am hosting my site on Bluehost and just want to change the Domain name without loosing the SEO and backlinks.

    My site contents is huge, i have about 8000 posts. Any solution for renaming the domain??

  • Sanjay Patel

    Hello…
    Really useful information but duplicator plugin is not working in my website. please solve my problem. how to do this?

    Thanks in advance.

  • Dinah

    Does this work with moving from one domain to a subdomain?

    • http://www.wpbeginner.com Editorial Staff

      Yes

  • Dinah

    Does this work for moving to a new subdomain? Like if my wordpress blog was on oldsite.com and I wanted it on blog.newsite.com, would I do the same thing?

    • http://www.wpbeginner.com Editorial Staff

      Yes.

  • Emmie

    I recently did this and the links and all redirected fine and dandy, however I just got slapped by Google with a penalty for instantly having so many backlinks – they think I bought them. Has anyone else encountered this? I made the appropriate notifications in Google Webmaster tools before moving, and it’s done nothing to help this. It’s hit me hard, so if anyone has experience in remedying this, please share!

    • http://www.wpbeginner.com Editorial Staff

      Hey Emmie, where do you see that you get slapped for having too many backlinks? Does it show you that error in your Webmaster Tools? Just trying to see how did you come to the conclusion that you got penalized by google.

      https://www.google.com/webmasters/tools/reconsideration << This is the page where you can send a reconsideration request to Google.

  • Lateef Adewale

    Do you have any idea if this will work if i am moving a site from Bluehost to Wp Engine.

    • http://www.wpbeginner.com Editorial Staff

      Yes it should work.

  • Emily

    Just went through this whole process, worked perfectly and just what I needed to know. Thank you WPBeginner! The only glitch I ran into was my own fault – didn’t deactivate my security plugins first so I had to do it all over. Now, I am an expert… : )

  • Sandra Christie

    Thanks for the article!

    Are the steps for moving the same domain to a new host basically the same? And can that cause a drop in SEO as well?

  • Travis Pflanz

    As well, the “Change of Address” option in Webmaster Tools is now in the Options menu at the top right in in Gear icon.

  • Zach Smith

    Thanks for publishing another great article for us. This is best for any technology related blog.

  • Bob

    Thanks–this is great information. I’m really excited to learn about Duplicator. While moving a domain is something I might have to do occasionally, I’m constantly cloning environments for development and testing purposes. The manual cloning process I’ve been using is time-consuming and potentially error-prone. Duplicator has the potentially to be a considerable improvement!

  • Sam

    I just moved WP to a new domain and server using this method. Webmaster Tools now shows many 403 errors on the new server for each folder in uploads such as wp-content/uploads/2012/07 and one 403 error for each of the months. On my old server I did not get this. When moving the site should we also change or check the permissions? What should they be for the wp-content/uploads folder?

    • http://www.wpbeginner.com Editorial Staff

      Google should not be indexing the folders rather they should be indexing the files inside of it. If you try to access the folder directly using a browser, WordPress will give you a 404 error. You don’t want to allow access to a directory that has no index page, which will then produce a directory listing that will get indexed and crawled, including the links to all files.

      • sam

        Thanks for the reply. Then why does Google show a 403 error for the folders in webmaster tools. Does this not mean that something is wrong?

  • Zimbrul

    THIS IS THE ARTICLE I WAS LOOKING FOR 1 YEAR NOW!!

    • http://www.wpbeginner.com Editorial Staff

      Better late than never :)

  • Jasim Ahmed

    Duplicator is great plugin but problem is its not work with some server as its need higher PHP version except this is there any other way to do ?

    • http://www.wpbeginner.com Editorial Staff

      Yes, you can manually download the files and the database. Upload them on the new domain. Replace all the old url instances in the database using phpMyAdmin SQL search and replace query. The easier solution would be to ask your host why they are not on the higher versions of PHP or switch to a better host.

  • iAn

    hi, I believe this won’t preserve your social network network sharing counters (number of shares and likes). Any idea how to retain those popularity meter?

    • http://www.wpbeginner.com Editorial Staff

      You can’t retain the social counts because those go based on your canonical URLs which will be the new site (very important for SEO). The counters are mainly for social proof. All existing links in social media will properly redirect, so you won’t lose any traffic there.