1. WordPress is a Platform
It’s an open-source software CMS that runs 29% of the web.
There’s a popular site named WordPress.com which offers a hosted version of the software. It’s fairly limited, although Automattic – the company owning the product (whose CEO is also a co-founder of the WordPress software) – continuously introduces some additions and extensions for hosted users.
But the free software could be running on almost any PHP host out there. Most also use cPanel which includes Softaculous or Fantastico (or a similar alternative) that would let you install WordPress with just a couple clicks if you don’t want to spend a few minutes creating the database and downloading the latest source.
2. A platform Doesn’t Make Developers Redundant
The aforementioned hosted platform is limited. You can’t bend it infinitely – which most customers want (from a UI perspective or feature-wise).
The open-source software is extremely extensible. On top of the available of free themes and plugins, millions of developers offer additional consulting and coding services – building new themes or plugins, migrating custom frameworks to WordPress, creating multisite network or even building SaaS and mobile applications on top of WordPress.
Some of the existing plugins aren’t of the highest quality, so handmade alternatives are built for larger accounts. And some may require additional features which usually happen through building extensions for them.
Let alone the fact that WordPress powers 29% of the web and not 100%.
3. WordPress is Flexible and Works Great in MOST Cases
While I’ve built and managed WordPress software for enterprises (automotive providers, airline companies, banks), there are certain cases where I wouldn’t suggest WordPress as a go-to choice.
I’ve discussed some of the architectural decisions in the WordPress platform during a PHP conference a couple years ago:
It’s indeed a fascinating platform that is extremely extensible. But there’s a core framework underneath that is suitable in most cases – including for enterprise-grade clients.
The database schema includes a predefined set of tables. Those could be omitted or extended with new tables – but this may be an overhead sometimes.
The dashboard also runs a number of validations, checks, conditionals that may not always be of use. Certain components like Media or Comments may not be applicable for certain sites.
The core posts table includes a number of default columns that may not be required in certain projects. That’s also an important consideration when starting a new web application.
For instance, I won’t build a Twitter, Instagram, Snapchat clone on top of WordPress. I will probably skip 70% of the default WordPress features which would impact the ongoing maintenance and touch on some performance issues.
In reality, it’s a great choice for 95% of web applications, if not more. But it should be revised carefully since there’s no ideal tool for any job out there.