How to Transfer a WordPress Website
How To Transfer Ownership of a Domain & WordPress Website

If you plan to buy or sell a website, it is important to understand the process of transferring ownership of a domain and migrating a website to a new hosting account. In this tutorial, I’ll take you through both processes, step by step, so that you can be prepared when the time comes.

Part 1: Transferring ownership of a domain

There are typically two methods of transferring ownership of a domain:

  1. Transfer the domain to another registrar.
  2. Keep the domain on the same registrar, but change the account.

What option you choose will come down to your individual circumstances. For example, if you prefer using GoDaddy to register all of your domains, and you bought a website with a domain registered elsewhere, you would likely elect to transfer the domain to GoDaddy (i.e option 1).

On the other hand, most newly registered domains have a 60 day registrar transfer lock.  So, if you bought a website with a newly registered domain, you would likely keep the domain at the same registrar and simply change the account (i.e option 2).

Registrar Transfer – Example in Action

In this example, I’ll explain how to perform a registrar transfer from GoDaddy to HostGator. Before you begin, it is strongly advised that you create a backup of your website.

Step 1: Unlock the Domain

The party making the transfer must first unlock the domain for transfer in their GoDaddy account.

  • Sign in to your GoDaddy account
  • In the Visit My Account tab select Domains and click Manage.
  • Click on the domain you want to transfer.
  • Under the Settings tab find the Lock tab, click Manage and check Off.

Unlocking a domain for transferYour domain should now be unlocked.

Step 2: Request an Authorization Code

The party making the transfer must request an EPP/Authorization Code. This will be provided to the receiving party, and it let’s the releasing registrar know that the party making the transfer has authorized this action.

  • Using the same Settings tab locate the Authorization Code heading and click email my code.
  • Provide this code to the receiving party.

Step 3: Initiate the Transfer at the Receiving Registrar

  • This step should be completed by the receiving party.
  • Visit HostGator’s domain transfer page & initiate the transfer by entering the domain name.
  • Checkout and enter the EPP/authorization code received from GoDaddy.

Step 4: Approve the Transfer

  • This step should be completed by the party transferring the domain out of their account.
  • Log back into your GoDaddy account and navigate to the domains page.
  • In the green menu bar find Domains -> Transfers
  • Select the appropriate domain and click Accept.

Accepting a domain transfer

All steps should now be complete, and GoDaddy should email you confirmation that the transfer has been done. Note, it can take up to 10 days for the transfer to process and hit the receiving account. For further information, please see the following GoDaddy support article.

Account Change – Example in Action 

In this example, I’ll explain how to make an account change by showing you how to transfer a domain from one GoDaddy account to another GoDaddy account.

Step 1: Request Receiving Party’s Customer Number

  • The party planning to transfer the domain out of their account should request the receiving party’s GoDaddy customer number and email address. 

Step 2: Back Up Website

  • Create a backup of your WordPress site (you can use a plugin like the All In One WP Migration)
  • If you’re using a different hosting provider check to see if they offer a WordPress backup feature.

Step 3: Navigate to Account Change Page

  • Log into your GoDaddy account and navigate to Domains -> All Domains.
  • Find the domain that you intend to transfer, click the gear icon and click Domain Settings.
  • At the bottom of the page you’ll see a few options, select transfer to another GoDaddy account.

Domain1

Step 4: Initiate the Account Change

  • Enter the receiving party’s GoDaddy email address and customer number in the appropriate fields.
  • Select Use details from specified user account

domain4

Step 5: Accepting the Account Change

Part 2 – WordPress Website Transfer Guide

In this example, we’ll cover two methods of transferring a WordPress website to a new hosting account.

  1. Manual WordPress Site Migration
  2. WordPress Backup Plugin

Tip

When I get a website ready to sell I create a folder on my desktop for the site. Inside the folder are several other folders which include the following: WP Site Files, WP Database, Photoshop/Images, License Keys and Other Misc. Files. Using a free FTP client like Filezilla or my hosting providers cPanel, I’ll download all of the WordPress site files and put them in a folder. I upload all of these files into a Google Drive folder and share it with the new owner after the sale.

Manual WordPress Site Migration – Example in Action

In this example I’ll explain how to migrate a WordPress site from a GoDaddy hosting account to a HostGator hosting account using a free FTP client, Filezilla, to access the WordPress site files. You can download Filezilla here.

Step 1: Install WordPress on the New Host

The first thing that needs to be done is for the receiving party to install a fresh version of WordPress on their HostGator account.

  • In your HostGator hosting dashboard navigate to Get started with WordPress today.
  • Click Install WordPress.
  • Select the domain and leave the path blank.
  • Enter the admin email and fill in the remaining fields.

Install WordPress

  • Copy your password and save it.
  • In your HostGator dashboard navigate to Files & Folders -> FTP Accounts.
  • Click Create a new FTP account. Enter “/“ in the Directory/Path field.

Create new FTP

Your site should now display as a stock WordPress install usually with HostGator coming soon page.

Step 2: Save Database Name, User, & Password 

  • Login to your HostGator server via Filezilla using the FTP login credentials you created earlier.
  • Find the folder titled public_html then find then locate the wp-config.php file, right click and hit view/edit.

You can open the file in text edit or Xcode, whichever works. Find the snippet of code below and save the bold code snippets in a text file:

// ** MySQL settings – You can get this info from your web host ** //
/** The name of the database for WordPress */
define(‘DB_NAME’, ‘i1399307_wp22‘);  

/** MySQL database username */
define(‘DB_USER’, ‘i1399307_wp22‘);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘P#hRhbuQCv0Mk*D3HM]26(@8‘);

