The Great Migration Back to Static HTML
I have been building, maintaining, and supporting Drupal websites for the last 15 years. I have applied hundreds of Drupal security updates for client websites and my own personal websites over that time, including both Drupalgeddons. Drupal 8 introduced the usage of Composer to manage Drupal’s files instead of Drush, or Drupal Console, due to it’s new dependency injection system. Drupal Core also now has a timed release schedule which forces updates for minor versions as previous releases now. These changes add a ton of additional overhead to keeping smaller Drupal websites secure. This is not as much of an issue with large organizations with development teams and CI/CD infrastrure in place to test changes, but running a personal website with Drupal is not how it used to be.
I used to be able to run a few drush commands and I could update each of my sites in a matter of minutes. I also did not have to worry about updating a site unless there was an actua security update for Core or a Contrib module. Now that the release cycle is forced, there are constantly updates to the codebase that can break functionality due to I have since been migrating all my personal websites off of Drupal for Jamstack static site generators like Hugo and Jekyll to reduce the overhead of maintaining them. Today that process is one step closer to finally being completed, as my site now runs on Hugo.
The ultimate goal with this migration has been to reduce the additional overhead and required hardware resources for maintaining Drupal websites outside of work. I just do not make enough content updates to most of my personal websites to justify the additional overhead that Drupal 8 and 9 require for local development and hosting.
A Jamstack site provides an extra level of security to your website compared to Drupal, or any MySQL+PHP CMS, as they don’t actually run either PHP or MySQL, which is usually the main attack vector for a Drupal website. I have tried several different Jamstack projects, but Hugo and Jekyll are the ones that I prefer.
Ultimately I think Hugo is the better solution as it generates the static site in a fraction of the time that Jeyll does, so I will be moving all the sites I migrated to Jekyll to Hugo in the near future.