My Experience of Migrating blog from Blogger to WordPress on Azure

You may have noticed the new look of my blog with a bit difference in URLs, as I have migrated from Blogger to WordPress that is hosted on IIS deployed on Microsoft Windows Azure.


  • Migrate all posts from Blogger to WordPress
  • Don’t end up with broken links for blog posts
  • New home page, simple and improved responsive layout
  • Update DNS settings to set to new site

Migrating Earlier Blog Posts

After creating a new WordPress site from Websites gallery in Windows Azure Portal, migrating earlier posts was very easy and straight forward, a tool comes out of box with WordPress, just utilize the tools to import blogger post and comments on WordPress

There is a great tutorial on how to create a WordPress website on Azure in few clicks

Dealing with Broken Links

First, I wanted to move all my blog post with URL like {domain}/blog/{year}/{month}/{title} which is not really default in WordPress, however you can set it under Settings -> Permalinks. The thing I was worried about is that earlier my URL were of scheme {domain}/{year}/{month}/{title}.html and I don’t want to break any URL previously linked blog post. So for this I need to create a custom structure under Permalinks.

However, after setting custom structure, you would end up in URL like:

To kick out index.php, you need to do some URL rewriting in your web.config, if hosted on IIS. This is pretty much explained in an article “Enabling Pretty Permalinks in WordPress“. Also refer to gist, code snippet, below containing “Main Rule”.

Second, blogger has convention of url scheme ending with .html. I want to get rid of .html but at the same time if I don’t want to break any previous linked blog post. For instance, a blog post link

should take me to new URL

Restoring NuGet Packages for External Dependencies

Therefore I have to add another rewrite rule. “Remove html” rule demonstrates the same in gist below:

<?xml version="1.0" encoding="UTF-8"?>
<rule name="Remove html" stopProcessing="true">
<match url="(.*).html$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<action type="Redirect" redirectType="Permanent" url="{R:1}" />
<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"/>
<action type="Rewrite" url="index.php"/>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
<action type="Rewrite" url="index.php"/>

view raw
hosted with ❤ by GitHub

It took a little time to figure this out but I believe that was the most important thing. Another thing I want to preserve was social media interaction like Facebook Likes, Tweeted etc. But that is something I was not able to achieve that as such they don’t work on redirection… however what matter most was done.

Home Page and Improved Layout

Previously my home page was merely list of posts, I wanted to add a new home page with a good snapshot of everything like recent blog post, recent talks etc… and that was one of the reason I went for a separate /blog link setting. WordPress and a custom theme gives me flexibility of adding a static page with as home page. I would like to dive deep into the PHP thing to make most of it, but that’s a thing to do later.

DNS Settings

Well that was a bit tricky for me. For DNS settings, first you need to set A (Host) and CNAME (Alias) with Host @ pointing to your IP of server on Azure.

You can find the IP of your server in “Manage Domain” under “Configure” section of your Web site on Windows Azure Management Portal

Second, you need to add CNAME entries to awverify.{website_name} as screenshot depicts below:

Then all you have to do is to add your domain name in “Manage Domain” section

and that’s it. I am done! Enjoy reading my new blog and feel free to provide any feedback. If you are already hosting your blog/site somewhere else, try hosting it on Azure, it has it’s own benefits.

New Employer, New Country, Another Change

Though 2012 proved to be a year of change for me, I am ready to take another leap of relocating to new country to avail the opportunity to be part of Nintex product development team.

For those of you working on SharePoint server probably know about Nintex, their Nintex workflow is famous third party tool utilized in SharePoint to develop custom workflows easily.

Nintex Banner

Nintex is the world’s leading SharePoint workflow company, with over 5000 customers in 90 countries serviced by a global network of high quality partners and service providers. Nintex delivers innovative software and cloud services that empower organizations to automate business processes, quickly and easily. Read more about Nintex here.

I will be joining their Nintex Mobile team in Melbourne, Australia office.

I believe this would be an interesting move yet challenging since it involves relocation as well. Switching employer and relocating together is really shaking up your life, both personally and professionally. However Nintex is a kind of company I was looking to switch after Telenor, it’s a computer-software product based company, following agile practices, and in touch with latest tools/technology.

I truly hope to have a great time and get good exposure, learning and growth at Nintex, starting soon!

P.S. I have posted about leaving my previous employment in recent post “Thanks for the good time Telenor“.

Thanks for the good time Telenor

This post is a short note to say THANK YOU to my colleagues, now ex-colleagues, for the good time we had in last 4 years at Telenor Pakistan, as you might already know, dear reader, that I have just left Telenor Pakistan.
Overall I enjoyed working in Telenor and if I look back I see some good legacy of my contributions in Human Resource Management System, Payroll, Telcom Value Added Services, Mobile Apps etc. I learned a lot about software engineering in particularly web development and challenges of large enterprise.
Beside work, I am leaving with remarkable memories of fun time we had.
And I got plenty of opportunity to present in front of co-workers, at times forcefully 😉
I wish Telenor Pakistan a bright and successful time ahead.
So thank you to every single one of you who have worked with me and helped me throughout my time at Telenor Pakistan and special thanks to leaders around me who believed in my potential and have invested time/resources for providing me significant exposure, education and experience.
Please stay in touch, follow your dreams, do what you are passionate for, go for continuous improvement and above all enjoy your life!

P.S. I will talk about my next employer in upcoming post.