How to do a Website Migration Using iThemes’s Backup Buddy

This article was really written for my own purposes, so I do assume a lot here and do not go into grave detail for every step. So if it seems information is missing, it probably is since it was to serve as merely a future reference for myself.

That being said, if you stumbled upon this looking for similar answers, I hope you find it helpful!

This solved a problem for me because I just wanted to move a website from one server/host to another server/host. But to avoid having downtime on the site, I wanted to be able to setup and test the site on the new server prior to switching the IP Address… which meant I needed to access it using a temporary directory.

Bluehost was my web host for this migration. And I used the awesome software Backup Buddy from iThemes to do the dirty work. This process was really just to consolidate two Bluehost accounts into one account. For you, it may be to move your existing WordPress website from one web host to another.

The temporary directory syntax is specific to Bluehost, but the overall process would be similar even if I was moving the site to a new web hosting company.

  • Make full backup using Backup Buddy
  • Download importbuddy.php from site that was backed up using iThemes Backup Buddy (make sure you know the importbuddy.php password) making sure you use the latest version.
  • Upload backup to new server in the desired directory (Important: Make sure the desired directory falls under the “public_html” folder)
  • Upload importbuddy.php to new server
  • Assign domain to the new server’s cpanel
  • Create a new database in Cpanel on the new server.
  • If you haven’t changed the DNS info to direct the domain to the new server IP address yet, you should be able to access the file directory directly using this syntax in bluehost (with the new server’s Ip address): “” (“ichaelx3” is my hosting account username)
    • If you have already updated your DNS (and probably have a non-functioning site currently), then you can just go to the “” file directly.
  • Run through the importbuddy setup making sure everything directs to the destination URL (and not just the temporary one), and make sure you use the new database you just created on the new server.
  • Once you finish the import, verify imported site functionality.
  • Change the DNS in your domain registrar to point to the new IP address on the new server. When you save this step for last, you basically are setting up your entire site so that it’s ready to go live, AND the original site is still live. Then once the DNS change propagates, There will be ZERO downtime because it will be like flipping a switch from pointing to the old location to pointing to the new location.
  • If you also have a professional email address with your domain name in it (e.g. [email protected]), see Email Migration section below.

Accessing a Temporary Web Address


To view your main domain if you published directly to the public_html folder,  you would use the url

To view your main domain if you published  to a subdirectory of the public_html folder

To view any of your add-on domains use

So the setup using FileZilla would be:

Host: IP Address
User: Your Username
Password: Your Password
Default Remote Directory: /public_html/domain-folder-name

Publishing to Temporary FTP Address

To publish your main domain directly to the public_html folder,  you would use ftp://[email protected]/public_html

To publish your main domain   to a subdirectory of the public_html folder ftp://[email protected]/public_html/domain-name-folder/

To publish any of your addon domains use ftp://[email protected]/public_html/domain-name-folder/

Side note if only moving from one domain to a new domain:

If you are just moving a website from one domain name to a new domain name, you will not need a temporary directory. You can just move all the files into the new directory, and access them directly without a temp file since your domain should already be “live.”

Email Migration

If you also have a professional email address with your domain name in it setup on your previous server (e.g. [email protected]), and if you change your nameservers (eg. from GoDaddy to Bluehost to point the domain to your new site on Bluehost), then you will need to also change the A records in your registrar (eg. GoDaddy) to point to the new webhost’s IP address.

If you’re using an external email integration instead of your web host’s, for example, Google Apps for business, then only have your Google MX records listed and remove any “mail.” lines in your DNS.

One other hidden setting shared by a Bluehost representative was the “More/Less” button under the MX Records heading. Click on that and choose “Remote Mail Exchanger” if you’re using an external mail system like Google.


Once you make all your email changes, you can check propagation using the free online tool at

If you’re using a free gmail account and had your professional email address setup in Gmail as an alias, you will need to update the “Send mail as” and “Check mail from other accounts (using POP3) settings within Gmail so that you can both send and receive email using the new server settings. E.g. I had to update the “Send mail as” for my email address because the server address changed, such as “”.

Michael Szapkiw

Head Dude @ Zappy Go Lucky at Zappy Go Lucky
I create digital marketing to generate new clients for local service professionals.