Not really being a CMS expert, I thought I would use a CMS for all my websites in order to speed up creation and maintenance of them. I needed one which was in use by many people, who had already had the teething troubles I didn’t need. They had spent time in potty training the application so it does what it should and doesn’t take big whizz all over the floor, leaving me with a messy puddle of a website to sort out.
And the winner is…
Love it or hate it, WordPress holds the record in this with approx 62% of the CMS market share. Like it or hate it, this is a massive market share with an estimated 33 million websites powered by this free application. This is not some new kid on the block who’s reputation is unknown, it’s a tried, tested, hardened application released in 2003, which makes this application a pensioner in computing terms.
Having these stats is impressive (if not mind blowing). It proves that WordPress is popular, stable, runs on the operating system I am using and it’s well supported. This is key for me as when I need help or answers to things I don’t want to spend hours searching for one particular phrase on someone’s blog (or even worse, not finding a solution).
And so comes the learning.
So I spent months learning WordPress, watching videos and taking online lessons using various learning platforms. I then spent time setting up various instances (and breaking them and having to start from scratch) for websites I have.
And the configuration
Once setup, I spent more time configuring them (and breaking them again) and then adding themes and amending them to make them look like I want them to look. Then deciding the theme is not quite right and starting again on this stage.
Then I find out I need plugins to optimise the site, secure it from attack, make it search engine friendly, speed it up, add analytics and insights, make it easier to edit and many, and many other features which don’t come out of the box with WordPress.
So by this point, 6 months later, I now have a website which I can be proud of. It’s fast, optimised, secure and I am enjoying life. But that’s when the problems started.
That’s when the cracks started to appear
Like when you give your phone number / email address to one less than reputable retail outlet and they start calling and emailing you informing you about their latest offers. Once you tell them you are not interested they stop, but that’s when their other retail friends start calling, emailing you. Asking you to buy a new toaster, washing machine, conservatory. Once you bat one of these off, another one is close behind it.
This is what happened with WordPress and the plugins sending me emails and alerts that a things need updating, something is out of date and needs to be addressed urgently.
I got to the point where I was spending more time updating than I was utilising the website, with emails arriving in my inbox 4 or 5 per day (multiplied by the number of sites I maintain). Once I had completed updating one site, I move onto the next one, and the next, and so on until all the emails are cleared down. Then another batch of emails arrive.
Coupled with the emails being received that some nice person in some country I could not pinpoint on a globe was trying to access my admin page, I had to then make changes to hide the admin page, add additional security, etc.
Time for a new job?
This became a full time job in itself, and one which I never signed up too. I wanted to create, share knowledge and enjoy creating a site, not fight against it and constantly push against the site to make it do what it should be doing.
At one point I even considered shutting down the site(s) and binning them off.
Tempus Fugit
Time is a precious commodity, even more so in computing terms as things change that quickly that technology can become obsolete or take a massive downturn almost overnight:
- Maps replaced by Satellite Navigation
- MP3 players replaced by streaming services
- Floppy disks replaced with USB drives (which were subsequently replaced by online storage).
So to spend the majority of your time as a full time administrator, and part time content editor, is not something which can be considered as a viable solution.
It’s time for a change.
And here comes the solution.
Whilst going through one of my tech article sites, I came across an article on a product called Jekyll, a Static Site Generator (SSG) written in ruby, which compiles markdown to HTML. So I started looking into SSGs.
That’s when I came across Hugo, another open source SSG which is simple, fast, flexible,modern and very powerful.
The premise behind the SSG is it compiles the markdown and HTML into static HTML files, which means:
- No more updates to maintain - HTML 5 is the current standard and will remain so for some time.
- No back-end to secure - There is no database or log-in, so there is no need to secure anything here. This also means there is nothing for hackers to attack.
- Blog aware - WordPress is not the easiest to convert to a blog, Hugo is a blog first solution.
- Fast - as it’s pure HTML. CSS and JavaScript there is no need to cache or optimise on things on the fly.
Why is this a solution
Let me start by explaining the structure behind WordPress compared to Hugo
WordPress
Hugo
As the Operating System and Web Server (Lets assume I am using Nginx) are the same on both Hugo and WordPress, then I can discount these as having any additional overhead as either I, or my hosting provider, need to maintain these.
So I now need to configure, maintain and operate the following on WordPress:
- WordPress itself needs installing, configuring and then routine updates and securing from unauthorised access.
- Plugins need to be installed, configured (and sometimes paid for) and then routine updates applied.
- PHP (the language which runs WordPress) has updates and patches which need to be applied.
- Database (as WordPress stores everything in a database) needs installing, configuring and securing. Then patches and updates and need to be applied at regular intervals.
- Templates are used to render the site and are updated frequently by the author, which needs updating.
As for Hugo:
- Nothing, there is only the HTML, CSS, JS and images which I would be authoring anyway on WordPress. So there is no additional overhead here.
From my 20+ years as a Software Engineering professional, there are 2 premises which I think of in this instance:
- Adding more code adds more chances for bugs and allows for another attack vector which someone could use to compromise the system.
- The more security needed in a system, results in a system which has more chance of being compromised when security is lax.
The more that goes into making a system, the more chance for something to go wrong.
So removing all of the redundancy has made the site more secure and all I need to do is concentrate on content authoring and not all the other bloat that goes along with WordPress.
Benefits
A few of the benefits of moving to Hugo include;
Speed and Performance
WordPress relies heavily on a database and PHP language to generate pages dynamically. This can slow down your website, especially under heavy loads. In contrast, Hugo generates static HTML files which are stored disk on load almost instantly. With no database queries or back-end processing, your website becomes significantly faster, leading to a better user experience and improved SEO rankings.
Security Advantages
With WordPress being the most popular CMS, it has made itself a target for hackers due to its reliance on plugins and a database. Security vulnerabilities arise from outdated plugins, themes, and can be performed via brute force attacks on the administration login page. Hugo eliminates these risks since it doesn’t require a database or back-end scripts to run. With Hugo, your site is simply a collection of static files, making it virtually immune to common security threats.
Lower Maintenance and Simplicity
Running a WordPress site requires frequent updates, backups of the site and database, and plugin management. A single plugin conflict can break your site. Hugo is much simpler to maintain, since it generates static pages there’s no need to worry about plugin updates, database crashes, or ongoing maintenance tasks.
Scalability
If your website generates more traffic, WordPress requires additional resources like caching solutions, optimised databases, and server scaling to compensate for the increased load. Hugo, being a static site, can handle massive amounts of traffic effortlessly. You can host it on a CDN (Content Delivery Network) like Netlify, Vercel or GitHub Pages for almost zero cost and high scalability.
Cost Efficiency
WordPress sites often require hosting plans with PHP and database support, which can become expensive over time. Additionally, premium plugins and themes add to the cost. With Hugo, you can host your site for free or at a minimal cost on platforms like GitHub Pages or Cloudflare Pages, drastically reducing your expenses.
Better Developer Experience
For those comfortable with Markdown and Git, Hugo offers a streamlined, developer-focused workflow. Unlike WordPress, which relies on a web-based editor, Hugo lets you write content in Markdown using any editor you like, and manage your site through a version control system like Git. This enables a more structured and collaborative approach to content creation.
Offline Editing and Version Control
With WordPress, you need internet access to make updates through the admin panel. Hugo allows you to write and edit content offline using Markdown files, track changes with Git, and deploy updates whenever you are back online.
Customisation and Flexibility
While WordPress provides themes and plugins, they can sometimes be restrictive. Hugo gives developers more flexibility to create custom themes, layouts, and structures without relying on third-party plugins. This makes it easier to build a lightweight, optimised website tailored to your exact needs.
Closing words
Moving to Hugo has made me more productive, allowing me to focus on the content and not the administration of the system. It has made the system faster and more secure and works well with my workflow.
My advice here would be give it a try you might be surprised at it’s ease of use and switch. What have you got to lose?