About Talks Articles

Migration: From WordPress to Hugo

2 min read

After using Blogger and WordPress for 5 years each, it is time for something new. I am migrating this blog to a new space,, with the primary objective of delivering it as fast as possible.

In the context of a fast transport of a web site, the use of a content delivery network (CDN) is inevitable. This is the reason I rely on Firebase Hosting to build and deploy this new blog. Thanks to its CDN integration (it seems that Firebase is using Fastly), most requests are served from the closest CDN edge servers. Often times, this results in an unbelievable, lightning-fast delivery (checked with Pingdom, excluding the time for SSL handshake).


To have a full control over the site, I decided to move away from a CMS (in this case, WordPress) to a static web site generated using Hugo, a blazing-fast static site generator. Each post is a Markdown file, exported from WordPress. Even with over 750 posts, the site poses no difficulties at all to Hugo as it can generate all HTML files in just 2 seconds.

There are two features lost in this migration: e-mail subscription and related posts. For the former, I am evaluating a third-party subscription service and I am confident that this feature will come back again soon. In the mean time, if you get notified of a new post in this blog via e-mail, please also check the site,, from time to time. For displaying related posts, I am also convinced that a rather sophisticated Hugo template, once I know how to leverage its full potential, would be able to do the job as well.

I have never been a fan of WordPress site search. With the migration, I have the chance to replace it with DuckDuckGo search box. You will spot the search box on the landing page and the custom 404 page.

A selling point of WordPress is its web-based editing. Not wanting to lose this feature, I use a private git repository on GitLab to store the new content. That means, creating a new post using a web browser is still entirely possible thanks to GitLab web editor. To deploy the site, the build workflow with Firebase is implemented using GitLab CI pipeline. Overall, this new approach is more robust and still quite flexible.

An advantage of Firebase: it is trivial to enable SSL, both for practicing SSL everywhere and to prepare for HTTP/2. Update: After Firebase enabled it, this site is also supporting HTTP/2.

Enjoy the all new!

Related posts:

♡ this article? Explore more articles and follow me Twitter.

Share this on Twitter Facebook