In Defense of WordPress
Even though it now powers 25-percent of the web, WordPress gets a lot of flack.
- It’s old and bloated.
- It’s slow.
- It makes it easy for inexperienced developers to write bad code.
- The UI is clunky and unintuitive.
And these are all valid complaints. I even toyed with ditching it for something like Jekyll or Ghost.
But the more I work with WordPress, the more I love it.
WordPress is actually awesome
Each of those complains can be looked at through a different lens.
It’s old and bloated
Maybe. But it’s also stable and has tremendous backwards compatibility. This is huge!
If you build a site for a client, you want them to benefit from ongoing security updates, bug fixes, and so on. But you don’t want them to worry about breaking their site because a major version change removes a bunch of APIs.
Is it, though? I run multiple WordPress sites on inexpensive, shared, commodity servers with tons of plugins, and they all load in under 1 second on a cable connection.
WordPress doesn’t have to be slow. It often is—and I wish they’d bake caching into the core because it would solve a lot of this—but it doesn’t have to be.
So much of WordPress’s performance issues are elated to theme/plugin development issues and not WordPress itself. Which brings us to…
It makes it easy for inexperienced developers to write bad code
The reason for this is because WordPress (and PHP in general) makes it so easy for beginners to get started hacking with the code. It’s well documented with a thriving community.
The copy/paste culture leads to a lot of performance/bad code issues, but it also means someone with little experience can start working and learn as they go.
That’s amazing! That’s how I started. My work from five years ago is embarrassingly bad. So was yours, I bet. So was all of ours!
WordPress prioritizes accessibility (in all ways). That’s a wonderful thing.
The UI is clunky and unintuitive
Compared to Ghost, yes.
Compared to a command line static site generator? Not at all. Compared to Drupal? WordPress still wins. Compared to almost any enterprise system I’ve used working at a corporation? WordPress, every single time.
Organizing tons of data around an extendible interface is hard. Much of the UI disconnect comes from the extensible nature of WordPress. To improve one you have to sacrifice a little with the other.
WordPress is so flexible
Beacon, my new learning platform, runs on WordPress.
WordPress handles the tough, annoying stuff like account management and user authentication, so that I can focus on content. The API makes it pretty easy to create things like a front-end login system, or a way to let users login with their email instead of their user name.
It let’s me add custom content, integrate user access to content with payment services like PayPal, and do all sorts of crazy awesome things.
It means I don’t have to learn how to configure a server and write my own user management database to power the things I want to make.
Wordpress is old, and clunky, and robust, and wonderful. I love it.