I’ve maintained a website for nearly fifteen years. These sites started as slow WordPress blogs on shared servers and progressed over the years to managed solutions like Squarespace. I don’t update my site often, and never loved the idea of paying for dynamic websites that relied on relational databases to serve something that receives as little traffic, and changes as infrequently as my personal site.
I briefly experimented with a simple static HTML site, but found the site didn’t perform as well due to the lack of image optimization and dynamic loading. As I’m not a web developer by trade, my designs always suffered from optimization and performance limitations. I hosted the site on GitHub Pages, and felt that, performance withstanding, the static site was the best solution for my purposes.
For this site, and my other personal site, I’ve landed on Gatsby as my preferred static site generating engine. Gatsby, and others like it, create sites optimized for speed, backed by GraphQL to dynamically load the static content. This creates a blazing fast website that costs nearly nothing to maintain. The communities that have emmerged around these frameworks have also provided a way to learn, and a quick on ramp through templates designed by professionals.
While experimenting with a few different static site generators, I’ve observed a number of very real advantages to running a static site for personal use.
As you can probably tell, I’m passionate about this shift to static sites. I’ve experienced the performance improvements while seeing my operation and maintenance costs plummet. Coupled with new frameworks that optimize the static assets for hyper fast distribution, and an ecosystem of build pipelines and there’s never been a better time to get started. Here’s what I’d recommend.
And with that, you’re up and running. There’s a bit of work to get it going, but once configured your static site will live on with little required maintenance from you. When you want to update the site, simply update the source code, run the framework’s CLI to test the changes, and push the new code to your repo. The build pipeline will take it from there.
In closing, for most personal sites with infrequent updates, static sites provide a relatively inexpensive and performant option. These sites are happy to run for years with little maintenance, and the portability provides an easy option for moving if prices changes. Finally, the lack of a server to secure reduces the attack vector, preventing your personal brand from being dragged through the mud by some script kiddy. In my limited time running static sites on serverless infrastructure, I’ve been blown away by the performance and have had a blast learning this new generation of frameworks and tools.