WordPress is one of the most popular development platforms when a developer needs to get a website going quickly. The flexibility
that it allows through the use of hooks and filters, and the relatively short learning curve when
compared to similar platforms like Drupal, makes WordPress the multi-tool of website platforms, particularly
for developers just getting started. But when is enough, enough; when does WordPress run out of legs?
One of the biggest problems with WordPress is that when you activate more than about 25-plugins, performance takes a hit and it usually requires hiring an extra person to fill the roll of server administrator who is skilled in increasing performance not on the application layer where the problem resides, but on the server or even routing layer. As your new professional server admin (~$100,000/year) now decides to add a load balancer ($20/month; Linode), increase the number of back-end PHP server nodes (between $5 and $80/server/month; Linode), and breaks the database off onto its own server (between $60 and $960/server/month; Linode), the real cost of using the open-source WordPress platform as a multi-tool comes into view.
Performance: isn’t there a plugin for that? There are, in fact, numerous plugins that flaunt a veil of solving all of your performance problems, but we know that mitigating performance issues from the application layer, where said performance issues are caused by other plugins on the application layer, is just adding more performance problems than what we started with. If your server ran out of memory because it’s serving too many concurrent requests, then adding another plugin on the application layer that requires the same server resources to function isn’t going to help. How can we solve performance issues on the application layer when we depend on the plugin and platform developer for changes?
We can decide to take over control of the plugin ourselves, thus removing the capability for easy plugin updating as our version of the plugin will not be the same as the original author’s (Requires a dedicated developer (~$80,000/year and maybe a designer ~$52,000/year));
We can lobby the plugin author, or even try to contribute to the project, in order to make performance-based changes (Requires time ($$$) and/or a developer, ~$80,000 /year);
We can spend time looking for a similar plugin that maybe has better performance metrics (Requires time ($) with no guarantee of a better result);
Time is money and one of the leading reasons why we choose WordPress as a development platform is because we believe the illusion that we’re getting something for next to nothing. Experienced developers and designers can setup a WordPress site in under 15-minutes and probably have the full application with theme completed in under 10-days, without considering the fact that we will end up paying for this decision in the future, not just from a performance perspective. When the plugin author decides to make changes which will break other plugins that depend on one major one (read: the notorious WooCommerce), we may pay most dearly from the loss of revenue and a bruised brand from a broken website. WordPress isn’t all bad, particularly if you find a development firm who really understands how to include functionality without sacrificing performance and that can serve a WordPress application efficiently, but it will save us a lot of time and headache if we take a step back and think about if there is another platform that will be a better fit for our needs rather than just automatically accepting WordPress as the solution to every problem.