How to MANUALLY Migrate Your WordPress Site

by | Nov 20, 2017 | Wordpress Tutorial | 44 comments

*** Update March 2021 – This method still works like a charm today! ***

In this tutorial, I walk you through How to MANUALLY Migrate your WordPress Site from one host to another. There are several great duplicating, cloning and migration tools for transferring WordPress sites but it’s good to know how to do it manually just incase a migration fails or times out. This is often the case when the site is really large or if you’re transferring between different hosting companies. In a recent Divi Chat episode, we discussed this topic in detail so I wanted to put my process together in a tutorial to better articulate what we went over in the chat!

While the thought of manually transferring a site can be overwhelming, it’s actually not that difficult if you know what’s going on the behind the scenes and you have an understanding of the basics. I’ve had many headaches, frustrations and lost hairs due to failed migrations in my day and it was all because I didn’t have a understanding of what goes into migrating a WordPress site. My hope is that by the end of this tutorial, you’ll have a basic understanding of what goes into a WordPress migration and that you’ll have a good grasp of the most important elements to double check when you migrate a site even if you use a duplicator or cloning tool.

Below the video timestamps are simple or advanced version checklists for you!


Video timestamps:

00:00 – Introduction and why you should know how to manually migrate a WordPress site
00:56 – Overview of what we’re going to do

*** Phase 1 – Backup site on old domain ***

01:12 – Backup original site via cPanel
01:55 – Overview of WordPress files via File Manager
02:23 – The only important files you need for the transfer
02:49 – Zip/compress wp-content folder
03:14 – Download compressed wp-content.zip folder and wp-config.php file
03:47 – Download the site database via phpMyAdmin
04:25 – Overview of phpMyAdmin
04:47 – Export site database (.sql file)
05:42 – Overview of downloaded files

*** Phase 2 – Transfer site to new domain ***

06:14 – Install WordPress at new domain
06:48 – Set up new WordPress site
07:23 – Advanced database options
08:05 – View blank installation of WordPress site
08:24 – Drop folders in new database via phpMyAdmin
09:12 – Import old database (.sql file)
09:48 – Set correct domain name URL in database
10:52 – Upload wp-content folder in File Manager
11:57 – Extract wp-content folder (then delete it)
12:45 – Edit config.php file with old details
14:04 – Overview of WordPress databases (to show how it connects with the config.php file)
15:37 – Overwrite updated config.php file
16:13 – Check new site
16:30 – Setting up WordPress database manually (if you’re feeling wild)
17:06 – Login to new site
17:48 – Find and replace all image/file paths (using velvet blues plugin)

*** Phase 3 – Clean up ***

19:06 – Login into old host and delete old files
19:21 – Download and backup new site files

Here’s a simple and detailed version of my migration process! For advanced users, the simple checklist will most likely suffice. For newbies and those who want to be walked through the process step by step, I’ve broken the process down to 3 phases for you. I hope this helps all of your migrating experiences and saves you some heartache and hair!

How to Manually Migrate WordPress Website

2 Checklist Options:

Simple Checklist:

  1. Backup site files
  2. Export database (SQL file)
  3. Install WordPress for new site
  4. Import database (SQL file)
  5. Replace wp-content folder
  6. Edit wp-config.php file with correct settings
  7. Replace URLs
  8. Delete old site

Detailed Checklist:

Phase 1: Preparing the site for transfer

  1. Login into development site Cpanel
  2. Go into File Manager
  3. Download wp-config.php file
  4. Zip up wp-content folder
  5. Download zip folder
  6. Go into phpMyAdmin
  7. Export site database (sql file)

Phase 2: Setting up the site on the new host

  1. Login into new hosting cpanel
  2. Install WordPress
  3. Go into phpMyAdmin
  4. Import sql file in new database
  5. Replace old URL with new URL in “_options” table
  6. Go into File Manager
  7. Replace wp-content folder with zipped file
  8. Extract zipped file
  9. Edit wp-config.php file with new database, user, password and wp table prefix
  10. Login into new site, find and replace all image/file paths with new URL 

Phase 3: Clean up

  1. Double check permalinks and ALL image, link and file paths in new site
  2. BACKUP new site files and database
  3. Go to old hosting account
  4. Delete old database
  5. Delete wp files
  6. Remove sub or addon domain

If you found this tutorial helpful…

I highly recommend checking out my cPanel Course which provides more invaluable, in-depth knowledge of WordPress files, phpMyAdmin, domains, email, SSL and more!