
New Blog, from WordPress to Hugo + Azure Static Web App [ENG]
After long period of inactivity (motivated as well by the time I needed to keep WordPress alive, that I could have invested on publishing something) I finally decided to move away from WordPress as the content manager, that I’ve been using for the last 10 years on this site. There are many reasons for that move, WP is certainly easy to use and that’s its best benefit, but it’s also complicated to host and maintain, there is a lot of malware targeting it (due to its massive presence on the web) and it’s heavily dependent on third party plugins.
This is a humble personal blog so I don’t need any of that anymore. I just want my content to be available, perdurable and loading as fast as possible, and that’s not something WP can provide, so I switched paradigms to move to a static site created with Hugo and hosted in an Azure Static Web App and, best of all, with all the source and images backed up on a (private) GitHub repository.
Hugo
I will not lie, migrating WP content to Hugo format is quite easy with the tools described on the links below, but it takes significant time to migrate all the previous content (blog posts from 2009 and a whole lot of images) to the new markup format, and I’m still working on the oldest posts (bear with me while I keep polishing links, tags and things like that). There is still stuff to fix (like multi-language support), but all in all I’m quite happy with the results and I think the effort have been worth.
Hugo has some Pros:
- Super fast!
- Native multi-language (still working to make it work as I want)
- I can use Visual Studio Code as content editor! :)
- Allows blog post series (via taxonomies)
- Allows aliases (so I can redirect old content to the new Hugo URL structure)
- Allows multiple taxonomies, what I will use in the future to improve navigation. For example:
- Post splits by language
- Post related to events (in person or remote)
- Post first published on my Microsoft team’s blog (formerly AX in the Field, now in the Dynamics Community)
- I reviewed all these posts now as the original content in the Microsoft site was lost and many links were broken. Take a look and tell me if you find something weird. I will try to keep them updated here.
- Post that can be read as a longest series

Hugo also has some Cons:
- As it’s a static site, no search engine (here is why I want to improve post’s tags and taxonomies to navigate old content)
- No comments. I don’t really care as there were only a few comments in WordPress. If you have any comment or suggestion, just reach me in my social channels. Links on the left side of this page :)
- It’s not the most beautiful looking site in the world, but I prefer it working without issue than being pretty.
Migration - the techie stuff
The technical transition has been really fun, I’ve learnt a lot during the process and this alone makes the effort worth the time invested.
- All blog content (posts, metadata, images, …) is stored on a private GitHub repository. Safe and secured forever, hopefully.
- I’m using the Anatole theme for Hugo. First time I could do some small contributions to open-source projects in Git Hub, it has been a great learning!
- The migration itself was inspired in these two posts, thanks to the original authors!
- https://crmchap.co.uk/ive-thrown-away-my-wordpress-site-heres-why/
- https://littlekendra.com/2021/05/03/moving-from-wordpress-to-an-azure-static-site-with-hugo/#overview-of-my-static-site-setup
- This small tool here is what saves you all the time: https://github.com/lonekorean/wordpress-export-to-markdown
- Creating the Static Web App is straightforward, and more importantly, it’s free (there are limits, but good enough for this blog).
- I created a GitHub Action that reads blog code from GitHub repo, builds the Hugo site, and deploy to the Azure Static Web App. All in once, in less than 2 minutes. After every code push. How awesome is that?
- Perfectly documented here, super easy to start. Then you can tune the action afterwards.

And that’s all friends!
As an extra, while I was navigating quite old content to migrate markup and stuff, I discovered forbidden gems that I think would be fun to review with today’s eyes, like:
- How was this blog last time I ‘migrated’ it (2015)
- We were talking about Power Apps in 2016 already!
- When Finance and Operations gained its name (2016)
- Remember when we used to call it AX7? (2015)
Fresh new content on its way, stay tuned :)