WordPress is arguably the most successful “killer app” of the web in the last 10 years. Since it is written in PHP and has a history of security vulnerabilities, most “software brains” dismiss it as a toy. While it is certainly not a monument to computer science, it does its job really well. It has grown up from a simple blogging platform into a powerful CMS capable of running the most complex and high traffic websites.
Consider these astounding stats – as of 2019 WordPress runs 33.5% of all websites, and 60.4% of all CMSs [1].
Given its success WordPress has some valuable lessons to offer for anyone working on a web based platform. Here is why I think WordPress is such a huge hit:
1) They got into a hot area:
Back in 2003 they hit on an area that was prime for growth – online publishing and marketing. To some extent there is still a good deal of growth to be had in that market.
2) The plugin and theme architecture was genius:
From the early days the WordPress architecture included extensible plugins themes. It allowed other developers to build sites that do what they want using WordPress as foundation. Over time a large community of theme and plugin developers grew around WordPress. Presently there are over 55,000 plugins [2] and 31,000 themes available.
3) WordPress is a cheap and easy option that scales well:
A big factor in WordPress’s success is the price – it is free. The WordPress core itself is open source. Themes are abundantly available for under $40. Many plugins are free or relatively inexpensive compared to development efforts.
Getting a website going that looks professional and has a few bells and whistles is fast and dirt cheap.
Since WordPress uses PHP and MySQL hosting it is also simple and relatively cheap. Plans under $10/month are able to power sites with significant traffic.
At the same time WordPress’s low maintenance costs (no renewal fees) and its robustness makes it a good fit for high profile websites looking to spend up to seven figures on development.
4) WordPress is open source, but unusual in that it cares about its users:
I think the main reason WordPress has done so well is due to how strict they are about keeping backward compatibility. It is one of the few platforms I’ve ever seen that accounts for their existing user base when determining what features to add, what to deprecate, and how to refactor.
The lesson all software developers can learn from WordPress is that their huge success steams from a simple philosophy – they put their users first. This is opposed to the more common philosophy of building overly complex technology “solutions” at everyone else’s expense.
Many open source projects are downright nasty to users… The typical mentality for an open source project is “it’s free screw you”. They constantly refactor or even wholesale re-write their code. Nobody enjoys keeping up with that. Popular web frameworks like Rails and Symfony barely resemble their initial versions. This alienates people fast. Keeping up with refactoring takes time away from building features paying customers need. My observation is a lot of the times the refactors appear to be a matter of personal preference or a whim vs something that could be tied to a functional requirement.
Yes, WordPress kept a lot of the cruft around. But they were right to. They correctly realized that refactoring code for the sake of gold plating it runs counter to what their customers actually need – working software that doesn’t require much upkeep.
5) As a CMS, WordPress is pretty amazing:
WordPress isn’t just a blogging platform anymore, it is a fully featured CMS.
The recent WordPress 5.0 release included the Gutenberg editor that allows customizable content modules. Prior to this, and now in combination with it, the Advanced Custom Fields (ACF) plugin can be used to create on the fly CRUD forms in the admin.
WordPress also shines in how it handles media uploads. Getting a correctly sized graphic uploaded is still a huge pain point for most non-technical users. WordPress comes with a built in crop / resize tool. It also has a way of configuring the crop types for an image (mobile, tablet, desktop) and allows overrides so any user can make a page look good on desktop, tablet and mobile without needing a designer.
6) WordPress dances to its own beat:
Another reason they did so well is the WordPress team consistently ignores the criticism from the technical purist camp. Sure they are based in PHP, they use tons of global functions, the database design is horribly inefficient, but so what, it’s a killer app! If they got really into performance or cleaning up all the messy bits, the would have lost sight of their customer base.
References:
[1] https://w3techs.com/technologies/overview/content_management/all
[2] https://wordpress.org/plugins/
[3] https://sceptermarketing.com/how-many-wordpress-themes/
[4] https://en.wikipedia.org/wiki/WordPress#Vulnerabilities