The Fragmentation of Content Management
The contrasting fortunes of the leading CMS platforms, makes developing a website much more difficult.
There was a time were when developing a website started with deciding between WordPress, Joomla and Drupal. These three content management systems dominated the CMS market for over a decade, but in the last couple of years, the situation has been changing. There are no longer three major CMSs. Instead there is only one. WordPress is ubiquitous, now powering over a third of the web.
WordPress Everywhere
WordPress is sweeping all before it in the market for small business websites. Everyone knows how to develop a website using it. Editing content with it is straightforward for non-technical users, particularly after the release of their new Gutenberg content editor. That is not true for many of the other technologies used to build websites. As such, its popularity has become self-perpetuating, with many developers using it because it is free and popular. Many Web agencies have standardised on it because it's easier to find WordPress experience than any other CMS skills. Whatever you are trying to do in WordPress, someone has done it before.
Meanwhile, their former rivals are in deep decline. The number of sites powered by Drupal and Joomla has dropped by over 20% in the last three years. Many businesses are switching away from them in record numbers, but not normally towards WordPress. In the enterprise space, Adobe Experience Manager is exploding in popularity because of it's flexibility and scalability. Adobe's backing gives it a degree of credibility that an open source technology such as Drupal is lacking. Many enterprise websites are now developed entirely in-house, which gives a major advantage to CMSs that have the backing of an enterprise sales team and commercial support contracts.
Decline of the Old Guard
Underlying the diverging fortunes of these content management systems is their contrasting origins. WordPress is still at heart a blogging engine. A lot of effort has been put into expanding its feature set for other types of sites, but blog posts and web pages still form the core of the platform. Other types of content must be managed using plugins. That makes it more approachable for non-technical users, who find dealing with templated content built using content types more difficult. This is because what users enter into the CMS doesn't translate directly to the front-end presentation, which makes planning the impact of updates more difficult to visualise.
Drupal does not divide content this way. Everything in Drupal is a node, and page or article nodes are no more privileged than any other type of content. This is great for sites with a lot of highly structured content, such as media catalogues or retail stores because the system automatically generates a page for every catalogue item. When combined with a product catalogue automatically synced from an ERP or inventory management application, you get a fully automated online store. Until recently, Drupal worked less well for modular sites with generic content across a small number of pages. The editing experience for blog articles and standard pages was inferior to competing platforms, including WordPress. This has changed with the new Layout Builder module but there is a lot of legacy content to overcome before existing sites can implement it.
More Options
It's not just WordPress which is eating the market share of Drupal. At a smaller scale, the big boys are facing competition from a wide variety of specialist tools for building websites. Dedicated eCommerce platforms, such as Shopify, now power many smaller online retail stores. This has impacted Drupal and Joomla in particular. Low code site builders such as Squarespace and Wix are competing with WordPress among personal sites and microbusinesses. Web applications increasingly don't use a CMS at all, instead of relying on Javascript frameworks such as Angular or React.
All this complicates decisions about CMS selection and about how to architect websites. The need to integrate the web into the broader marketing technology stack adds to the confusion. Not every CMS integrates with every type of platform. You'll struggle to integrate Squarespace with Eloqua for instance, unless you have a developer who can code a custom integration. Those two tools are developed for completely different audiences.
The starting point for any website project always needs to be content. Specifically, what types of content you are trying to publish, and who needs to be updating it. If you're only publishing static web pages that don't need to be updated regularly, then you may not need a CMS at all. Static Site Generators such as Hugo or Jekyll can be used to simplify the process of developing a static site built in straight HTML. An enterprise with large amounts of disparate content types in multiple languages will need to start by looking at Drupal or AEM. All too often, digital teams make decisions about the CMS or publishing platform before they've decided on the content. There are generally solid business reasons, but they almost always regret it.