WordPress Myths Busted for Developers
Sometimes you chat with developers or read internet discussions about WordPress and how horrible it is for developers. Some people even claim that working with WordPress is not proper software development.
I agree that WordPress has it’s oddities and it could definitely be improved. But there’s also some misunderstanding and distorted information out there.
I’m busting those myths in this blog post. Let’s go!
Myth 1: WordPress is only good for blogs
WordPress was created for blogs, but it’s much more these days. With custom content types, customizable taxonomies, custom fields, hooks system, menu management, user management (and roles) and much more, WordPress is a powerful and extendable content management platform these days. With REST API it can be extended even further, and thus serve as a platform for single page apps or mobile apps.
Myth 2: Developing with WordPress is just hacking themes together
In it’s ugliest form, WordPress development is just hacking a theme together. But it can be much more. WordPress doesn’t limit you too much, which is good for professionals, and can be dangerous for someone who doesn’t know what they’re doing. You can go totally bonkers or keep things clean and organized, it’s up to you. In the right hands, WordPress projects can become elegant pieces of work. As mentioned above, with the REST API you are free to pick your own tools. Go with React or Gatsby if you feel like it – you’ll be far away from just hacking themes together.
Myth 3: WordPress doesn’t support any proper software practices
Forget testing? Forget MVC? Forget continuous integration? Just smash your functions.php together and upload files to production with your FTP client! You can do that, but no one is forcing you to. Instead, you can write unit tests. You can build your project in CI. You can utilize MVC patterns in your plugin. WordPress is as elegant as you make it. It’s all up to you.
Myth 4: WordPress (and PHP) is slow
Many benchmarks out there are claiming that PHP is sllllloooooow. When used with relational database with blocking connections, WordPress is dead slow. Both are true. But whatever language, framework or platform you use – you enable caching. I’ve worked in this industry for 15 years with technologies like PHP, Ruby, Java and Node just to name few. A “slow programming language” has never caused issues. Systems are complex anyway, and rarely the actual language is the bottleneck. So forget benchmarks. Use caching.
Myth 5: WordPress is poorly designed and confusing
Sometimes WordPress core can be confusing. For example, some functions are prefixed with wp_ like the one for inserting post wp_insert_post but you can get posts with get_post without any prefixes. WordPress is mostly functional but in some cases object oriented. Some functions have oddities like switch_theme which has two different signatures.
All this might give you an impression that WordPress is poorly designed and developed. But it’s actually a result of a software design decision: making WordPress backwards compatible. It’s all part of the bigger picture. To keep software maintainable and backwards compatible, you need to carry some legacy with you.
It might feel confusing, but in reality the design decision makes your life much easier in the long run.
If you hate WordPress but haven’t worked with it for a while, it might be worth giving it an another chance. All in all, it’s hard to ignore a platform powering 25% of websites. Read more about how we work with WordPress and our state of development in general.