Recently, I wrote a post discussing my desire to move my personal projects off WordPress. Coincidentally, I'm currently struggling to find work. Most of my job potential lies in the WordPress space, due in no small part to my extensive history with WordPress, and at least one company has taken note of that post and misconstrued my intent. As such, this post can be considered a follow-up to the aforementioned post.
Am I changing my position?
No! I 100% stand by everything I said in that post. WordPress is a great platform for many things - you can extend it to do almost anything, and with a little talent, you can do so well! However, maintaining a WordPress site, let alone a network of sites, is no small task. As mentioned in my previous post, WordPress is almost infinitely extensible. There are plugins out there to handle almost any scenario you can imagine, and some of them are quite well written. However, at least as many are thrown together with little thought given to the safety of the plugin.
Picking the appropriate plugins when building a site isn't as simple as browsing the plugin repository and clicking install; one must take the time to review the plugin in question before committing. Is the plugin actively maintained? Does it conform to any particular coding standard? Are inputs sanitized? Does it properly handle access control? There are nearly as many considerations as possible plugins!
Much the same thing can be said when picking a theme. WordPress themes tend to fall into one of two major categories: either they are generic enough that one can build almost anything with them, or they are so niche that they are useless outside of one particular vertical. Both scenarios have their positive and negative aspects. A theme that's entirely generic may be well-built, but to be suitable for the widest variety of sites possible, it will often contain a fair amount of bloat. Conversely, themes built for a specific niche will often be so tailored to their vertical that attempting to add functionality can be a headache.
The problems don't end when the site is launched either. Maintaining a WordPress site requires a fair bit of attention. Updates need to be performed, hosting needs to be maintained, and users need to be trained not to mess with things they don't understand. If you're running (or working for) a large-scale company, this is simply the cost of doing business. You likely have either managed hosting or staff whose job it is to maintain the servers. You have (or at least should have) staff who provide direct support to clients when they inevitably click the wrong button and nuke their site. Hopefully, your developers are auditing themes and plugins before they are used in sites you roll out. If you're really on the ball, you may even have a coding standard you rely on to ensure stability. For a long time, I relied on a modified version of the coding standard utilized by WordPress VIP.
As a freelance developer, I have none of the above. I'm solely responsible for maintaining the servers, building the site, and providing support to site users. That's a lot of effort for what amounts to very little return on investment when you're talking about a handful of one-off sites. Additionally, PHP itself comes with a headache - it's a memory hog. If you're relying on managed hosting, this isn't a big deal. If you're running your own servers, this can get very expensive very quickly.
So Why am I Moving Away From WordPress?
As I mentioned at the beginning of this post, I've been looking for work lately. Probably the biggest driving force behind my decision to move away from WordPress is financial - maintaining my servers is a money sink I simply can't afford. Moving to custom-built applications using React allows me to continue to maintain all of my current sites with a fraction of the overhead. I don't have to worry about people upgrading things without due diligence, I don't have to worry about random plugins breaking existing sites, and my memory use is noticeably decreased. Particularly in my case, where the majority of the sites I'm hosting rarely receive updates, this is an obvious win. For the few sites I maintain that receive regular updates, yes, this change does mean more initial development, but it also means apps that are tailored specifically for those users.
So What's Wrong with WordPress?
The answer to this burning question is nothing! Conditionally. If you have the infrastructure to properly manage both the sites and the clients, WordPress can be an outstanding platform! However, if you're a solo developer, the hidden costs may prove more than you're willing (or able) to pay. In my case, I simply couldn't keep up with the financial aspects of maintaining a network of WordPress sites. This doesn't mean that I dislike WordPress. On the contrary, I still believe that WordPress is a solid platform, depending on the clients' needs. I have always been an outspoken supporter of open-source software, and WordPress is no exception. If it's the right choice for someone, I'll still happily recommend it (and maybe even work on it). But I'm also keeping myself open to other options, and in my case, WordPress isn't the right fit for my small network of sites.
