WP Tavern summarizes the conversation around WordPress losing CMS marketshare for the first time in ages, and what various people have cited as likely causes.

Personally, I’m finding its increasing complexity to be a major frustration.

  • Writing on WordPress has gotten somewhat more complicated.
  • Maintaining a WordPress site has gotten more complicated.
  • Developing for WordPress has gotten more complicated.
  • The resulting page code (including CSS and Javascript) has gotten a lot more complicated. As I’ve noted before, there’s no good reason to require 450K of data to display a 500-word post. Or a single link with a one-sentence comment.

The move towards Gutenberg blocks and full-site editing complicates things on several levels, and feels like an attempt at lock-in as well.

Ironically, I’ve been moving toward Eleventy, which has also been very frustrating…but only in building the layout I want.

On one hand…

  • I have to develop a lot of the components I want from scratch. More than would have thought. Though I suspect there are enough pre-built layouts out there for most people’s use cases.
  • The documentation is sorely lacking. (Eventually I’ll get around to helping with that.)
  • Dynamic features like comments need to be handled by another program.

But on the other…

  • I can fine tune things a lot more easily than fine tuning a WordPress theme.
  • Once I’m done building the layout, adding a new post is almost as easy as it is on WordPress.
  • My actual post content is portable.
  • There’s essentially no attack surface, so if I have a site that’s “done” I can just build it one last time and leave it as-is — and not worry about spam, maintenance or security (beyond general webserver security).
  • I don’t have to send extra JavaScript libraries along with every page, so it can use a tenth of the bandwidth and load faster on slow connections.

With Eleventy, setting up the layout and features has been super complicated…but once it’s set up, it’s smooth, easy to deal with, and does the job well. It’s kind of like running Linux back in the 1990s.

But with WordPress, there’s complexity in every layer.

Sometimes it’s worth it.

Sometimes it’s not.

Over the years I’ve written a lot of troubleshooting posts on my blog, describing problems I’ve run into and how I solved them in hopes that other people with the same problems might find it helpful.

I’m starting to collect them on a mini-site that’s not a blog: Hyperborea Tech Tips.

Several things came together to inspire me to reorganize those posts:

  • Tinkering with IndieWeb.
  • Building a Gemini capsule.
  • Opening the developer tools on one of my WordPress-powered blog pages. There’s no reason a 500-word article should need 400KB and a dozen connections!
  • Keeping multiple WordPress blogs up to date with security fixes.
  • Reading about the garden and stream metaphor. (via)

The essence of the garden and stream is that we’ve gotten used to a constant, time-based stream of information, but some things are better handled as an idea-based, organically-growing and cultivated collection. Sometimes you want to post a status update to social media (into the stream), but sometimes you want to update a Wiki page (taking care of the garden).

A lot of stuff isn’t here because it belongs in a stream. It’s here because it became more convenient than copying a template, writing the page, adding links and uploading everything over FTP.

I’d already mirrored some of these troubleshooting posts on my Gemini capsule, so I figured they’d be a good place to start.

My goals with the sub-site:

  • Deeper dive into Eleventy, the static site generator I’d used to archive my Les Misérables commentary.
  • Dig into IndieWeb.
  • Light as possible. One CSS file, images only for content, system fonts, no JavaScript unless I have a specific thing that needs it. (And if I do have to add JavaScript, only include the parts I need, not half a megabyte of some framework or another.)
  • Look somewhat decent (and legible!) on screens from cell phone up to widescreen desktops.
  • Create a reusable template, both for my own projects and for other people.
  • Be at least as useful as the original blog posts, if not more!