Skip to main content

        My Website Has Been on WordPress for 15 Years. Not Anymore. - Featured image

My Website Has Been on WordPress for 15 Years. Not Anymore.

I’ve had this personal website, derekcreason.com since the late 2000s. Maybe 2008? It’s been through a few iterations over the years: different platforms, different themes, different levels of how often I actually remember to post on it. For most of the last decade, it ran on WordPress, sitting on a LAMP stack (Linux, Apache, MySQL, PHP) on a virtual machine at home, and for the last 5 years or so on a VPS with a web hosting provider. It worked fine. But “works fine” and “maintaining it” are two very different things.

This year, I finally did something I’d been thinking about for a while. I migrated the whole site off of WordPress and onto a Jamstack setup using Hugo, GitHub, and Cloudflare Pages. Here’s the why and some of the how.

Why I Left WordPress

If you’ve ever run a self-hosted WordPress site, you already know the maintenance tax. It doesn’t sound like a big deal at first. You set it up, pick a theme, install some plugins, and you’re off. Then the emails start. WordPress core update available. PHP version out of date. Three plugin updates pending. Security patch released. One of your plugins is now conflicting with another plugin and your sidebar looks broken.

For a business site where you have staff and budget and it makes sense to invest in it, fine. But for a personal blog that I post on whenever I feel like it? The overhead was usually minimal, so I would just ignore it for months until something broke, or I remembered to do server and WordPress updates. Oftentimes, it would just sit unused for months. I even thought about taking my site and all my social media down at one point.

On top of that, the hosting bill shows up every month whether I post or not. I’ve got a MySQL database sitting there storing a few dozen blog posts. A whole relational database. For a personal blog. It’s a little overkill.

The thing that finally pushed me over the edge was my comfort zone. Sometimes in tech I get too comfortable. The last 6 months of AI have been amazing and interesting! It’s helped me get unstuck in my motivation to learn. Sometimes that happens along your journey. I had come across this idea of static sites -> GitHub -> CDN and was intrigued by it. I didn’t even know it was called Jamstack. My biggest hesitation was migrating WordPress posts into a static format. I found some plugins that got it 95% right. Good enough for me. I made some other small fixes. So forcing myself out of my comfort zone and trying a new platform or process related to tech forces me to learn, be creative, and adapt to issues along the way. It also reminds me that I’m good at it, and I enjoy the process and challenge of a good tech project.

What I Replaced It With

The new setup is three tools working together, and once it’s configured, it basically runs itself.

Hugo is a static site generator. Instead of WordPress dynamically building each page by querying a database and running PHP every time someone visits, Hugo does all that work up front at build time. You write your content in Markdown files, run Hugo, and it outputs flat HTML, CSS, and JavaScript files. No database. No PHP. No server-side anything. It’s just files.

GitHub is where all those files live. It’s the source of truth for the site: the theme, the content, everything is in a Git repository. This also means I have full version history on every post and every change, which is a nice bonus.

Cloudflare Pages is the hosting and deployment piece. It connects directly to the GitHub repo. When I push a commit to GitHub, Cloudflare detects it, pulls the latest code, runs hugo --minify to build the site, and serves it from their global CDN. The whole build and deploy cycle takes about 60 seconds. The free tier covers everything a personal site needs.

The total monthly cost: zero dollars. I’m not even paying for hosting anymore.

How It Works Day to Day

Writing a new post is pretty straightforward. I create a Markdown file in the content/posts/ folder, add some frontmatter at the top (title, date, tags, that kind of thing), write the content, commit it to GitHub, and push. That’s it. Cloudflare picks it up automatically, and the site is live shortly after.

There’s no server to SSH into. No database to back up. No PHP version to worry about. No plugin update emails. If something breaks, it’s almost certainly something I changed in the files, which means I can roll it back in Git.

I also spent some time choosing the theme, trying to find a modern, futuristic, yet clean theme. The old WordPress theme had accumulated years of overhauls and theme customizations. Starting fresh with a clean Hugo theme felt good. And yes, I added a custom neon favicon. Priorities.

Is It for Everyone?

Probably not. If you need user accounts, e-commerce, a contact form with backend processing, or other dynamic functionality, WordPress (or something like it) makes more sense. That infrastructure exists for a reason.

But for a personal blog or portfolio site where the goal is just to publish content and have people be able to read it? A static site is hard to beat. It’s fast, it’s cheap (free), it’s low maintenance, and it gives you full control over every file in the project.

I’ll forever have a place in my heart for WordPress, and I still use it for other projects and would happily use it again in a heartbeat. Call it my nostalgia web app. But for now, I’m going Jamstack, and so far I’m lovin’ it! Go try it out.

Check out the updated derekcreason.com and let me know what you think!

Later,

-Derek