How to migrate and run your WordPress blog on Windows Azure WebSites

I was testing Windows Azure Web Sites (Codename Antares, for short WAWS) for about 3 weeks before it was announced two days ago at MeetWindowsAzure. Since the beginning I wanted to migrate my blog from to Windows Azure Web Sites so I can have more control (on the blog) but enough abstraction (hosting etc.). Sound cool, right? Well WAWS does exactly that. Follow the process below to create your own web site to host the WordPress engine and also assign and use a custom domain on the environment. I’ll also include some description about the migration steps I did from to WAWS, like export/import of blog posts and installing some plugins to achieve similar functionality with

Creating the Web Site

Creating your Web Site it’s really easy and fast on Windows Azure Web Sites.

As I want to use a WordPress engine powered blog, I can choose “From Gallery” and get a list of ready-to-use Web Sites

All you have to do after that is give a name to it and let Windows Azure Web Sites do the rest for you, like create a MySQL Database, install WordPress and configure it for you. The whole process takes 10-12 seconds. After the provisioning of the Web Site, you can Browse to it. In our case you get the setup page of WordPress asking for an admin username and a password. Fill that information and of you go, your blog is ready.

Migrating existing content

WordPress is really helpful in this case as it has a special plugin only for that reason. By going to Tools -> Export on your existing WordPress blog, like mine hosted on, you can export to an XML file containing references for the Import engine of WordPress. Once, you logon to your Windows Azure Web Sites admin panel, you can navigate to Tools -> Import and then select the file you exported from your previous blog. You can then proceed with the import of all your content to your new blog. Mine took about 2-3 minutes to import everything.

Missing plugins/Similar functionality to

If your blog was hosted on there is some functionality that doesn’t exist on the installation we just did on Windows Azure Web Sites because the plugins are not included. Site stats for example or a couple of Widgets are not there. To include all that functionality WordPress has released a plugin called “JetPack” which includes all that functionality for your hosted WordPress site. All you need is an existing account to link your blog with the WordPress Cloud as they call it.

Creating the DNS records

You need to create the necessary DNS records for your site in order to point to the WAWS site. WAWS assigns to you an address of the <your_name> format. For example this blog is running at but it’s accessible from I’m hosting my DNS records with GoDaddy so they look like below.

My www is actually an alias (CNAME) to the WAWS address.

Making Windows Azure Web Sites understand your custom domain

After you create the CNAME record and your site now points to the WAWS address, you need to make WAWS understand about your custom domain, otherwise sites running e.g. on WordPress won’t be accessible on the custom domain. To achieve this we have to logon to the Windows Azure Portal and go your Web Site. After you do that you have to click on the “Scale” tab and switch from Shared to Reserved mode.

That way you enable the option to use a custom domain header on your Web Site. Next step is click on the “Configure” tab and insert your custom hostname.

Final Steps

One last step left is making your WordPress site, listen and respond to the custom domain. In order to do that, you have to logon your Administration panel, click “Settings” and then “General”. There you have two options the Site Url and the WordPress URL. Make them both listen on your custom domain just like I did.

Now your Web site is accessible from your custom domain :)


The whole migration took my about an hour and was mostly setting up the things/plugins for my WordPress than it was WAWS preparing the deployment. The experience is really fast and responsive, I love the new UI on the portal and I hope you do too.

Any comments/remarks/questions are, as always, welcome!





29 Responses to How to migrate and run your WordPress blog on Windows Azure WebSites

  1. John Marshall

    Good article, but you missed one point. Other than because it is there, why would anyone want to move an existing site to WAWS?

  2. Hi John,

    For various reasons in my opinion. If you don’t need the custom headers (although I think this should be available for shared ones as well) then it’s free up to 10 sites, so cost is one reason. All the flexibility and scalability whenever you need it is another reason. Better performance compared to traditional shared hosting is another one. There are others as well, e.g. if you’re using other Windows Azure services or if you plan to use them, they effectively live in the same data center so performance/speed is better than hosting it yourself.

  3. If you are using a custom domain and you’re satisfied by DNS redirecting and not creating an alias (CNAME) then WAWS is for free as well (up to 10 sites). We do the redirection at which redirects to the WAWS site and not using the custom domain as I do in my blog.

  4. Can you install artibtrary plugins/themes in an Azure WordPress website? If so, how is it done, since you can’t FTP, I presume?

    • You can install Plugins/Themes either through the Dashboard or you can FTP into it. FTP is supported and GIT as well.

  5. Pingback: The PK blog : How to migrate and run your WordPress blog on Windows Azure WebSites

  6. from Azure “Ten shared-instance websites are free for one year”
    What’s the cost after the 1st year?

    • It’s not public yet.. anything about pricing will be available when the service reaches GA (General Availability).

  7. Do you have any idea or guess what the Ten shared instances might cost after the free period?

    This seems to be in direct competition with hosters like GoDaddy, 1&1 etc

    One can only assume that pricing will be competitive & comparable?

  8. Pingback: How to run SugarCRM on Windows Azure Web Sites using WebMatrix 2 » The PK Blog

  9. Pingback: Subtext to WordPress on Windows Azure Web Sites migration » Κ# on Cloud

  10. Pingback: My WordPress Blog now running on Windows Azure | Jasper Kraak Blog

  11. Should I create a website in Azure and select WordPress or should I host an Ubuntu virtual machine with WordPress installed under the virtual machines section? What are the differences?

    • It will cost you extremely less if you create a Website on Windows Azure than hosting a virtual machine with Ubuntu. The biggest difference is that Ubuntu you have to maintain it yourself, the Windows Azure WebSite it’s maintained for you (hardware/software). And if you don’t want a custom domain (you can use redirection from to, its free :) If you want to a custom domain then you can upgrade to a Shared environment option, which is very very cheap and that’s what I use for this blog as well.

      • Thanks, I appreciate the info. With EC2 you still have to create an instance, SSH to it, install Apache, install PHP, install MySQL, install WordPress, then map the elastic ip to the domain. With Azure, 4 clicks and I was up and running!

  12. Pingback: Liens interessant | thovardemo

  13. Pingback: New Blog Theme, New Blog Host | Eric Webb

  14. Pingback: WordPress on Windows Azure Web Sites | Jeremy Thake's musingsJeremy Thake's musings

  15. When changing theme or other configuration, where is it being saved?
    What happens on multiple instances?

    • Sorry for the late reply. It works on all instances. It’s saved in a way that it immediately works on all of the instances. I think they’ll share more internal on how it works once the product is GA.

  16. Pingback: Some thoughts and tips in moving existing Wordpress blog to Windows Azure | Dr. Petri I. Salonen Views on Software, Apps and Software Business Models

  17. Pingback: yegengovender | Pearltrees

  18. Pingback: Assimilation has been Achieved – is Now Hosted @ Azure | Can I change this later???

  19. Pingback: My blog is now hosted on Windows Azure!

  20. Pingback: Migrating my Guitar blog to run on Microsoft Azure - The Blog formerly known as "Ed's TechEd Blog" - Site Home - MSDN Blogs

  21. Pingback: Hello world! | Caladan's Tales

Leave a Reply

Go to top