I have finally decided to move from a blog dynamically generated by WordPress to a blog generated statically from Markdown files with Hugo.
The main factor has been speed. The generation of pages via PHP requires time, also when the cache is enabled. Plus, the content of my blog does not change often.
Here is the performance of the old home page with a cold cache:
And with a hot cache:
While the new static site:
Performance reports generated with Lighthouse.
Another reason is the style. The blog was created 9 years ago with a style that was prevalent in that period, time to refresh and modernize it.
The new blog is generated with Hugo, a static site generator written in Go.
Hugo takes the posts written in Markdown and generates the HTML pages of your site. It creates the multi-page list of posts, the site map, the robots file etc. It also converts the images in multiple formats and sizes to have a responsive site.
The blog theme is PaperMod with sligh modifications.
The blog source project is hosted in a private repository in GitHub. When I push a new commit a workflow Action checkouts the code (Checkout), builds it with Hugo (GitHub Actions for Hugo), and copies everything on my website (FTP Deploy).
I have exported the articles from WordPress as a single XML file with the WordPress export tool. I have converted the articles in markdown with wordpress-export-to-markdown with some modifications to the translations rule to support the different code block styles in my old blog.