My Sites

Moving my Blog to Astro

Jacob Allred
#web-dev#wordpress-hate#cloudflare#astro

Astro

I first started blogging about 20 years ago. A few blogging services were around, like Blogger, but WordPress wasn’t around yet. I decided to write my own blog software.

It worked fairly well, but I’m terrible at design. It wasn’t very pretty. It was also missing popular features like RSS and commenting.

Eventually I migrated my posts to a self-hosted WordPress blog, and I’ve been using that ever since. I’ve moved my blog from server to server, as I’ve gone from cheap shared hosting providers, to several dedicated servers, and finally to cloud servers.

At some point things went wrong. For example, the character set in the database somehow got changed so a lot of characters were showing up incorrectly. A theme update broke images so many posts showed the same image multiple times. It was a mess.

As part of a personal goal to make my sites even more maintenance free, I decided to move my blog to a new platform. I’m now using Astro for my blog content. It is a fairly new but definitely awesome web framework.

What makes Astro especially cool is that it doesn’t need any JS on the frontend. This makes webpages crazy fast and crazy responsive. Of course, it is still possible to add JS. For example, this page has a search feature that uses JS, and I’m including GA4 tags which are also using JS, but the framework itself is flat HTML.

Speaking of GA4, Astro has a Partytown integration that makes it easy to offload scripts to a web worker. This allows GA4 to load without blocking the main thread. In other words, it almost entirely eliminates the performance hit of using third-party scripts! Very cool!

Hosting is also easy. I have a git repository that holds all of my blog content, images, and configuration. Whenever I push changes to git, Cloudflare Pages sees those changes, builds my site, and deploys it to their network. This is all completely free and zero maintenance. It just works!

Astro supports a bunch of plugins that add additional functionality. For example, the search feature is a plugin that took about 10 minutes to add and configure.

My posts are mostly just Markdown files, so it’ll be easy to migrate to a different platform in the future if needed. This is a big shift from WordPress, where posts are stored in the database in a proprietary format that is a huge pain to export.

The only thing of real value that I lost is commenting. I could use a service like Disqus, but it is $132/year per blog. I have about a dozen blogs that I ultimately want to move to Astro, so this isn’t really cost-effective. JamComments is much cheaper. I haven’t used them in the past, but I may give them a shot.

Anyway, I am really excited to start blogging again. I had a blast reading through some of my old posts while migrating them to Astro. It has been years since I blogged since I was so frustrated with WordPress, but so far Astro has been painless to use!