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!






  1. John Marshall says:

    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. pkefal says:

    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. pkefal says:

    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. Steve Rogers says:

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

    • pkefal says:

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

  5. awedio says:

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

    • pkefal says:

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

  6. awedio says:

    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?

  7. fortetg says:

    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?

    • pkefal says:

      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.

      • fortetg says:

        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!

    • pkefal says:

      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.

Leave a Reply