If you are moving from a host where you used cPanel, you can perform a Full Backup and MicroHosting will help you restore it. This will save you from needing any of the below steps.
Backup your Wordpress database using phpMyAdmin
First thing first, make a backup of your database using phpMyAdmin. Once you have successfully logged into phpMyAdmin (cPanel -> MySQL -> phpMyAdmin) , click on the name of the database which contains your wordpress blog. Then click on Export in the main navigation area, within the export screen you must complete the following steps:
- click on ’select all’ and ‘SQL’ from the Export menu
- select ‘add Drop Table’, ‘add Auto_Increment value’ and ‘enclosure table and field names with blackquotes’ from the Structure menu
- select ‘Complete inserts’ and ‘Use hexadecimal for binary files’ from Data
- you can leave all the other values at their defaults
Once all those settings are selected you simply click on ’save as file’, this will download a filenamed wordpress.sql to your desktop. And that is that. You have successfully backed up your database.
Download/Upload all your Wordpress files using FTP.
You will need to download ALL your files from your old host and upload them to your new host. This includes files from your themes folder and plugins folder. Make sure you also download any folders which were referenced outside of your blog folder. For example I use a seperate folder called ‘images’ which is located outside of ‘blog’. If I didn’t copy and upload this folder to my new host I would have a lot of broken links to images within my blogpost. This is not a pretty sight.
The FTP client I use is Filezilla. By default Filezilla does not display your .htaccess file, probably for security reasons but I’m not too sure. To ensure that your .htaccess file is included in your download you must click on ‘View’ and then enable ‘Show Hidden Files’. If you neglect to upload your .htaccess file then your permalinks will get screwed up. That is of course if you are using permalinks.
Please note that you should not take this oppurtunity to update to a newer version of Wordpress. Your database may not sync’ as a result. Complete your migration before you consider upgrading.
Edit wp-config.php and create a new Wordpress database.
First, head to your control panel and click the MySQL Databases icon. You need to create a new database with a name appropriate for your blog. Also, you will need to create a database username and password. Finally, assign the new user to the new database and grant "All Privileges".
Okay, so we are nearly there. You must now edit wp-config.php to include the database settings of your new database.
/** The name of the database for WordPress */
define('DB_NAME', 'cpuser_dbname');
/** MySQL database username */
define('DB_USER', 'cpuser_uname');
/** MySQL database password */
define('DB_PASSWORD', '******');
/** MySQL hostname */
define('DB_HOST', 'localhost');
Once you have edited the file with your new database settings, upload it to the root of your blog folder (unless you edited the file on the server).
So now everything is set, except that your new database does not contain any database tables.
Import your Wordpress blog to your new Database.
You can use phpMyAdmin to import your database Once you have logged in, you can choose between two methods to complete the import. You can click on ‘SQL’ and run a query or you can use the ‘Import’ link to upload your wordpress.sql file into your database. I recommend using the former as the query can take some time and can sometimes crash your browser. Using the import feature seems to be a lot less strenuous on the browser.
My blog works, but is missing the CSS style. Or when I click any links, I am taken to my old site.
This is due to WordPress storing your domain name as a piece of data in its database. Here is the way to recommends to fix the problem.
- Go to yourblog.com/wp-admin/ and login.
- In the left hand menu, click Settings.
- Click General.
- Next to WordPress address (URL), enter the correct domain and path.
- Next to Blog address (URL), enter the correct domain and path (usually the exact same).
- Scroll all the way down and click the Save Changes button.
- Return to your blog; it is fixed!
I cannot get to myblog.com/wp-admin/ and login.
This is more technical, but works every time.
- Login to cPanel and click the phpMyAdmin icon.
- In the left hand menu, click the database name corresponding with your WordPress installation.
- In the same left hand menu, click the wp_options table name.
- Click the Browse tab in the top left corner.
- Look for the row with option_id = 2 and option_name = siteurl. Click the pencil icon in this row.
- Replace the existing URL with the correct domain and path. Click the Go button.
- Go to page 2 of the rows where you find option_id = 39 and option_name = home. Click the pencil icon in this row.
- Replace the existing URL with the correct domain and path. Click the Go button.
- Return to your blog; it is fixed!