Website migration is tricky, and those complexities are not always made easy with a blog or WordPress sites. To ensure a correct migration, there are a number of steps that must be followed in the correct sequence. If done incorrectly, you may experience site downtime.
Be sure to read this guide before migrating your site.
Step 1. Set up a new BlueHost account
I recommend using BlueHost because of their reliability and cost effectiveness. Plus, in my experience their customer support was top notch, which is especially nice when you’re doing something like migrating your site.
Disclosure: The blog author receives a commission when purchasing a BlueHost package through our link.
Use this link to get $ 2.75 / month discount on BlueHost package.
Bluehost offers several packages. For most people, the Starter plan (if you only host one site) or the Plus plan if you host multiple sites will work.
Step 2: Create FTP credentials on your existing hosting account
In the cPanel of your existing hosting account, navigate to the FTP accounts, usually under the Files heading.
Add a new FTP account with your username and password. Often the path to a file in the “Directory” is created automatically. Remove this file path completely so your new FTP account will have ROOT access.
Make sure the quota is set to “No Limits” and click “Create FTP Account”. Be sure to provide the password for your new FTP account.
You should see your new account at the bottom of this page. Click “Configure FTP Client” next to the new account, and then write down the username, hostname, and port number.
Step 3. Download Filezilla
Filezilla is the most commonly used free FTP client. You can download this software Here… After downloading the installation file, click “Run” to start the installation.
Step 4: Connect to your server
After installing Filezilla on your computer, open the program and in the File section click Site Manager. This is where you’ll set up a connection to an existing server. Add your hostname and port at the top, followed by your username and password.
Click “Connect” to start connecting.
Note. If you are unable to connect, try adding @ yourdomainname.com to your username. If that doesn’t work, you might have to call your hosting provider for troubleshooting.
Step 5: Upload the files
On your local computer, create a new file folder where you can move all your website files and remember their location.
In Filezilla, connected to your server, use the top-right window to navigate to the folder containing your site’s files. This is usually found in the public_html file. If you click on the public_html folder, the files in that folder will appear in the lower right corner of the window.
Your website files might be in a different folder under the public_html folder. Find the appropriate folder and open it.
In the top left window, navigate to the empty folder that you created on your computer. Open the folder by clicking the + sign to the left of the folder name. An empty folder will open in the lower left window.
In the lower right window, click the first folder and then scroll down to the most recent file, press and hold the SHIFT key and click the last file. All files and folders must be selected.
Drag all selected files and folders to the bottom LEFT window by pressing and holding the CTRL key while clicking on any file / folder and dragging them.
The download will start in the bottom window. It will take some time. WordPress has a LOT of files. And don’t worry, you are just copying files, not deleting them!
Go have a cup of coffee. Or go to the next step, which you can do at boot time.
Step 6: Load your database
In the cPanel of the existing server, navigate to phpMyAdmin under the Database section.
On the left, click on your site’s database.
Note. If you have a lot of databases and don’t know which one, take a look at your website’s wp-config file and make a note of the database name. This is what you are looking for.
With this database file open on the left, click Export in the top menu of phpMyAdmin. Save the export “Fast” and format “SQL”. Click Go. This will download the SQL file to your computer. This is a fairly quick process.
Step 7: create a new database
In the cPanel of your new Bluehost hosting account navigate to MySQL Databases.
First create a new database. Give it any name next to the assigned prefix and click “Create Database”.
Then scroll down to the bottom of this screen to create a “user” connected to this database. In the Create User section, add a new username and password and click Create User.
In the Add User to Database section, select the user you created and the new database you created and click Add.
Note: Don’t forget to write down the username and database (with prefixes!).
Step 8: Load your database
Access phpMyAdmin on your new Bluehost server in the same way as described above. Select the new database you just created on the left.
Go to “Import” in the top menu. Here you can browse from your computer and select the SQL file that you recently downloaded. At the bottom of the screen, select Go. This will load your database and your new database will momentarily display on the left side of the screen.
Step 9: Create an FTP account on Bluehost
Using the same method described above for creating an FTP account, create a new FTP account on Bluehost, be sure to provide your credentials.
Step 10: connect to BlueHost server
Assuming the download is complete (DO NOT disconnect if it is not complete! Wait until the transfer is complete!), In Filezilla’s File and Site Manager section, click New Site.
Using your new FTP BlueHost credentials and the method above, connect to your Bluehost server.
The local file containing your WordPress files and folders should already be displayed in the left window. In the top right window of your server, navigate to public_html or the file you want to save for your WordPress site.
Using the above method to select all files, move all files and folders from the bottom left window to the right one.
Again, this will take some time. Go for a walk with the dog.
Step 11: set up the WP-config file
After all files are uploaded, login to your cPanel Bluehost and go to file manager. Then go to the folder where you downloaded all WordPress files. Open the wp-config.php file in your editor.
Change DB_NAME to the new database name, DB_USER to the new database username, and DB_PASSWORD to the new password you just created.
DB_HOST is usually “localhost” and you don’t need to change it. However, if you have a VPS, the hostname may be different.
Step 12: is there SSL?
If your existing website has an SSL certificate installed, you will need to install it on your new hosting account for the same domain before you point your site. Contact Bluehost and make sure SSL is installed and ready to go.
Step 13: enter your domain
Now that your files and database have been migrated, you can point your domain to Bluehost. You can achieve this by changing your nameservers or by creating DNS records.
Go to the domain registry where your domain is registered. Select your domain for DNS management and find the nameservers section. Change your nameservers to:
It can take up to 24 hours to propagate to all servers, but most of the time, your site should work correctly within 1-2 hours. Keep checking your domain and make sure everything is in order. If you get a database error, double-check your config file for the correct credentials.
Note. Changing the nameservers will also change the email address to Bluehost. Log in to your Bluehost account and create new email accounts.
Note. Domains registered with GoDaddy often run into problems when changing nameservers, especially when using SSL. Instead of changing nameservers, make DNS records instead of changing nameservers.