I just have to do something about my blog.
My WordPress host assures me that my site is riddled with malware. I sure don’t think it is, and the report they gave me just flags things like external links. I actually got a call from one of their security folks saying that unless I bought their business security package, I couldn’t guarantee that my customers weren’t being hacked every time they tried to purchase something.
I’m like. Dude. It’s a personal WordPress blog. Running a template YOU sold me. If there’s a malware problem, it’s your problem, not mine.
Nonetheless, I took it seriously. I removed the custom tracker I wrote a couple years back after I became disenchanted with the Google Analytics one. Now there is no tracking. I removed my custom web ring/clickbait blogroll that nobody used. I don’t think I have any of my AWS experiments left on the blog. The Metric Clock is just JavaScript, and I am not getting rid of that.
Anyway, my host is clearly trying to convince me to buy an expensive security package. AS is CloudFlare, who similarly sent me an e-mail claiming that my Daily Blogroll site, WestKarana.xyz, sister site to this one, was being hit with a denial of service attack, and I should really upgrade to their enhanced premium large business security plan to head off those devious hackers.
It is a static site run off of GitHub Pages. If there’s a problem, it’s your problem or GitHub’s problem, not mine. There is no code on the entire site.
Anyway, I’m pretty much over hosted blogs.
I could just make a new blog. Start over, burn the whole thing down and build anew. That would definitely be the easiest approach. The more difficult approach is to somehow convert this old WordPress site to something that looks shiny and new.
I have some experience with static web sites, and there’s a lot of support for moving from WordPress to a site you control 100%, so you don’t have to go it alone.
As I see it, there’s a few things that have to be done along the way.
- Decide on an infrastructure. The Daily Blogroll uses Jinja2 to create pages from data generated by reading people’s RSS feeds and blog entries. It uses templates I created by hand. I could do that again — worked once, right? — but it leaves me having to write every bit of code and I’d rather write blog posts. I went looking and found Typescript-based 11ty (as used by brennan.day) and Go-based Hugo (as used by Endgame Viable). They seem to be the most popular. Special shout out to Aywren who did what I refuse to do and converted her blog entirely by hand.
So, I’m going with Hugo for templating, GitHub Pages for hosting, SQLite for the minimal database support I’ll need on my local machine. - What to do about comments? I like commenting on other people’s blogs, and I like it when people comment on mine. So that’s something. I gotta tell you, there’s as many comment solutions as there are static blogs. I’m currently thinking of hosting it locally on a spare Raspberry Pi, but right now, I’m entirely unsure. I’ve seen a bunch, they have their advantages and disadvantages. So I’m going to set this aside for now. I won’t make the new site go live until I have a solution; I expect this to take awhile.
- How to move all the content over? WordPress will happily give you all your data in your export, and the images and stuff are easy to get. I have a backup job that takes all the data and images from my WordPress site and copies it down to my local computer, and then uploads the whole thing to OneDrive for backup. But that content is in WP’s own custom format. For Hugo, I need to take all these thousands of posts and make a separate Markdown document for each one. And that is going to be a job and a half. There’s formatting, images to worry about, WP added “featured images” and block editing at some point so the individual posts can differ in format, and so on. But the first step…
- Dealing with categories. I have a few hundred different categories on Chasing Dings. Ideally, I’d like about a dozen. Maybe two dozen. Counting up all my tags and categories last night, there’s about 2500. I was pretty casual about keeping consistent with capitalization, spelling — all sorts of things. So I spent several hours last night working on a script that would extract all the categories and tags from all my posts, normalize the capitalization and spelling and all that, and output a table that would take a category or tag as currently shown on the blog and return the corrected one.
There’s no way I’m going to be able to condense everything into a couple of well-chosen categories. So I’m just not going to. Just for fun, I wrote a script this morning that went through all the posts and normalized the categories and counted the results and made the word cloud at the top of the post from them.
But, we’re not done with the other stuff I have to worry about, and the next one is a big one.
- Writing blog posts. WordPress has a pretty fully-featured editor that lets you do a lot of things, and there’s bunches of plugins if you want galleries, nicely formatted tables and stuff. Going static means giving that all up. I’ll be writing things in Markdown. I’m going to have to do special things if I want left-aligned images or something. It’s all possible; it just isn’t a dropdown menu selection. No, I’m going to go from a fully featured content management system (CMS) to Visual Studio Code. Worse, however I decide to handle images and stuff, I’ll have to add that to the Hugo conversion script to update it from all the other posts.
It’s going to be a struggle. I’ve started along that road with the categorization normalization, but there’s so much left to do.
And when that’s done, I have my other abandoned blogs — Life on a Bridged, She Who Shapes, and another one — to bring over. I’ll probably add them to this blog. I’m halfway considering just making this site static, copying all the Chasing Dings stuff over, merging everything, and finally fully resurrecting West Karana in all its glory. But it seems a little sketchy given I don’t play EverQuest anymore. Still. West Karana feels like home to me even now.







Leave a Reply