Need to move a WordPress website to a new domain? The good news is that it is possible to move an entire website to a new URL or domain. In this post, we’ll cover a step-by-step guide on how to move a WordPress site or blog to a new domain.
Reasons to Move a WordPress Site to a New Domain
Here are a few examples of why you may need to move a website to a new domain.
- You bought a better domain name – Maybe the domain name you always wanted finally became available so you’re ready to change the URL of your website or blog. Awesome!
- You need to move a development site to the live URL – Website developers often develop on a separate server or locally until a site design (or redesign) is complete. The dev site will need to be pushed to the main domain.
- You need to move your website off a free domain or subdomain – Maybe your website was initially set up using a free service that made your website a subdomain. Now you’re ready to make the move to your own top-level domain.
- Ownership of a website has changed – Maybe you sold your company or blog and the new owner has different plans for the site URL.
Preparing to Move a WordPress Site to a New Domain
For the purpose of this tutorial, we’ll be moving a WordPress site from this example domain to the example live site domain:
|Old Domain||New Domain|
Note: This process does require a bit of technical knowledge regarding WordPress website file structure and MySQL databases, but this tutorial walks through what you need to know.
Access & Tools Needed
To get ready to move your website to a new domain, you’ll need access to your website’s files, as well as a few tools to make the process quick and easy.
- Access to the files on your website’s server – Usually, this just involves admin access to the web hosting account of your existing website, with cPanel or File Management access. File access can also be accomplished with sFTP/FTP access to your website’s server using a text/code editing tool with file manager options.
- Access to the web hosting account of your new domain – Where will you be hosting your new domain? You’ll need the same file-level access to that web hosting account (it may be the same as your existing website if you added the new domain to your existing web hosting account).
- Access to create a new MySQL database for your new domain
- BackupBuddy, the WordPress backup plugin – This post will walk through the entire process of moving a WordPress site from one domain to another using the BackupBuddy’s Manual Migration method. Using the BackupBuddy plugin is the quickest way to move a WordPress site.
- The ImportBuddy file/script – BackupBuddy comes with a download for the ImportBuddy file that will help you complete the move of your website to a new domain.
Ready to get started? Let’s go.
Steps to Move a WordPress Site to a New Domain
Here are the steps you need to walk through to move your site to the new domain or URL.
1. Install the BackupBuddy plugin on your WordPress site.
After activation, run through the Quick Setup to enable the most important features.
2. Make a Complete Backup with BackupBuddy.
You’ll need to make a Complete backup of the site you wish to move. A Complete Backup is one of the 5 types of WordPress backups you can make with BackupBuddy, and covers backing up everything in your WordPress installation.
From your WordPress admin dashboard, visit the BackupBuddy > Backups page. Click the Complete Backup button.
After the backup completes, download the Backup zip file. After the backup completes, download the zip file and save it to your computer. Do not unzip this file.
3. Download the ImportBuddy file
Next, you’ll need to navigate back to the BackupBuddy > Backups menu to download the importbuddy.php file. You’ll see the download option from the top right ImportBuddy menu.
Confirm your ImportBuddy password. In the window that pops up, enter a new password or leave blank to use the ImportBuddy password you set up when you first installed BackupBuddy. This password is important because it locks the ImportBuddy script from unauthorized access. Click OK and the download will begin.
4. Create a New Database and Database User from cPanel
The next part of the process requires you to have access to the cPanel of the hosting account where the site will be hosted.
A WordPress site is essentially “a pretty face on a database” so that’s why we’re creating a new database here. This database will be connected to the new version of the “moved” WordPress site. You’ll want to copy the database name, username and password you create in this section to use during the ImportBuddy migration process later.
Log in to your hosting account and access cPanel.
From cPanel, locate the MySQL Database Wizard icon in the list and click on it.
The MySQL Database Wizard will guide you through the next steps. First, add the name of the new database. Click “Next Step.”
Next, add a database user. Use the password generator to create a strong password. Don’t forget to copy the username and password you create here to a secure location using a service like LastPass. Click “Create User.”
The next screen will add the new user to the database. Click the “All Privileges” checkbox and then click “Next Step.”
The final screen confirms the creation of the new database and the new user. Confirm that you’ve copied the database name, the database user and password to a secure location.
5. Upload the Backup Zip File & ImportBuddy File to the New Directory
In this next section, we’ll be uploading the backup zip file and the ImportBuddy file into the directory of the new/moved site. Basically, a directory is where your WordPress site “lives” on your server. All the files that run the WordPress site are located within this folder (directory).
For this next step, you can use FTP access to the server or the File Manager within your cPanel. You just need to have access to upload (or delete) files on your server.
Open the directory (folder) of the final location of the WordPress site. Note: Most hosting providers will automatically set up and name the directory when you add the domain name to your hosting account. Your directories will be located in the /public_html directory.
IMPORTANT: This directory will need to be empty prior to uploading the backup zip file and the importbuddy.php file. If there are existing files in this directory, go ahead and delete them so you have an empty folder.
Upload the importbuddy.php file and the backup zip file to this empty directory. You can use the Upload function within the File Manager here.
After you upload the importbuddy.php file and the backup zip file, the directory should look like this.
6. Walk through the ImportBuddy Steps to Finish the Move
This final series of steps will guide you through using ImportBuddy to finish up the site move.
Navigate to the site URL/importbuddy.php. For our example site move, we’d visit this link in your browser:
After this page loads, you’ll see the first ImportBuddy screen. Enter the password you created back in step 4 of this tutorial (or the password you set when you first set up BackupBuddy). Click the “Authenticate” button.
For Step 1 of the ImportBuddy process, verify that the backup file is selected (it will be by default). Click the “Restore Backup” button.
On the next page, enter your database settings under the “New Database” section. This will be the database name, database user and database password you created in steps 7-10. Your page should look something like this. Click the “Next Step” button.
|Old Database Database||New Database||Explanation|
|Database Server||localhost||localhost||In almost all cases, this field will be “localhost.” This is the address to the mySQL server where your database will be stored. The location of your mySQL server will be provided to you by your host if it differs from “localhost.”|
|Database Name||olddomain_phs||clientsite_newdatabase||This is the name of the new database we created in step 7.|
|Database User||olddomain_user||clientsite_newuser||This is the name of the new user we created in step 8.|
|Database Password||***************||***************||This is the password for the user you created in step 8.|
|Database Prefix||wp_||wp_||This is the prefix given to all tables in the database. For the purposes of this tutorial, we’ll leave it at wp_ (since we’re moving a site to new domain).|
ImportBuddy will finalize the migration and ask you to confirm the New URL. Click the “Next Step” button.
Verify the site is working by clicking on the site URL. Click the “Finish Cleanup” button.
That’s it! Your new WordPress site will be ready to go at the new domain.
Move an Entire WordPress Site Today with BackupBuddy
Get BackupBuddy today, the original 3-in-1 WordPress backup plugin. Easily backup, restore and move your WordPress site in one plugin.
Get BackupBuddy now
Kristen has been writing tutorials to help WordPress users since 2011. As marketing director here at iThemes, she’s dedicated to helping you find the best ways to build, manage, and maintain effective WordPress websites. Kristen also enjoys journaling (check out her side project, The Transformation Year!), hiking and camping, step aerobics, cooking, and daily adventures with her family, hoping to live a more present life.