Moving a WordPress website to a new domain sounds like a super geeky job, but that’s not the case in real life. I had to do this for a client recently and I thought, hey, I can write a tutorial on this. So, here’s that tutorial. As a bonus, you will be able to keep your SEO settings too.
Things to Know
Before we start our moving process, there are some things you should know. The moving process will affect your position in search engines for a short time. This happens because the search engines take some time to register the change of your domain. You can’t do anything about this. Accept it. Having said that, rest assured that I will show you how to minimize the impact and get things back to normal ASAP.
One more thing, this is not a guide for migrating your website to another web host. While both of them sound similar, moving to a new host is a more detailed task. However, if you need a tutorial on moving your site to another web host, please let me know. I will write a post on that too.
And the last thing before we start. I am assuming you already have an old and a new domain handy. It is also assumed that you have access to your hosting account and know how to use FTP.
Okay, that’s enough background covered for now. Let’s start the moving process.
Create a Backup of Your Current Website
Let’s backup our website before we begin the process. You never know when this will come in handy. WordPress.org hosts a lot of free plugins for creating backups. Some popular options include BackupBuddy, VaultPress, BackWPup, WordPress backup to Dropbox, etc.
Now that we have backed up our website, let’s start the moving process. We will use a plugin named Duplicator for moving our website. Download, install and activate it. At this point, you should have a new menu titled Duplicator.

Go to Duplicator > Packages. Click on ‘Create New’ for creating a new package. The plugin will provide a default name for the backup. You can change it if you want.
Once you are okay with the name, click ‘Next.’ On the next screen, you will see a scan running. This will scan your site for files, databases and other necessary things for backing up. Click the ‘Build’ button next.

On the next screen, the backup building process will begin. This could take some time if your site has lots of posts, pages and media files. Be patient, and don’t close the window before the process has finished.

When the backing up process has finished, you will be taken to ‘Step 3: Build Package.’ There, you will find two buttons to download the zipped archive and an installer. Download both of them.

Transfer Data to the New Website
If you have followed me till now, then you have successfully backed up your website. Now we need to transfer the backed up data to the new domain. To do that, open up your favorite FTP software. I am using Filezilla.
Connect to your new site and go to the root directory. Make sure that the root directory is completely empty. Upload the installer and the archive to that directory. Then, launch the installer file in a web browser. You can do that by going to http://www.yournewdomain.com/installer.php. Obviously, you have to change yournewdomain.com with your new domain.
During the installation process, you will need database information of your new site. Make sure that you are using an empty database. And before you check the ‘I have read warning and notices,’ try to actually read them. Then, click on ‘Run Deployment.’ This will automatically extract the archive, install the database, install and configure WordPress. Again, this could take some time if you have a large site.

On the next step, either accept the default settings or change them according to your choice and click ‘Update.’ Next, you will be prompted to set up your permalinks. You can do that by logging in to your new site and going to Settings > Permalinks.
Next Steps
At this point, you have your website transferred to a new domain, but you have some post-processing to do. First of all, delete the following files from the root directory of your web server:
- php
- installer-data.sql
- installer-log.txt
After that, thoroughly check your website and make sure that there are no broken links, images, missing posts or pages, etc.
Do you remember that I promised you that the moving process will have little impact on your website? Let’s get to that part now.
Setting up 301 Redirects
By setting up a permanent 301 redirect, you will be able to direct both the search engines and the users to your new domain when they try to access your old domain. In order to do this, connect to your old site through FTP. We have to edit the .htaccess file. Open up the file and paste this code at the top:
#Options +FollowSymLinks RewriteEngine on RewriteRule ^(.*)$ http://www. yournewdomain.com/$1 [R=301,L]
Don’t forget to replace yournewdomain.com with your new domain. Save the file and exit FTP. Now open your old domain in a browser. If it takes you to your new domain, then everything is okay. Otherwise, check the code carefully.
Lastly, you also need to update Google about your domain change. To do that, log in to Google Webmaster Tools. Select your site, go to Configuration > Change of Address. You have to verify the ownership of the new domain.
Well, that will cover the moving process for most of you. However, there are supplementary steps like notifying your users, displaying banners, etc. But that’s up to you.
Have you moved your website from an old domain to a new one recently? If yes, please share your experience with us.