I have a new website

Web Master Justin

This website turned ten this year. I've been writing on justinjackson.ca since 2008.

For all those years, I've used WordPress. But, recently I decided to switch to a new CMS.

I had three main objectives for the move:

  1. Make my blog posts easier to backup and retrieve.
  2. Make my website faster.
  3. Decrease my hosting costs.

For example, by saving my blog posts as text files, or even static HTML, it makes them easier to backup. I can keep copies locally, in Dropbox, and on GitHub. You can't do that (easily) with a WordPress database.

Sidenote. This will sound morbid, but I've also been asking "What's going to happen to this site when I die?"

At the very least my family might want a backup of my writing. I'd rather not have to leave them a letter that says: "Upon my death, please use phpMyAdmin to view my post data."

The other advantage of switching from WordPress is speed. A site that doesn't need to query a database can, generally, load content a lot faster.

Related, if you have a high-traffic website, hosting on WordPress can be expensive. Since 2012, this site has cost me $8567 to host (an average of $116 per month). If you want performance, security, and stability on WordPress, it's going to cost you.

My friends Paul Jarvis and Jarrod Drysdale recently switched away from managed hosting to Digital Ocean. Paul figures he's saving ~$3,000 a year.

To summarize, switching from a database-driven CMS should make my site faster and cheaper to host. The other significant benefit is my content will be more accessible for the future.

Evaluating my options

Broadly, there are two types of content management systems that don't rely on a database:

  1. Static site generators
  2. Flat-file CMSes

Static site generators

Tools like Jekyll, Hugo, WP2Static, and Gatsby will generate static HTML files from your content. You can upload these files to any server.

The big downside is that tools like Jekyll are command-line driven. You also have to render and deploy everything at once, which can slow down updates.

Flat-file CMSes

CMSes like Statamic, PulseCMS, and Kirby store your content in text-files (usually markdown based). They don't need a database to render content.

They also feature a web-based interface. You'll get an admin panel, WYSIWYG editor, and the ability to add blog posts.

Why I went with Statamic

One of my objectives this year is to learn more programming.

A few years ago, Adam Wathan introduced me to Taylor Otwell. He'd created a "Rails-like" framework for PHP called Laravel.

Taylor asked me to speak at Laracon 2017 in NYC. Instantly, it felt like something special was going on. I'd never experienced a technical community like this. Folks were passionate, excited to make stuff, and welcoming.

Adam Wathan, Justin Jackson, Jason Friend, and Taylor Otwell in a room backstage at Laracon 2018 in Chicaco.

That year I met Jack McDade. He gave a talk about deep work with slides full of 80s nostalgia, neon, and humor. He felt like a kindred spirit.

I got invited back to MC Laracon 2018, and I asked Jack about what he was working on. "A CMS built on Laravel called Statamic," he said.

After Laracon I was more inspired than ever to improve my programming chops, so I started going live on Twitch every week.

One of the first things I tried to do was install Statamic. Jack showed up in the chat, and on Skype, to help me out.

Just for fun, Jack did a livestream where he rebuilt my brutalist WordPress theme in Statamic.

We started throwing around the idea of doing a redesign of my site and launching it on Statamic.

Jack has been incredible. He took my ideas, ran with them, and produced something even better than what was in my head.

My whole experience developing this site shows the power of community. At every step, folks have shown up to help me; whether it's been deploying to Digital Ocean using Forge, helping me with NGINX settings, or telling me how to quit VIM over the phone (true story).

This is why I chose Statamic for my CMS, and why I'm doubling down on Laravel for my personal projects.

I've always been just as interested in "the people behind the screens" as I am with technology.

When I wrote "This is a web page" the core idea was about connection:

You and I have been able to connect because I wrote this and you're reading it. That's the web. Despite our different locations, devices, and time-zones we can connect here, on a simple HTML page.

Folks from all over the world helped me launch this new site:

This is the beauty of the web. It brings people together.

And on the 10th anniversary of this site, I'm hoping to do that for many more years.

Thanks for reading!
Justin Jackson
@mijiustin

Published on October 26th, 2018
Home About Articles Newsletter MegaMaker
Powered by Statamic