Migrating WordPress

Moving WordPress Sites using PHPMyAdmin & FTP

In this article, we’ll cover moving WordPress sites manually using a PHPMyAdmin database export and moving files.

This is article 4 of 7 in a series on Migrating WordPress sites.

As I mentioned in the first post in this series, my initial WordPress site migrations were very manual and often quite frustrating. That was back in 2005, and a lot has changed since then, and moving WordPress sites has gotten a lot easier.

But, it’s still good to know how to manually move WordPress sites for troubleshooting and development purposes.

When We Migrate Using PHPMyAdmin

Because of the serialized data issue, it’s easiest to use PHPMyAdmin when you’re migrating a site to new hosting, but keeping the domain name the same.

Since WordPress is made up of files and a database, if you can export the database from the current host and import it into a database on the new host, and then connect it up with the files on the new host, you should be good to go.  You don’t have to search and replace URLs.

You can use the hosts file trick to verify that everything’s working on the new host before changing your DNS settings to point your domain to the new location.

Note: it is possible to use a search and replace tool to safely replace URLs that are in serialized data, but we tend to use tools like BackupBuddy or Migrate DB Pro when this is necessary.

Migrate WordPress Sites using PHPMyAdmin & FTP

On the Source server:

  1. Export data from source site using PHPMyAdmin.
  2. Copy all relevant files from source WordPress installation that you want to move to the new host.  If you’re moving all of WordPress, including themes and plugins, you can back up everything.  Or, you can start with a fresh new WordPress installation and migrate over just your data.

phpmyadmin export

On the Target server:

  1. Create a blank MySQL database and a user with full permissions to the database.
  2. Import the data you exported from the source server into your new MySQL database on the target server using PHPMyAdmin.
  3. Using FTP/SFTP/SSH, Upload WordPress and all files you backed up into the domain’s web directory to the new host (this might be public_html, www, or something else, depending on your host).
  4. Open wp-config.php file and edit the database credentials to match those of the new database you created in Step 1.
  5. Since DNS is probably not pointed at the new server yet, you can use the hosts file trick to point the domain to the new IP address for testing and further configuration.
  6. Once your satisfied that everything’s working as it should be, you’re ready to point over your web traffic by modifying your DNS.