For those who know me, I’ve usually been a pretty big fan of WordPress. I even worked for Automattic for a time. I have quite a collection of custom plugins and code to do some pretty interesting things. But now, I think it is time to go; for many reasons.
The thing that triggered this move for me isn’t the drama around Matt and WPEngine; despite it being a total hypocrisy. I’ll get to that later. Rather, WordPress is just an absolute pain to use.
Stupid Blocks
A long time ago, Matt Mullenweg said that the future is JavaScript and every developer should learn JavaScript. Shortly thereafter, Gutenberg was created. It is a master-craft in overengineering.
First, it doesn’t require that you know JavaScript. Most of the work (at least with my custom blocks) is in configuration and knowing the magic incantation of JSON keys. Discoverability is near non-existent, and it almost feels like someone didn’t like how opaque arrays were going out of style in PHP, didn’t want to use named parameters, and decided to stick it all in JSON documents instead.
I’d be willing to bet that someone could have written a better editor with htmx and regular php over the course of a few weeks. But here we are.
Scalability
WordPress simply does not scale by default. There are quite a few things you have to know to scale it properly. This isn’t documented very well either, because then what would all the hosting companies charge you for? If you think I might be wearing a tin-foil hat, there is a reason Matt wants that sweet doh (or contributions) from hosting companies.
Slow
WordPress is pretty fast, all by itself. The problem is exacerbated by the stupid blocks. It is so convoluted to create your own blocks that it is much easier to just install a plugin. It used to be that it would take 10-15 minutes to throw together a simple plugin to do what you needed to do; or just install a similar plugin and refactor it if necessary.
See, originally, the plugin repository was designed to be an open source repository. In fact, it is still one of the guidelines that the license in the repository be compatible with the GPL. I scanned those licenses for you, and the number of non-licensed (meaning all-rights-reserved) and explicit all-rights-reserved plugins were very high. It’s not open source, despite their own guidelines saying otherwise…
This is why I was saying that Matt was a hypocrite. He selectively enforces open source in the plugin repository, allowing some non-open source plugins to thrive, while others clearly are not allowed. I simply don’t trust the platform any longer.
So, throw in my distrust along with requiring some slow af plugins that aren’t really open source … well, yeah. It is yet another reason to move on.
The destination
Between the politics and technical issues I have with WordPress as a blogging platform, it is time to go. The first step is to generate this blog as a static site and hunt for issues. There are many issues already (Jetpack completely breaks in fun and interesting ways due to embedding CSRF tokens in forms, for example). I need to figure out a solution for comments as well.
Most likely, I will end up moving back to Hugo, but even that feels bloated after revisiting it all these years later. In the interim, though, I will explore multiple CMS’s and try to find one that suits this blog.