Web-ostajan opas wrote about WordPress and it’s challenges on large scale web sites. 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 it’s job but it has performance issues, it’s buggy and causes problems with other plugins. We have spent a lot of time to debug unexpected mysterious WPML behaviour. This is definitely one of my favourite WPML bugs: “WPML settings are reset when completing the setup in a sub-site of a multisite installation”. Creating a new subsite resets your main site’s WPML settings. Super fatal issue causing a big issues for one our client. Makes me wonder do they event test the plugin before releasing.
I’m not expecting WordPress core to support multiple languages in the near future so we just need to live with it.
- On 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’s 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 it’s 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 to do that. It doesn’t even encourage to do that. So it’s 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 it’s strengths. It can be used on a large scale site if it fits the requirements and it’s used in a right way.