My Homebrew CMS Was Co-Authored by Cthulhu

Photo of two interstate highways, Interstate 90 and Interstate 5, merging in a mixmaster. Taken by Matthew Rutledge and released under a Creative Commons Attribution 2.0 Generic license

I publish this blog and seven other sites with Wordzilla, a CMS I wrote for myself and have never released. I began it 20 years ago and the PHP codebase is best examined in small doses because to look upon its full extent would bring a descent into madness worthy of Yog-Shoggoth. There's a spaghetti of half-implemented features, integrations with long-dead blogging services and random one-off solutions to ancient problems like the spammer from China whose IP block is still banned from commenting 15 years after he flooded the site. That guy has probably moved.

Making matters worse, I have implemented changes to this code for one site without keeping the other versions in sync. I am running eight different versions of the same CMS!

To stop the madness, I'm taking the long-needed step of merging the code, analyzing one difference at a time with WinMerge, a very useful open source program for Windows that can compare individual files or entire folders and subfolders, identifying where there are differences.

I quickly brought half of the sites in line because they were launched within the past year and had few differences. The others will be a much bigger lift.

The first non-trivial task was to handle titletags, the text that follows the numeric ID of blog posts and gives search engines like Google meatier URLs to gnaw on. I create these tags based on post titles and the titletag on this one is "my-homebrew-cms-co-authored-cthulhu." Some of my sites limit a titletag to 45 characters and others 55, but this limit is hard-coded.

I made this a new configuration setting. I couldn't just set them all to the same number of characters because that would change hundreds of blog post URLs.

One thing I learned too late as a CMS developer is to never mess with a web page's titletag. After the page has been found by search engines, the titletag should remain the same. Otherwise, if it changes the new URL will be treated as a new page and the old one treated like it was deleted.

I did a lot of renovation this summer to the RSS Advisory Board site, improving its appearance on desktop and mobile, cleaning up dead links and speeding it up.

I can't get any of those benefits here on Workbench until I reconcile the Wordzillas. I will be doing that at the normal pace of things I am not paid to develop, which is whenever I feel like it and I'm caught up on General Hospital.

Photo License

The photo of interstates merging in a mixmaster was taken by Matthew Rutledge and offered under the terms of the Creative Commons Attribution 2.0 Generic license.


The "integrations with long dead blogging services" hit me in the feels!

I miss Technorati.

Add a Comment

All comments are moderated before publication. These HTML tags are permitted: <p>, <b>, <i>, <a>, and <blockquote>. This site is protected by reCAPTCHA (for which the Google Privacy Policy and Terms of Service apply).