For my recent marketplace project, Lunchy, I had the need to develop a corporate blog site (Lunchy Blog) in order to house content to support my lunch makers. I intended the site to become a repository of recipes, hints and tips for makers, and relevant news related to schools and nutrition.
I had a lot of other development work to oversee at the time, so I needed a site setup that would be “set it and forget it”. I also didn’t anticipate that the site would directly generate revenue and, being a startup, I needed to keep recurring costs down to a minimum. I wanted it to look professional, with the ability to customize the site easily in future.
Deciding on Hugo
After reviewing many options including, of course, WordPress, I settled on Hugo. Hugo is what is known as a “static site generator”. This is in contrast to, say, Wordpress where content is served from a database. With Hugo (and other siimilar generators), after content is updated, the site is rebuilt and then published as a collection of static pages leading to far better speed and performance. And by removing database calls, it also improves security. These gains can be very significant, especially once traffic increases. It would also be much cheaper than WordPress on a recurring monthly basis.
The content is stored in the form of markdown files (.md). With some level of coding comfort, the blog can be easily maintained and new content added by directly working with the source files, but because I didn’t want to be dealing with a new learning curve at the time, I decided to have my dev team hook it up with Netlify CMS. Netlify CMS (not to be confused with the Netlify, the hosting service company, which created it) is an open-source content management system that plays very nicely with Hugo. It allows you to use an online editorial workflow to easily create and manage content.
In terms of hosting, if you decide to use Netlify CMS, the easiest way to host is likely with Netlify since that is the setup most of the documentation is geared towards. But since I was already heavily into the AWS ecosystem, we decided to go with AWS Amplify to build and deploy the site. Although this involved a bit of authentication wrangling, once it was set up, the workflow is very elegant.
Thoughts So Far
Although the [Lunchy blog] is not currently active due to the COVID-19 shutdown of schools, I enjoyed the process of setting it up and working with it so much that I have since created a few other blogs (including this one!) using Hugo as well. I elected not to use Netlify CMS for this site which simplified the setup a fair bit, though I might be end up integrating it in later. But for now, I’m happy to add my content locally and pull the changes into my github repository. From there, AWS Amplify automatically detects changes and builds the new site without any downtime at all. And if an error occurs, the previous version stays live with no disruption whatsoever. Given the active developer community and large number of free templates, I have become a convert to Hugo for my static site needs.
I would be happy to speak to you about spinning up a Hugo blog in more detail. Please contact me.