I've always categorized code in WP in three categories: "Real" opensource: plugins by communities without any PRO version Opensource: they license 10% of components and the rest is closed source Full paid: no free version Themes full paid are usually my favorite because the people behind them do make money and invest on performance, speed and overall. They are perfect for "Ready to Use" and are fast. My problem with WP, and the reason why i'm writing this, is the plugins development for all three categories. WP Core has changed a lot on the last years and adopted better approaches to extend functionality but even so they suck really hard. Why? With the amount of money and time there's around WP the code should be WAYYY more involved! I'm not talking about documentation of course, that's awesome WP is "limited" to SQL in a matter that you don't want to change the schema of db so joins came to the game. With NO-SQL you can get a page with barely 2/3 queries to DB but we know in SQL like apps and specifically WP is different. There're approaches for lazy loading data that i've seen on plugins and awesome strategies devs came up to reduce resources consumption but even so that affects the code quality, not performance. I would like to see the entire WP developer team leaving the project and pay others fresh devs to make a revolution. API changes are a mess for everybody and even in WP we see plugins and take a few days to submit compability code and i've always thought that was the reason why WP it's how it's: they can't loose all contributed code. The best plugins i've seen have a middle layer to communicate with WP hooks. The hook pattern is fast and everybody loves it but seriously, it's time to see more elegant code in WP PHP. I also enjoy to analyse the traffic and debug code in WP. The SQL overload is understandable but most plugins fail to save resources. For example: Plugin XPTO has a feature to show related posts, thumbnail galleries and improve login. Because most of them don't have write permissions, the configuration of the components is saved in WP (and you should cache it) and loaded every request. When they allow you to disable a component you should except that the code shouldn't be autoloaded but usually it's. I've seen guys writting custom .config.ini files that are required every request but contain the configuration and global information to avoid SQL queries, or guys overriding the WP DB layer to cache a few queries but that's to painfully. The WP as a framework should help us with that. Now i see wordpress as a fake free solution. Regular users can install a CMS but to have a decent CMS you have to spend money. And props for Woo team with WooCommerce and all paid extensions, you make me sick.