Migrating a self-hosted WordPress Blog to Windows Azure

Disclaimer: Brace yourselves for an image-heavy post 🙂

I moved my blog from a GoDaddy hosting account to my Windows Azure account in what was a seamless, fast and smooth migration. This is the first blog post being published from a WordPress instance residing on the Azure Cloud. In this post I will list the steps taken and what needs to be done to have a successful migration.

So basically the process involves the following steps:

  1. Create a new website on Windows Azure: Click the “+ New button at the bottom of the page and from the dialog that appears select Compute | WEB SITE | FROM GALLERY, as the following screenshot shows
    WA-NewWebsite-SC
    Then follow the wizard steps:

    1. Select WordPress From Gallery: Navigate to BLOGS and then scroll through the list to find WordPress, alternatively you scroll through all the list of Apps to find WordPress if ALL was selected. The following screenshot shows the process:
      WA-NewWebsite-SC-2
    2. Configure Your App: Enter a unique name for the site URL, and then choose to Create a MYSQL database. Select the REGION and click the right arrow
      WA-NewWebsite-SC-3
    3. Create a new MYSQL Database: The NAME textbox will be populated with an auto-generated name, you can choose to keep it enter a custom name. Region will be selected depending on your choice for the region in the previous step. Check the I agree to terms checkbox and click the “√” button to complete the process.
      WA-NewWebsite-SC-4
  2. Setup the newly created WordPress site:
    After completing the wizard. You can navigate to the website using the website URL: xxxx.azurewebsites.net and you will be automatically directed to the WordPress Setup page. That’s where you can enter the Blog name and admin username and password.
  3. Install all existing plugins you have on your current WordPress site:
    Once done with the setup, you will be directed to the login page. Login to the admin interface and make sure you install and activate the plugins you have on your current blog.
  4. Export all your posts from your current blog (xml file):
    Now go to your current blog and export your content (using the Tools | Export) from the left menu. This process will export your content including all posts to an xml file.
  5. Import the exported content (.xml file) into your newly created WordPress site
    Go to your newly created site and go to Tools | Import and import the xml file you exported. The following screenshot shows the process:
    WP-ImportPosts-SC
  6. Install and setup the current theme of your current WP site (optional):
    This step is optional but I think its a good practice so that when you switch to new site and you go live, everything will resume smoothly with no interuptions. Go to Appearance | Themes install and activate the Theme of your choice.
  7. Double check your new WP site for any errors or bugs:
    Go through your newly created blog and check that everything is working fine.
  8. Adding your custom domain (for example: code4word.com):
    The steps involved in setting up your custom domain include:1.) Scale your web site on Windows Azure for shared or standard mode as the following screenshot shows:WA-Scale-SC2.) Configure the CNAME with your domain registrar (ie. GoDaddy): You can point custom domain names to your Windows Azure web sites. Windows Azure must verify that you are authorized to configure the custom domain name to point to your Windows Azure web site. To verify authorization, Go to your domain name account create a CNAME resource record with your DNS provider that points from either www.yourdomain.com to xxx.azurewebsites.net, or from awverify.www.yourdomain.com to awverify.xxx.azurewebsites.net.GoDaddy-CName
  9. Change the A Record so that it points to your Public IP address:
    Either delete the existing A Record that has the alias “@” and points to the IP address of your previous hosting account and create a new “A” Record with the same alias “@” to replace the old one but make it point to your new website’s Public IP address as specified in you website configuration on Azure portal.
  10. Set the domain name in the Windows Azure management portal:
    Go to Configure and scroll to domain names and click manage domains. From there, add your domain name (ie. code4word.com). Windows Azure will check for the validity of this domain name by checking for the CName Record you created earlier. 
    WA-DomainName
  11. Change the WordPress URL in your new website:
    The last step is making your WordPress site, listen and respond to your custom domain. In order to achieve that,go to your new WordPress site and login to your admin account and from the left menu click “Settings” and then “General”. There you have two entries the Site Url and the WordPress URL. Change both to listen to your custom domain as the following screenshot shows:WP-DomainName


Now you are good to go, navigate to your new WP site using your domain name.  Your WordPress blog is now hosted on Windows Azure. Congratulations! 

Posted in Microsoft Azure Tagged with: ,