Moving WordPress to a subsite in Azure Websites

Deploying WordPress in Azure is relatively straightforward.  Deploy a Resource Group, with a DB, and a Web Server using the WordPress template and bob is your fathers brother.

However, I wanted to move WP to a subdomain which all in all should be pretty straight forward. All the instructions online are out of date or for different systems though, so I wanted to note what I had to set to get it all working.

General Steps are:

1) Deploy your WordPress site.

2) Go into the WP site and perform the configuration to get it running bare-bones

3) Go back into the Azure Portal and find the FTP configuration

4) Log into the Website with the FTP credentials (I used WinSCP)

5) Copy the entire WordPress site to your local machine

6) Delete everything from your site except for
I had a few problems deleting the wp-admin and wp-content folders – it kept blocking access, but went eventually.

7) Create the name of the subfolder you want to use (in my case /d/)

8) Copy the backup of your WordPress into the subfolder.

9) Edit the root web.config file.  Mine is setup to redirect all traffic to the /d/ folder.  You many a different setup, but this is mine:
<?xml version=”1.0″ encoding=”utf-8″?>
            <rule name=”Root Hit Redirect” stopProcessing=”true”>
                <match url=”^$” />
                <action type=”Redirect” url=”/d/” />

 10) Edit the root index.php file and change the require
require( dirname( __FILE__ ) . ‘wp-blog-header.php’ );
to include the sub folder you want to use.
require( dirname( __FILE__ ) . ‘/d/wp-blog-header.php’ );

11) Azure WordPress seems to ignore the SQL database setting for the site and home name.  Therefore this must be hardcoded in the wp-config.php file.
Replace the existing paths BELOW the Stop Editing Line! as follows.

define(‘WP_CONTENT_URL’, ‘’);

I also had to define the WP_CONTENT_URL string as my Salient theme wasn’t picking up the subpath for some reason, so I hard coded it.

12) The only thing you may have to do is edit the subfolders web.config file.   I was having loads of errors, until I deleted it, then it magically started working.  However, it does seem to have been replaced with an empty web.config file, so its contents are here:
<?xml version=”1.0″ encoding=”UTF-8″?>


I think that was about it, but it was quite the pain to get it configured.  Nb, if you change the website name or add a custom domain, don’t forget you’ll have to change the wp-config.php with the new domain name as Azure won’t do this for you automatically.

I’m also not sure how things will go when there is a new version available, but hopefully this will get you going.

Azure Self-Signed Cert

I’ve been messing around with some of the Azure services, and am about to try some of the desktop utilities such as the Hyper-V converter to try publishing services.  One thing you’ll come across if you’re trying to do this is the need to create a self-signed management certificate to allow these apps to authenticate, and you’ll see all the technet articles mention the makecert.exe tool.

The problem is that makecert is bundled into the Windows 8.1 SDK and Visual Studio 2013 Express downloads, both of which are several hundred megabytes – overkill for what we need.

Well, the easy way to get makecert and only use about 9mb of storage space – download the 8.1 SDK installer from  and run the installer.  When prompted to select the tools, you only need to install the MSI Tools.  This gives you makecert (as well as a few other bits and bobs) but in a much more compact format than having all of the developer tools installed.