16-year blogging journey: author shifts to new platform

I've been blogging for 16 years and have used three open source engines to implement my site. Learn more about my experience after switching to Hugo.

I started this site and blogging as a personal journal almost exactly 16 years ago today, in September 2003. Over the last 16 years, I’ve used three different open source engines to implement the site, starting with .Text, it’s successor SubText and then moved to Orchard CMS in 2013. Orchard served me well for the last six years, but after much consideration, I’ve made yet another re-platforming move.

The site you’re reading right now is on the new platform!

Relaunching as a Static Site

All three engines in the past were dynamic, in the sense the codebase was ASP.NET and they were all driven by a Microsoft SQL Server database. The last rollout as much cloud oriented as I could get where the site codebase was an Azure Web App, the database was an Azure SQL Server Database and all media files were in Azure Storage Blobs.

But over time, I realized I didn’t need this dynamic nature. My site is entirely all content and anything that was dynamic could be implemented all client-side. So I didn’t need server-side processing. Static sites were becoming more the rage with engines like Jekyll which GitHub Pages uses and many others.

At the start of 2018, I looked at the various options out there and found one that was growing in popularity: Hugo. The more I looked, the more I liked!

Hugo

Hugo

Hugo is written in Go but you don’t need to know it. Armed with a powerful templating syntax, you write your content in markdown files, run the hugo command and it generates a 100% static site consisting of HTML and media files, nothing more!

This makes hosting the site not only a breeze, but insanely fast. I don’t need the power of a web server anymore, now I host the site using the Azure Storage Blob capability of Static Websites. With this, you create a special container $web in the storage account, enable static sites, and Azure just serves up HTTP GET requests on port 80 & 443 via a URL they map to.

One of the best parts about this whole set up is there is nothing dynamic to break. There are things out of my control, like a DNS resolution issue, an Azure network our storage outage, but I no longer have to deal with a slow web app or SQL database that’s come to a crawl. And, unlike before when I was working with .Text, SubText and Orchard CMS, it’s a piece of cake to preview the site locally on my laptop before I publish it for the world to see.

That’s Hugo sites, built & hosted on Azure static sites in a nutshell. I’ll have additional Hugo-related posts I plan to write in the future that you can view from the Hugo tag summary page, so stay tuned for more details. I’m looking forward to share how the migration went, how I’ve implemented automated builds & deployments using Azure DevOps, performance optimizations and more!

See Something? Say Something! PLEASE!

Moving 16 years of content was no trivial task, especially when this is my 4th platform in as many years. Each platform had it’s own URL structure and I take great care to keep URLs from changing, or at least utilize HTTP 301’s & 302’s to preserve my search rankings.

In addition, over the 16 years I’ve stored referenced assets (images, downloads & other media) in multiple places. From on the site to Skydrive, Live.com, Dropbox, Flickr, Imgur… you name it. There’s also the mix of content written in HTML vs markdown, different ways of publishing code references… you name it.

With this update, I’ve taken the time to take full inventory of what I have. I have a list of things (images, downloads, URLs) I reference that are no longer active and for those media I do reference off my site, I’ve downloaded copies of those things. I’m in the process of consolidating everything under one roof, this site, but that will take time. The big things are fixed, but it will take time to get everything sorted. It’s just easier to do now that the site is up and running on the new infrastructure & platform.

But in the meantime if you see something that doesn’t look right… anything like:

  • spelling errors
  • broken links (to sites, images or downloads)
  • malformed pages
  • malformed code references

Or anything else that looks odd… please let me know! I’ve set up a GitHub repo with an issue list that you can use to submit an issue to me. I’d really appreciate it and you’ll be able to quickly see when things get fixed. I’ve shared this link on every page on the site (the yellow call-out box in the upper right) to make it easy. The more you can share (page, what’s wrong, screenshots, browser used, etc), the more helpful it is! Thanks!

Andrew Connell
Developer & Chief Course Artisan, Voitanos LLC. | Microsoft MVP
Written by Andrew Connell

Andrew Connell is a full stack developer who focuses on Microsoft Azure & Microsoft 365. He’s a 20+ year recipient of Microsoft’s MVP award and has helped thousands of developers through the various courses he’s authored & taught. Andrew’s mission is to help web developers become experts in the Microsoft 365 ecosystem, so they can become irreplaceable in their organization.

Share & Comment