Web-ostajan opas wrote about WordPress and it’s challenges on large-scale websites. I agree with most of the issues listed and I would point out two things that in my opinion makes WordPress not suitable for big sites.
- WordPress doesn’t natively support translating content into multiple languages. The admin interface and theme can be translated to multiple languages but not the content itself. To translate your site you need to rely on third-party plugins. WPML is the most popular one but it’s far from perfect. It does its job but it has performance issues, it’s buggy and causes problems with other plugins. We have spent a lot of time debugging unexpected mysterious WPML behavior. This is definitely one of my favorite WPML bugs: “WPML settings are reset when completing the setup in a subsite of a multisite installation”. Creating a new subsite resets your main site’s WPML settings. A super fatal issue causing big issues for one of our clients. Makes me wonder do they event test the plugin before releasing it.
I’m not expecting WordPress core to support multiple languages in the near future so we just need to live with it.
- On a large site, you usually need to extend the core functionality. Creating custom plugins is easy and WordPress has a lot of hooks to interact with. However, it’s not a proper development framework. It lacks things like MVC, automatic testing, and migrations just to name a few. PHP is not also the most formal language and WordPress core has its own random legacy issues (like naming conventions, arguments, etc). That doesn’t encourage developers to write elegant code and solutions may end up being quite hacky. It’s completely possible to extend WordPress in an elegant way. However, WordPress doesn’t force you to do that. It doesn’t even encourage you to do that. So it’s the developer’s responsibility to write elegant code. And you know… people are lazy.
Before you start hating WordPress too much I want to point out that it’s still a great platform. It’s super popular powering 25% of the web and definitely has its strengths. It can be used on a large-scale site if it fits the requirements and it’s used in the right way.