WordPress Migration
December 24th, 2012I recently migrated from Wp-hive (V 0.5) on WordPress (V 2.9.2) to WordPress 3.5 running on a self-hosted WordPress network.
While researching the migration away from Wp-hive, I searched the web extensively and couldn’t find anyone who had documented the process. This is a rough walk through, but it got me there. I’ve omitted any instructions that are well documented in WordPress.
There were 4 blogs on my former wp-hive sub-domain installation. Wp-hive was the best tool available at the time. When WordPress integrated network hosting in version 3.0, Wp-hive quickly became a legacy solution. I knew I needed to migrate and put it off until it was necessary. It wasn’t until my hosting company informed me that my blog software was compromised, that I decided to do the work to migrate. It wasn’t as difficult or as bad as I anticipated. I didn’t have many users and only one blog had very many photos.
The basic steps were:
- Backup Files
- Delete all spam, Disable any unnecessary plugins. Backup all files from the former installation, export database files. (using wordpress database backup plugin. I had to add the plugin). — note: before and after each step, I backed up database tables in case I needed to revert
- Create a sandbox environment on another hosting account. I manage my hosting using Cpanel and WHM. (In order to test the subdomain installation, I needed a URL/domain for testing the blog network.)
- Enable wildcard subdomains on the sandbox domain – I needed my hosting company’s help for this.
- Create a new database and user on the sandbox domain.
- Install current version of Wp on the sandbox domain (at the time it was 3.4)
- Enable the network on the sandbox installation of WP.
- Create as many blogs as you need on the sandbox.
- Split the images from the multiple tables in the WP-hive installation into folders matching the new folder structure.
- Wp-hive:
- /wp-content/uploads/#year/#month/ (blog uploads from multiple blogs are combined into these folders by month. The files need to be manually separated into the following folders:
- Network:
- Format for first blog in subdomain installation: /wpcontent/uploads/#year/#month/
- Format for multiple blogs in subdomain installation: /wp-content/blogs.dir/#/files/#year/#month/
- the first “#” is the blog number. To find the blog #, under the network admin menu, go to My Sites>Network Admin>Sites, mouse over the blog name to get the id #. #year is the four digit year number, #month is the two digit year number.
- Wp-hive:
- Import the blogs (using wordpress importer plugin.)
- Using a plugin (using search and replace plugin), search and correct domain names and paths in the new file.
- Upload themes and test
- Test, test, test
- Once I was convinced that everything worked, I exported tables from my sandbox environment and copied the image files related to those blogs – in their new folder structure / using wordpress database backup plugin.
- Remove the subdomains on the original domain, so the wildcard subdomains will work.
- Setup subdomains on original domain – my hosting company helped here.
- Created new database on original domain
- Rename folder on previous WordPress installation on original domain
- Install WordPress on original domain
- Enable WordPress network on original domain
- Import the blogs from the sandbox export, upload the photos (using wordpress importer plugin.)
- Using search and replace plugin, search and correct domain names and paths in the new file.
- Added domain mapping to map to a couple of the blogs on the new installations.
- Add functionality like Twitter, Facebook, rebuild widgets
I now have 6 blogs running on the new network.
Please add your comments. Let me know if you find this helpful.
