Most people have heard of WordPress and how versatile it is, it can do just about anything you throw at it. But just because it can do everything, doesn't mean it's always the best CMS for the task.
You need to assess what your needs are and pick which CMS serves those needs the best.
Please bear in mind that this article is purely personal preference and is based on my own experiences and the experiences of my clients. If you have any suggestions though, then please feel free to get in touch with me.
Do you have a small business and need a basic brochure website that is easy to maintain and easy to update the content? Then ProcessWire is usually my recommendation.
I have worked with lots of similar frameworks, such as Drupal, CraftCMS and Joomla etc... but they all have drawbacks. ProcessWire, on the other hand, is super simple to use both for the developer and for the end-user.
You may have expected WordPress to take this spot because WordPress runs 30% of the world's websites. But WordPress is a blogging platform first and foremost and in order to do anything else, you need third-party plugins, which opens a whole can of worms, which I will discuss later.
What ProcessWire provides is an admin experience that can be completely tailored to your needs and is easy to build in a consistent way. With ProcessWire, you can layout the fields to match the structure of the page it's managing content for, which makes it super simple to find things.
Something similar can be achieved in WordPress using Advanced Custom Fields, but it's not quite as sophisticated as the way ProcessWire can lay the fields out and you need to buy the pro version for it to be useful. Advanced Custom Fields in WordPress also has some performance concerns when you start loading in loats of fields.
ProcessWire does one thing really well, it allows you to take a custom design and build it into an easy to use platform.
What it doesn't do though is provide thousands of pre built themes and plugins which allow non developers to hack together site. There are plugins for a lot of the basics and you can take an HTML template and build it into ProcessWire. But ultimately you need a developer to build a website with ProcessWire.
The lack of plugins with ProcessWire means that it doesn't open up huge gaping security holes that hackers are constantly trying to expose.
The fact is, most of the hackers are focssed on trying to expose securty flaws in the thousands of plugins for platforms like WordPress. This is compounded by it being the largest single platform on the web, so is the biggest target.
So not only is ProcessWire more secure, it doesn't get targetted quite so aggressively.
Another benefit of having things purpose built is the performance benefits.
All of the websites I have build in ProcessWire have been lightning quick, because they have been built from the ground up with good practices.
That's not to say other platforms can't be fast when done right.
Less plugins means less maintenance... it's as simple as that.
Thing's still need to be kept up to date, but it's not a weekly chore like some other platforms.
WordPress is the swiss army knife of the web and has become the undisputed king, at least in terms of sheer volume.
It's not all sunshine and roses though because some of WordPress's main strengths are also the main cause of some of the CMS's main weaknesses.
The low barrier to entry that WordPress creates means that even non developers can hack together websites with plugins. This creates a problem though where some people position themselves as developers, but when the shit hits the fan, or they need something custom, they end up in a bit of a pickle.
The vast amount of plugins that make WordPress such a great platform also creates a big problem in that no WordPress admin experience will be the same as another. You could be using Advanced Custom Fields on one site or the Divi Page builder on another. There is no one right way to handle general content management in WordPress.
WordPress began as a humble blogging platform... and a bloody good one at that. Over time though the CMS grew in functionality as the community behind it started creating third party plugins.
These plugins have extended WordPress and made it the do it all CMS it is today.
If you need to extend your site with e-commerce functionality, then just add WooCommerce. Need to be able to update your content, then Advanced Custom Fields or one of the many page builders has your back.
What WordPress does really well is allow you to take a pre built theme and very quickly get a working website. It may not be quite as easy to use as a more bespoke built system in something like ProcessWire, but generally, it will be faster to make a generic templated website.
The largest platform on the web is naturally going to be the biggest target on the web. Compound this with the fact that most WordPress sites are going to be using a number of third party plugins and you have yourself a real can of worms on your hands.
If you carefully choose the right plugins and keep things up to date though, then generally you will be ok. Problems only generally arise when things either get out of date, or you are using lots of less common plugins which aren't as well built or maintained.
A website built properly in WordPress can be just as fast as any other. Generally people build their WordPress websites with pre built themes though, which aren't always quite as quick as a more bespoke build.
This is no fault of WordPress though and is just down to how a lot of the themes are built.
Speed should be something you take more care for when building out a WordPress site though as it's easier to chuck a site together with themes and plugins and end up with a sluggish mess.
Perhaps one of the biggest drawbacks of WordPress is the fact it seems that every other day a plugin needs updated. The more plugins you have, the worse this will be.
You end up facing the dilemma, if you do update all your plugins and the WordPress core then will it still work after. If you don't update everything then will it still be secure.
This wouldn't be so bad if you were looking at doing it once a year, but updates come in thick and fast and it creates a bit of a maintenance nightmare.
Please don't bother with these website builders. They are only suitable for the most basic of websites and even then the results aren't that great. Generally, it doesn't work out as cheap as you would hope for either.
Ok so I just advised against the use of website builders... but this one is different.
Webflow is a builder targetted at developers or people with at least some basic knowledge of HTML/CSS. Because of this it's actually very nice to work with and provides a competent enough CMS for basic websites.
The only real drawback to using this as an actual CMS is that it ties you into their platform/hosting, which is perfectly fine for simple sites.
This may be one to watch and might take over some of my more simple projects since the builder can save quite a bit of time when designing websites.
Seems to be popular with larger e-commerce builds and does give a decent end user admin experience. But it's bloated and not very nice to work with from a development standpoint, which also makes it more expensive to build on.
Great if you just need a quick pre templated e-commerce online shop. Not quite as flexible as WooCommerce or other e-commerce platforms though.
If you need an e-commerce site on a tight budget though then this is a good starting point.
A middle of the road e-commerce CMS which is relatively easy to work with. It wouldn't be my first choice, but I have built many websites with it in the past, before moving to WooCommerce.
Outdated and not as easy to work with.
Outdated pile of garbage that is a nightmare to work with.
Very similar to ProcessWire, but they charge a substantial fee to use it. Overall seems like a nice enough platform, but doesn't really do anything that ProcessWire doesn't do.
So I have only gone into detail of 2 CMS's and this is because these are the 2 I personally use and recommend. Keep in mind that this article is purely my personal opinion based on my own experiences over the years.
My logical process when picking a CMS usually goes along the lines of: