Moving WordPress blog to Azure from Webio hosting

Microsoft Azure

I decided to move my blog from hosting on Webio.pl to Microsoft Azure (formerly Windows Azure before March, 25th 2014). Why? To get more familiar with the Cloud and especially Azure.

I did my migration following Dave Bost’s series Moving a WordPress Blog to Windows Azure:

However, not everything went smoothly and easy. Additionally, I adjusted some steps to my needs/settings/plugins/hosting(Webio).

Small adjustments

Instead of connecting through FTP to copy content (uploads/themes/plugins), I used UpdraftPlus plugin. Moreover, I am using it for weekly backups all the time. It is really nice, especially the cloud backup option, which allows me to put backup files into my Dropbox automatically.

To export my database I used phpMyAdmin provided by Webio. As Portable phpMyAdmin plugin is no longer available, I took advantage of Adminer plugin to import database on Azure. Another option is to install phpMyAdmin on Azure.

I am using iTheme2 template, which allows to export customized settings (iTheme2/import tab). After migration, you can easily import it going to the same place.

I had bunch of themes installed. I was testing/experimenting with them when I started my blog. It took me a while to find a way to remove installed theme. You need to go to Appearance/Themes, click on theme you want to remove and then click delete button in right, bottom corner. I deleted all themes, but my current one (iTheme2) and Twenty-* themes.

WordPress - Delete theme

Webio specific

Specific for any hosting provider is setting the custom domain. In order to do that on Webio, you need to go to Domains/Edit DNS entries (in polish: Domeny/Edytuj wpisy w strefie DNS tej domeny). In the image below, there are DNS entries for my domain. Only highlighted entries matters for redirecting domain to Azure:

Webio DNS settings

When you add domain entries in Azure you need to add www.* entry separately (in my case: jj09.net and www.jj09.net). More details can be found here.

Azure - manage custom domains

Remember to create/update web.config file, in order to make your custom domain and permalinks (if you use them) working correctly (as mentioned in part 5 of Dave Bost’s tutorial):

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
	<system.webServer>
		<rewrite>
			<rules>
				<rule name="Main Rule" stopProcessing="true">
					<match url=".*"/>
					<conditions logicalGrouping="MatchAll">
						<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
						<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
					</conditions>
					<action type="Rewrite" url="index.php"/>
				</rule>
			</rules>
		</rewrite>
	</system.webServer>
</configuration>

Issues

When I was trying to set SMTP server to my gmail I received following email from Google, after try to send test email:

Google hijack warning

After following steps in provided link, the issue was fixed. There is one interesting thing: I set region for my website to WestUS. However, Google says: “Location: Spain”. Hmm…

Another issue I had was getting 404 error on .woff file (Crayon Syntax Highlighter plugin font file). I solved it, by modifying web.config file as described here.

I had also problem with Tweet, Like, Google +1 and Share plugin. It dosn’t display buttons on home page. I tried some tricks (deactivate, re-install) to solve it, but I didn’t succeed.

Pricing

For hosting on Webio.pl I was paying around $20/year (start plan). On Azure, I will need to pay at least $10/month for shared instance (required to have domain jj09.net), which is $120/year. 6x more expensive! Am I crazy? No. As I stated at the beginning, I want to play with Azure. When I decide I am done with that, I can always go back to Webio.pl or some other hosting.

After one week, my estimated bill is  2,07 €.