5 Reasons WordPress SUCKS
While WordPress has a 60%+ market share in the CMS World (See WordPress 2021 Trends). WordPress is simply not the right choice for most use cases. WordPress’s disjointed plugin system, developers, neglectful users and legacy architecture leaves a lot on the table. If the content of your website changes less than 5 times a week, you are one of those cases that WordPress has failed.
Reason 1 WordPress Sucks: Ramshackle Plugin And Theme Ecosystem
If there is a theme and plugin store that needs to be better moderated, the WordPress theme and plugin repositories fall within that scope in a big way. There are so many terrible plugins out there that don’t seem to follow any particular standards, are completely bloated with junky code, or have premium pay-walls that you don’t find out about until you install them. I have taken custody of websites that are an absolute trash heap.
Reason 2 WordPress Sucks: Trash Tier “Developers”
I have taken over some awful WordPress sites. The worst are the ones that were “developed” with page builders like Elementor, WPBakery or something similar. Now, I am not the best developer out there. When it comes to designing themes in WordPress, I can navigate my way through HTML and CSS to make basic and very minimalist themes. When it comes to specific functionality that needs custom plugins, I outsource that to reputable North American based developers who understand WordPress’s codex standards. My development approach is to not do things twice, and to keep the amount of complexity as low as humanly possible. These garbage tier developers that I have inherited sites from have all kinds of overlapping CSS, poorly written javascript, themes that rank in the 30’s for pagespeed, and a smattering of overly bloated plugins to do simple things like contact forms (COntact Form 7 Anyone?). And, no garbage pile handover would be complete without terrible documentation, mixed table types in MySQL, and things that require outdated versions of PHP.
Reason 3 WordPress Sucks: Poorly Managed Client Expectations
Many of my WordPress clients think that because you can download plugins, that changes can be deployed quickly. About half of my time as a developer is spent re-educating the client on what to expect with WordPress. Yes, you can change and adapt things quickly, but that doesn’t mean that it will be done right, or that it will be done in a manner that is standards compliant or secure. In addition to unsnarling crappy code from “WordPress Developers,” which is my number 1 time such on projects, a close second is properly managing client expectations because they dealt with a Developer that didn’t know what they were doing in the technical sense or the business sense.
Reason 4 WordPress Sucks: WordPress Was Not Designed To Be Cloud Native
Most WordPress sites are deployed on commodity hosting providers. THese are your HostGators, BlueHost, GoDaddy type hosting providers out there. You can either share a server with a bunch of other poorly written WordPress sites, or you can pay a bunch of money for a dedicated instance, or split the difference and put it on a VPS. If your site gets smashed with traffic, even with a CDN out front like CloudFlare, it will at best be sluggish, and at worst cause the server to crash. In a cloud native world where you host your project using something like Kubernetes, LXC, or Docker, or a managed autoscaling framework from someone like AWS, GCP or Azure, you can easily horizontally scale your application to meet the demand of traffic spikes while being resource efficient when your site is idle. Getting an enterprise level WordPress instance to scale requires a lot of special considerations to be done correctly, which I will cover in another article. I have seen this done poorly, and have made many mistakes in the process of trying to understand hosting WordPress in Kubernetes, but the platform was not designed to run that way out of the box, so it requires some trickery to make it work. That DevOps level trickery comes at a premium price tag which is often out of the budget or knowledge of most developers and customers that are looking to deploy WordPress in a cloud native infrastructure.
Reason 5 WordPress Sucks: Security Holes Galore
Since WordPress is the most deployed CMS out there, there are a lot of entry-level hackers who have directed their attention to exploiting, defacing and holding hostage a number of WordPress sites. THe easiest way to avoid this is to simply keep up with updates. The problem is that the crappy developers you had, or weird legacy functionality, or fragile user interface that breaks every time there is an update often precludes you from keeping things properly updated. There are so many layers that must be updated. You have to keep php up to date, Apache/Nginx/Caddy (or whatever web server you are using) - then you have core updates, theme updates and plugin updates. Since none of those things follow a predictable schedule (I read somewhere that this is changing), keeping on top of updates while making sure things don’t break can be a full time job. THose security holes can be even more troublesome if your WordPress instance is used for ecommerce.
Conclusion
If you have an existing WordPress site already, or you are looking to put up a site for your business, consider what you actually want the site to do before you go shelling out a bunch of money on a WordPress site. My site runs on something called Hugo, which is a Static Site Generator. Static Site Generators can handle 2/3rds of the use cases for WordPress, and can deliver that content faster than the fastest and most optimized WordPress instance out there. Here are 3 reasons you should choose a Static Site Generator over WordPress:
- The site will run faster
- Static sites are nearly impossible to hack
- Static sites can scale to N size without having to employ a full time DevOps Engineer
- Even the cheapest hosting available out there will outperform anything running on the fastest servers
- It is by and large the most resource efficient way to host your website
- You can still change your content at will on your own without needing much technical assistance