Hey, guys. I’m making this post after having successfully migrated my blog from the crappy slow DreamHost to the uber-cute-named A Small Orange.
Here’s it.
Requirements
- Patience. Patience is a virtue.
- Preferably an FTP client. An online FTP client would do.
- Access to your mySQL server; I recommend using PHPmyAdmin in managing your database although using the console would do.
- Basic knowledge on mySQL.
Back-Up
First of all, you have to backup your blog’s files. Access your blog’s root thru your FTP client. Copy all the files in your blog’s root to a hard disk destination of your choice.
After backing-up all the files, the next move would be backing up the entire database. Thru your SQL interface (PHPmyAdmin is again recommended), access your SQL server then your blog’s database.
If you are using PHPmyAdmin, just click the Import button at the top, then check the tick box below that says something like “Download File”. Save the imported SQL file to a hard disk destination of your choice.
But if you’re not using the nifty tool, you have to do it your own provided you have knowledge on it. You may also ask your web host to do it for you.
Copying the Data to New Host
Then, we’ll be making something senseful. Access your new SQL server (your new host’s SQL) thru PHPmyAdmin or console. If you’re using PHPmyAdmin, just click the Export button above, then upload the file you just saved on the hard disk destination of your choice to your SQL server and have it copied there by itself. Again, if you’re not using PHPmyAdmin, you may ask your new web host to do it for you.
Yey, you already have a copy of your database on your new host. Then, we’ll be copying the blog root files you saved in the hard disk destination of your choice. Using your FTP client, upload it to your new host. On some modern FTP clients, drag-and-drop would do the entire job.
CHMOD Time
Ooops. we’re not that done yet. You still have to set the chmod of the following folders and its folders and files to 777:
- /wp-content/themes/
- /wp-content/uploads/
- /wp-content/plug-ins/
To change a folder’s chmod, you may use your FTP client. If you’re using FileZilla, just right-click the folder and click file attributes. Type the value ‘777′ on the textbox then check Recurse in files and subdirectories then click okay.
Before I forget
I almost forgot this one. Using your favorite text editor (Notepad’s one), modify your local copy (the one on the hard disk destination of your choice) of wp-config.php.
The file looks like this:
/** WordPress's config file **/
/** http://wordpress.org/ **/// ** MySQL settings ** //
define('DB_NAME', 'yourdbname'); // The name of the database
define('DB_USER', 'yourdbuser'); // Your MySQL username
define('DB_PASSWORD', 'yourdbpassword'); // ...and password
define('DB_HOST', 'yourdbhost'); // ...and the server MySQL is running on
// Change the prefix if you want to have multiple blogs in a single database.
$table_prefix = 'wp_'; // example: 'wp_' or 'b2' or 'mylogin_'
// Change this to localize WordPress. A corresponding MO file for the
// chosen language must be installed to wp-includes/languages.
// For example, install de.mo to wp-includes/languages and set WPLANG to 'de'
// to enable German language support.
define ('WPLANG', '');
/* Stop editing */
$server = DB_HOST;
$loginsql = DB_USER;
$passsql = DB_PASSWORD;
$base = DB_NAME;
define('ABSPATH', dirname(__FILE__).'/');
// Get everything else
require_once(ABSPATH.'wp-settings.php');
?>
Now, you have to change the values in bold to your new hosts’ configuration.
Last Step?
Uhm, the last step. You have to login to the place where you bought your domain aka domain registrar. Change your nameserver settings (steps differ from a nameserver to another) to your new host’s nameserver. It usually sounds and looks like ns1.yourhost.com, ns2.yourhost.com and in some cases ns3 to ns4.
After setting, wait for at most three days for the change in DNS info to propagate around the world. Your blog at your old host will be the one displayed when the viewer’s ISP’s DNS server hasn’t received the DNS update.
Enjoy.
Ooops, the lastest step.
Check your blog once it propagates around the world. If you experience problems, try rechecking your wp-config.php. You may also try disabling some plugins. My PHP Speedy plugin caused me some problems in migrating.