Moved this site to a new hosting provider overnight. Have been evaluating various options for a while, but didn’t get enough time to act on that. Last weekend, I chose the hosting provider and did a staging site on that with another domain I own.
The biggest challenge is moving the blog. I wanted to go with a wordpress upgrade as part of the move. So I had to really test the blog’s data migraiton and upgrade. I played a bit with the MySQL tables and trimmed the database. My older version of akismet was not good enough to clean up the spam from wordpress interfaces, so I had to manually do some SQL queries to get rid of the spam messages. About 2000 of them. The newer version of akismet on this site is very current and better usable.
Let me first go through the staging site setup. I installed a fresh blog with the desired version of wordpress. I made it a point that the MySQL table names are same (the database name is different though.) Then I slightly modified the SQL queries and ensured that all the legacy data is copied over to the new tables. Once the tables are populated, it required a fresh run of the upgrade script from wordpress to make the blog sync with the old data. To make sure that the staging site doesn’t mess up with the original blog, I had to change some parameters in the MySQL tables (like the blog home and base URL etc.) I also did a manual edit of the UTF-8 blog content. The old version of my blod didn’t support SQL export in UTF-8.
Setting up the staging site is very easy because the name servers for the staging site are setup well in advance and the A records are populated well before the staging site setup. Migrating the production blog is not that easy.
For migrating the production blog, I started with creating a new blog installation on the new server. The database from the older server is migrated, but the post migration upgrade phase had some issues because the DNS is still resolving to the old server. So I fired up a virtual machine which had a local resolution of the website names to the new server. From there, I completed the setup part of it.
As part of the migration, I also upgraded my themes and switched to Mandigo. Next weekend, I can spend some time on customizing it.
Why should I migrate to a new switching provider? The answer is long enough for a separate blog post.