A few cons

Published Sep 30, 2021
Updated Sep 23, 2022
By Simon

With all the great things that Drupal offers it may not be the best solution for every project, just like other CMSs on the market. The following are some cons that I feel I should bring up so you can make an informed decision. Obviously some of these you won't see as a con and if that is the case it may mean that Drupal could be an option worth investigating further.

Database

You need a database. By this I mean you need to have a server and host a database. I don't find this a negative but if you look at the chatter around the development community you will hear a lot of hype about JAM stack, hosting and speed. This is all fine but at some stage, you will need a data store and you will need to pay for hosting.

The speed I mention here also is not an issue as even with a JAM stack you need to fetch data from an API, and the front-end of Drupal has an awesome default caching system and other caching modules that can be added to serve your site from a cached version, much like what JAM stack is talking about.
I have managed to set up and run a basic site on a self-managed $2.50 or $5/month hosting plan and score top performance results using Lighthouse10 site analysis.

Hosting Server Maintenance

Not exactly Drupal but if you go for cheaper virtual machine hosting such as the above-mentioned $2.50 or $5 plans, you will need to keep the Linux distribution up to date. This is not so difficult and as your business grows you can move to managed servers. A similar managed server costs about $20/month.

Some shared solutions will run your Drupal site but you need to be aware of the limitations. If you went for a shared option it would be good to have shell access. Again to get going it can be an okay option and over time you can pay more, this will always be the case. One thing to be aware of a cheap $2.50 - $5 shared hosting solution even though it can work will be less powerful that the above self-managed virtual machines.

In the end, you can always upgrade the service as time goes on.

Ongoing monthly core release updates

I don't really see this as a con but it needs to be mentioned as the monthly release cycle means that every month you will have a minor release, and possibly a security release, in these release windows. This really is a pro and it means you keep your site moving forward incrementally.

The reason for these monthly release cycles is closely tied to moving towards major version upgrades to coincide with Drupal core dependencies. The fact Drupal uses PHP as its main language and Drupal 9 supported PHP 8 when it was released (26 Nov 2020 ) shows you that the team behind Drupal is committed to keeping Drupal at the forefront.
Also, the fact that Drupal doesn't re-invent the wheel and uses dependencies such as Symfony Twig template engine, Symfony router, and CK Editor shows that a lot of thought has gone into making the system the best it can be.

So all in all even though at first sight monthly release updates may seem like a con it actually works out as a pro. If you don't think you will be using your site in a year or two from now you might be better with a SAAS solution such as WIX or Squarespace. Then again to manage a basic Drupal site won't cost much more than a middle-of-the-range package on one of these platforms.

Module Updates

Module updates are done when the maintainer adds new functionality and a lot of modules are considered feature complete meaning updates are few and far between. So if you keep contributed modules to a minimum and use long-trusted essential contributed modules you won't have many updates and even then they are easy to update via the Drupal UI or with Composer.

No Drupal core automated updates

You need to learn some basic concepts to keep your site's core up to date. If you read updating Drupal core you will see that the process is not so complex. If you use any other self-hosted solution such as WordPress you also need to have a backup and test site so this really only comes down to having a one-click update to having to log into the server and run a handful of commands. Manual tarball updates are about 5 commands and composer updates are about 3 commands. You can check my Updating Drupal article to get an idea.

Security auto-update is currently under active development which will apply security patches while you sleep and works on many VPS. This is now a released module but you will need to have the right type of server and security set up to use. Most shared hosting will work.

10What is Lighthouse?
Lighthouse is an open-source, automated tool for measuring and improving the 4 main metrics of performance, accessibility, best practices, and SEO of you website or app. I've written about Lighthouse and designkojo.com which runs on Drupal

 

Tags