“Make Happy Happen” written on cracked and worn concrete. 🅭

Enough of WordPress

Ctrl blog have been on a month long break while I’ve been migrating the entire website away from WordPress. This has been the longest break without an update since I launched the blog six years ago. I’ve never been super-happy about using WordPress and the number of paper cuts and annoyances had finally reached my limit. I wanted to get away from WordPress before I lost the enthusiasm for blogging.

I’ve now switched over to Nanoc and will no doubt share more about it in a future update but right now I want to talk about WordPress. I originally used static-site generator called Nikola when I launched this blog but abandoned it in favor of WordPress three years ago. I summarized the move at the time with these two bullet points:

  • Nikola makes programmer-perfectionist-Daniel happy.
  • WordPress makes enjoys-writing-articles-Daniel happy.

So, what has changed? Simply put: One evening I realized that WordPress was making me unhappy and I didn’t want to have to deal with it anymore. It’s frustrating to manage a WordPress site and the core architecture forces you to do things the WordPress way.

Without going into too much detail, here are some of the key issues that I think either may resonate or be useful to others trying to decide on what content management system they’re going to us.

  1. I worry about the constant barrage of attacks targeting WordPress.

WordPress runs 33,4 % of all websites globally. Anyone who’ve followed my blog will know that I don’t like seeing any one vendor take too large a marketshare in any market.

Being popular also makes you a big juicy target for malicious actors. I’ve been following security best practices, run server-side anti-virus and log monitoring, keep continuous backups, and have enabled auto-updates for everything … . Yet the barbarians were constantly banging on the doors and it became a source of worry that I don’t need in my life.

  1. WordPress’ plugin ecosystem lacks collaboration tools.

There are a ton of great and useful plugins to WordPress that can do all sorts of things. It’s a common vector for attacks so I’ve been reviewing everything I install and have also kept up with updates to already installed extensions. I’ve noticed quite a few issues with various plugins over the years and have wanted to reach out to the plugin authors about the issues.

However, there isn’t a good way to communicate patches or problems with plugin authors. WordPress’ plugin directory doesn’t facilitate collaboration on code nor does it provide a good method for communicating with the plugin author. There isn’t even a standard field in plugin listings where the developer can plug in a link to BitBucket, GitHub, or another tool better suited for code-work. If I did find a way to message the developer they’d rarely respond, or if they did then they’d just drop the ball — because it’s 2019 and who knows how to handle a .patch file anymore?

Many plugins are one-off project by their creators and there’s no way to formally request to manage an abandoned plugin. There’s also no format process where you can hand off control of a plugin to someone else and have WordPress plugin moderation staff pay extra attention after the transition.

PS: I’m not abandoning my own plugins with a combined 10 500 active installations just yet. However, I’d be more than happy to hand them off to someone willing and able to maintain them. I’ll, of course, need a vial of your blood, a copy of your passport, and your first born to make sure you’ll manage them carefully.

  1. Multi-device editing turned out to lead to dataloss.

When I migrated to WordPress I mentioned that I wanted to use their apps and edit articles on the go. Having the ability to do some mobile editing or editing from my laptop without needing the source code to build the site would be nice, right?

WordPress haven’t quite managed to nail down the always in sync collaborative editing feature we’ve all grown to expect from a web based text editing interface. Editing a post in WordPress from different devices turned out to be a recipe for disaster and I’ve lost a number of edits and entire article drafts to it. I’m aware of the built-in version history system but it only saved my bacon a handful of times. I haven’t been able to keep myself from editing posts from multiple computers over the years and I’ve just kept loosing work to it.

If this sounds familiar then you may remember me complaining about similar issues with Simplenote; another tool from Automattic that’s meant for multi-device use but causes data loss if you use it that way.

  1. Auto-updates to WordPress change my site without my consent.

Imagine having a carefully designed performance-budgeted website one day — and then find some unwanted stylesheet or JavaScript injected onto every page the next day. Emojis? Block editor stylesheets? Jetpack Analytics? I didn’t ask for any of these things and I didn’t appreciate discovering their assets injected into my theme.

The longer I used WordPress the less I felt in control over it. I’ve had updates break my site or some plugin overnight and I find that unacceptable. I haven’t had a staging/testing instance of WordPress and if I’d wanted to continue using it I’d definitely have to set one up and disable auto-updates on the main installation. Maybe I’m just getting old but I want a heads up before changes are made to my website. WordPress is supposed be stable enough, right?

I can and have worked around these and many other issues. However, I no longer want to use a publishing platform that takes up so much of my time as WordPress does.

WordPress doesn’t have many open-source direct competitors that are still actively maintained. There are some commercial options available, but I like to thinker with things and I want access to the source code. I’ve explored other options for a content management system like Textpattern but found them wanting.