How to move your WordPress blog to Azure VM (Part 1 of 4)

In this multipart series, we will look at how you can move your existing, self-hosted WordPress blog to Azure. While there are many ways to create a WordPress in Azure (Container, Web App, Windows VM or Linux VM), we will start with installing WordPress in a Windows VM (this article) and cover Linux VM and Web App options in other articles of the series.

In this article, we will move our blog to Azure VM running Windows Server. The process will require us to perform the following tasks:

  1. Create a Windows VM in Azure
  2. Install WordPress on VM in Azure
  3. Backup existing WordPress site content
  4. Backup existing WordPress site database
  5. Restore WordPress database
  6. Restore WordPress content
  7. Configure DNS

Create a Windows VM in Azure

From Azure portal, Click “New”, select “Compute”, select Windows Server 2012 R2 Datacenter and click create. Resource Manager is default deployment model and is recommended:

Move WordPress to Azure

In resulting “Create Virtual Machine” blade, provide required information starting with “Basics”. If you don’t have an existing Resource Group in selected Azure subscription, you will need to create one in the process. Also pay careful attention to location. You may want to locate it closest to majority of your readership.


Next, select the size for your VM. This should be based on your resource consumption requirements. For my personal blog that draws little over 90,000 unique visitors per year, DS1 Basic VM has been pretty snappy, and a bit of an overkill. I am also not using all the features such as load balancing and auto scale that come with DS1 Standard instance. Pick your VM size accordingly so you don’t incur more cost that you need to.

In most cases, you shouldn’t need to change most defaults but adjust them as necessary. By default, you will be assigned dynamic public IP address. For production web site, you may want to select static public IP address instead. Also, by default, only TCP port 3389 is allowed. Create a rule to allow TCP port 80 (and 443 if https/SSL use is planned).

wordpress deployment

wordpress deployment 3

You can monitor progress of VM creation from dashboard:

wordpress deployment 4

Proceed to next step after VM creation is complete.

Bhargav Shukla
Bhargav Shukla

As Director of Technology for Strategic Alliances at KEMP Technologies, Bhargav anticipates technological changes and trends, creates technical architecture and drives strategic direction of KEMP products. Prior to KEMP Bhargav worked for Microsoft, helping enterprise customer on challenging and large (100K+ seats) deployments of Unified Messaging products - Microsoft Exchange and Microsoft Lync. Bhargav is one of very few people in the world to hold the prestigious dual Microsoft Certified Master certification for Microsoft Exchange 2010 and Lync 2010. Bhargav's deep experience in enterprise technologies and Microsoft platforms has enabled him to serve on the board of Microsoft Certified Architects for Exchange 2010, one of the trainer for Exchange and Lync MCSM programs, the Judges Panel for PowerShell scripting games and to speak at TechEd 2011, TechEd 2012 and other public events. In 17 years of IT experience, Bhargav has worked on multitude of technologies including Messaging, Directory Services, Information Security, Virtualization among others.