Step 2: Copy all Website Files

  • Create a folder on your desktop titled “WordPress Site Files”.
  • Login into your current GoDaddy server to find the website that you’re going to migrate.
  • Select and open WP Site Files folder in the right box on the FileZilla interface and hit Command A to select all of the files, then right click and Download.
  • All of the WordPress site files will be downloaded/copied to your folder.

filezilla

Step 3: Export Database

While the files are downloading head to the phpMyAdmin panel in your GoDaddy account and locate your WordPress database associated with the site. Locate the database and check all of the tables. Once all of the tables are checked click the dropdown menu With selected: -> Export. I usually use the “quick” Export Settings and the Format as SQL.

sql

Step 4: Drop all Files into the New Root Folder

Drag and drop all of the original site files you downloaded earlier from the WP Site Files into the new root folder for the WordPress site, (the new HostGator account). You’ll be prompted with a window that asks if you want to overwrite. Check Overwrite and Always use this method. 

filezilla-2

Step 5: Navigate to the phpMyAdmin in the new HostGator account.

PHPMyAdmin Screenshot

Locate the database for the fresh WordPress install, check all boxes again but this time select Drop. Next, navigate to Import and click Choose file, find the .sql database file for the original site you downloaded earlier and click Go. 

sql2

Step 6: Update Code

The last step involves changing a little bit of code. After all of your site files have been uploaded to the new server, open Filezilla and open the root folder for the site. Locate the wp-config.php file, right click and hit view/edit. Open the text file you saved in Step 1 and replace the DB_NAME, DB_USER and DB_PASSWORD. Now your new database should be properly connected with the WordPress site files. Refresh your permalinks and you should be all set!

config

Method 2 – Using a WordPress Backup Plugin.

In this example I’ll explain how to transfer a WordPress website using a WordPress backup plugin. This is another simple method which works very well with WordPress backups that are under 512mb. This is always my second method if I can not use method 1. In this example, I’ll use the All in One WP plugin, but there are many others.

Step 1: Install WordPress Backup Plugin 

  • Login to the WordPress site that you are migrating and install the free plugin All-In-One WP Migration. 

Step 2: Export Site Files 

  • In your WordPress dashboard navigate to All-In-One WP Migration -> Export. 
  • Click Export To -> File. Once finished, download the file either via your browser or through FTP.

awpm

aiwpm

Step 3: Install WordPress on the Receiving Host

After transferring the domain to the new owners registrar and updating the nameservers, install a fresh version of WordPress on the domain. The site will be down during this brief period and should only show a default WordPress install as the theme.

Step 4: Import to New Host

  • Login and install the All-In-One WP Migration plugin again.
  • Navigate to Import -> Import from ->File. 
  • Select the backup file that you downloaded and start the import. You’ll be prompted to overwrite the current database, click proceed. Refresh the permalinks and you’re all set!

Final Migration Steps

Once the migration is complete login to the WordPress site and navigate to Settings -> Permalinks -> Save Settings. This refreshes the permalinks. Navigate to the DNS settings for the domain, make sure that the nameservers are pointing to the new hosting account. If the site was migrating to the same hosting company the nameservers will likely remain the same but you should also check the DNS zone file to make sure that it points to the proper IP. See image below. I’ll usually remove the wp-config.php file from my hosting account to make sure the site is functioning properly. You can now delete the site files and database from your hosting account.

dns

Migrating a site can sometimes be a frustrating process and one thing that helped me when I was learning was setting up a practice scenario, like a sandbox. I built a demo WordPress site and setup three separate hosting accounts to practice migrating between the three. I highly recommend doing this because it will sharpen your migration skills so that when the time comes for you to migrate a real website you can do it quickly and with confidence.

If you need extra help, I put together an in­-depth seven­-hour­-long Flippa training course. The course details my process of building websites to sell on Flippa, covering everything from the initial domain setup, to the entire development phase, to the Flippa sale and website transfer/migration process. I’m also available to migrate WordPress sites for you depending on the situation, just get in touch with me here – transferring ownership of a WordPress website on Flippa.

  • Jenni Johnson

    Great article Alec! This makes it clear and easy to follow the website process. By the way – your Flippa course is top notch! Best tutorial on website flipping I’ve ever found. No fluff – no “extra nonsense”…easy to follow and just straight to the point. Thanks for putting that course together. It was worth every dime! I’m more confident now. I love it!

    • Alec Larson

      Hey Jenni! Thank you so much! Sorry I am so late responding here, I just got around to browsing the comments section 🙂

  • Woolwit

    This is great, and I think your suggestion to set up a WP and practice transferring it between hosting accounts is excellent. My question is related to email addresses. Do you have something in your course, or could you point to a tutorial you’ve used, that talks about transferring email addresses to another host? Email is often so crucial to a business. The last thing I want to do is disrupt or lose emails. Imagine the scenario where you’re transferring a website business to a new owner, but where there are ongoing support tickets open!

    • Alec Larson

      Hey! Thanks for the kind words. Sorry for the delayed response, I just saw the comments. So, with transferring email addresses – unfortunately it’s something I have never done before so I can’t officially say that this is the proper method BUT this is the first method I would try. Say for example the email address for the site is “[email protected]”. When you transfer the domain/website to the new owner I would simply delete the old email account (I might try and export the inbox/outbox and contacts), then re-setup the same email address on the new owners hosting account after the site and domain have been fully migrated. Again, I’m not sure if this is the proper method but it would be the first thing I would try.

      • Woolwit

        Thanks Alec! If I find a definitive How-To somewhere, I’ll post to this thread. With a client I’m working with right now, we did a simple forward to one of his online mail clients. At least it will take the pressure off while I experiment with backing up his old email etc. But if it was a small company with multiple email addresses I feel this could get complicated quickly.