I happen to work with many different types of software companies and one of my passions is to follow the industry and make sure that I stay focused and current. One of my “things to do” has been to move my personal WordPress blog from a private hosting site to something that enables me not having to worry about loosing my site. I have unfortunately see quite a few hosting companies go belly up and that was a scary moment as I had multiple sites.
As I work closely with Microsoft and Microsoft partners, it was very natural for me to test out Windows Azure Web Sites that can be easily scaled up when needed and on top of that, Microsoft provides WordPress out of the box when setting up your Windows Azure account.
What I did of course first was to see whether I could learn something of the process and experiences from other players. I found one article specifically which helped me tremendously to be convinced that I was on the right track. This blog entry shows with nice pictures the entire process and I highly recommend this to be read before the transfer of your blog. One thing in this article however is that the DNS instruction did not work out for me and I had to take other measures/articles how to get it done. I had some issues getting the DNS pointed from GoDaddy.com to my Windows Azure environment. The instructions on the web where a bit conflicting, but after some trial and error, I was good to go.
The initial install of WordPress took less than 30 seconds, which was very impressive to me. I did do some mistakes in my migration process (more later), but those where my mistakes and had nothing to do with Azure as such. With the transfer of data from former hosting site, the transfer was 20 minutes and with the DNS transfer, I think I worked around 60 minutes on the transfer. Not bad I would say….
One of the first mistakes I did was that I did not define a FTP client to point to my Azure service and when I upgraded a WordPress plugin, the WordPress site went into maintenance and I had no ways to get to the admin UI. I searched again and luckily there was one good blog entry by Avakash Chauhan (Microsoft) that gave good instructions where to find the information how to define FTP towards Azure Web-sites. The cure for my “web-site going to maintenance mode” was to remove a file called .maintenance from the web-site root.
I was able to get up-and-running again and happy that all worked well. My next move was to do an export from my current WordPress site (at the private hosting location) and this is very easy to do. Just go to WordPress Dashboard, select “Tools” and then “Export” and this lets you export all of your entries to be transferred to the new site. The action is the same on the new site, but now you just import the information. In my case, most of the information was successfully imported, but of some reason, some blog entries where missing so I think there must have been some issue in the file that caused it. I did not want to redo it, so I just move over a few entries manually.
One all said and done, my last bit was to make sure everything was OK on the new site and then pull the plug from the old site and move my GoDaddy.com managed DrSalonen.com to point to the new Windows Azure-powered WordPress site. Just by searching on the internet, it was obvious that this part is something that most have had issues with. There is a bunch of good advice on the net, but some of that information could be more clear. One of the blog entries (Windows Azure team) I followed got me started, but in the end it was a matter of trial and error. One of the things that you have to do when you want to use your own URL such as www.drsalonen.com and not drsalonen.azurewebsites.net , you have to “upgrade” your Azure instance to be a reserved instance and this is completely understandable as now it is the way it has been in the past in the private hosting site.
I have never been fond of having to deal with DNS stuff, A records… pointing here and there.. but I got it done… It seems that it is something that is done a bit differently by different DNS registrar’s sites… so I have had to learn how GoDaddy.com works.
And then finally to my BIG MISTAKE. As final part of the advice, you have to remember and NOT to do how I ended up doing it. Once I had “turned on” the DNS settings in GoDaddy.com, I was not sure whether the DNS settings would be replicated and when/how I should turn the local settings in WordPress.
You can see in my settings (they are now working well), you have to make SURE you get those paths right. If you don’t, you can’t get to the admin panel. It was like an eternal loop where my site at “drsalonen.azurewebsites.net” tried to locate DrSalonen.com but either I had those settings incorrectly or I was just too impatient to wait for the DNS replication. The only way to sort this out was to use the search engine again and I found good advice how to “trick” WordPress site by changing functions.php file content to force the values above to be changed to something I knew would work well. Following pictures shows this:
Once this was done, I was good and could focus on other things in WordPress, which I will turn in later posts. In summary, this transformation to Windows Azure Websites was seamless, painless and now I can scale my site to anything.