WordPress Migration

WordPress has two ‘parts’: the code (WP core files, plus themes/plugin files), and the database. Both have to be placed in a new location for the ‘parts’ to work as they did on the source.

So one way to transfer the site to a new host is to copy those two ‘parts’ to the new host. Copying the files is easy, just FTP transfer the files from the source to the target location.

For the database, you need to do extra steps:

  • Create a new database on the target system. On most hosting sites, you can use the MySQL Wizard to make a new database. Set up credentials (user/pass) like the source (your local) system.
  • On your local system, export the database to a SQL file. You can use phpMyAdmin for this. Then on the target system, select your new database, and import (via phpMyAdmin) the SQL file you exported from your local system.

Then, one final step: change the site URL in the wp_options table (two locations) on the target system to match the URL of your domain. Again, using phpMyAdmin program to modify the database.

There are plugins that can ‘clone’ a system, but they aren’t always successful, or require a premium ($) for the full transfer to work. The above procedure, although it will take a bit of time, will work. I’ve done it several times.

The googles can help you with the specifics of the above process. But it will work. And there is a sense of accomplishment when you finish.

added

Now, there may be some development URLs in your content, which will have to be adjusted to the URL for the target system. There are many googles that explain how to do that.

But I usually set up my development environment with the use of the (eventual) target domain by adding a hosts entry on my local machine to resolve the domain name to the local instance. This can be done several different ways, depending on your local development environment.

In a Windows environment, you would add an entry similar to this in the C:\windows\system32\drivers\etc\hosts file

127.0.0.1  www.example.com

…replacing the IP address with the IP of your development environment, and the domain name with the (eventual) target domain.

With this addition, any content you add to the development system will have the proper URL.

And, note that the above procedure of copying files/data will only work if your development system has a current copy of the target system data, because copying the databases will also copy the content from your local system. But I have successfully used the above procedure to move a site from one hosting system to another.