When Not To Use Drupal

when not to use drupal

When Not To Use Drupal

Drupal is the number 1 platform for web content management among global enterprises, governments, higher education institutions, and NGOs.

Flexible and highly scalable, Drupal publishes a single web site or shares content in multiple languages across many devices. Technology and business leaders transform content management into powerful digital solutions with Drupal.

It’s awesome, but sometimes developers end up using it not being the best option and increasing the project complexity without need. So, when not to use Drupal?

Drupal is and was intended to be a Content Management System

You can argue that every website has some sort of content, but not all content should be "managed" with Drupal. On top of that, it doesn't mean you need a Content Management System for every website available out there.

Drupal is a good option when you are concerned with managing content workflows between multiple users on your system. As a basic rule of thumb, a good checklist for a Drupal implementation would include the following:

  • Your web application has different users.

  • Users may have different roles that define different permissions and tasks within the system.

  • Users work together on the top of some kind of shared content.

If your system matches this checklist, it's hard to build it from scratch due to its complexity. That's why you should use something already built like Drupal which will allow you to start with a good basis, instead of having to implement everything by yourself.

Regarding such specifications, there are a lot of Drupal websites that should not be built with Drupal and a lot of them are featured online all the time.

What kind of websites shouldn't be using Drupal?

Brochure websites are websites to promote business or company services. It’s a simple concept and it can be picked up time and time again – from the coffee table or your tablet.

A brochure showcases services with effective words and captivating images. It can feature a website’s social media pages, contacts, engage clients across many platforms, show some comments, etc.

Drupal isn't a good fit for these websites, because there is a lot of infrastructure involved: server, databases, security updates and so on.

When using Drupal you have to keep your system up to date. If some security problem is found, you need to update the system and it doesn't make sense to update brochure websites all the time. It would lead to high maintenance costs, not sustainable for these relatively small works.

Single purpose applications are software that focus on a singular user ‘job’.

These applications are most of the time small in complexity and respond to a single purpose, therefore you can simplify your infrastructure and you won't need to overkill it with the complex Drupal structure.

On top of that, if you are dealing with a huge user pool, maybe you want to let go of the HTTP framework in order to boost the scalability. Tools such as node-js would be a good option, but as always, there are a lot of variables to consider. Each work is different.

Games are usually more complex than single purpose applications.

Usually games require tasks like sharing scores and some information between users, but you won't need Drupal for that. In addition, you will probably want to build all the structure by yourself, in order to keep everything well structured and keep up the best performance.

Ok, so what should you use Drupal for?

USE Drupal for Multi-User/Multi-state content based websites. A good example are websites in which you have multiple users interacting and publishing content. Most of the times, such content can have multiple states and each user may be involved in a different state of the content. For instance, one user edits the content on one level and then you have another user who is responsible for reviewing and publishing it.

USE Drupal for the mobile version of your Drupal website.

In conclusion, Drupal is an awesome tool, but don't apply it to everything. Each job is a different job and you should choose the best tools for it.