Drupal: An Overview

Table of contents:

Drupal logo

What is Drupal?

Drupal is an open-source content management system (CMS). Out of the box, it allows you to create websites and manage your content through a simple administration interface. However, because of Drupal’s flexibility and extensibility, it’s more like a content management framework.

Drupal allows you to construct your own CMS suited for the needs of your business or organization. It has structured content capabilities that are best in class, and you can implement simple and complex content models, relating different pieces of content to each other in creative ways. You can implement editorial workflows that scale to the size of your team. You can integrate with external services to pull content in or push content out. You can even use Drupal as a backend to power a decoupled ecosystem of applications.

And so much more. From Drupal.org:

It's also a great choice for creating integrated digital frameworks. You can extend it with any one, or many, of thousands of add-ons. Modules expand Drupal's functionality. Themes let you customize your content's presentation. Distributions are packaged Drupal bundles you can use as starter-kits. Mix and match these components to enhance Drupal's core abilities. Or, integrate Drupal with external services and other applications in your infrastructure. No other content management software is this powerful and scalable.

What can be built with Drupal?

Drupal can power any type of website. Blogs, community hubs with social features, marketing platforms for all sorts of organizations, conference websites, ecommerce platforms, and media-heavy destinations like newspapers. You can also use it to power systems of sites for governments or higher education institutions. 

Drupal’s content modeling capabilities, which allow you to add whatever kind of field you want to various types of entities, offer a solid foundation for all sorts of use cases. Combine it with Drupal’s built-in Views, which allow site builders and developers to rapidly create dynamic lists of content based on any criteria, and you get lots of possibilities.

It does some of these things better than others. For example, if you want a simple blog or personal website, Drupal might be excessive, and you won’t find many ready-to-go themes, at least in comparison to WordPress. Instead of a bound book ready for you to read, you are given the paper, and then you must choose the binding material and cover so you can create your own book. For many, that might be exactly what they want.

Similarly, you can also develop applications quickly with Drupal, as long as you know what you’re doing. Because Drupal provides so much functionality out-of-the-box, it can help you build a working prototype relatively quickly (If you’re familiar with Drupal’s patterns and ecosystem). However, in the long term, you might be better served with a pure application framework for building pro, like Symfony or Laravel, or one of the many JavaScript-based frameworks.

So who is Drupal for? Who gets the most potential upside of investing in a Drupal solution?

Who benefits the most from using Drupal?

Organizations whose website is strategic to their success and where they value ownership and control of their own website technology stack benefit the most from investing in Drupal. Its multilingual capabilities make it popular with global organizations that need to provide content in two or more languages. There are proprietary CMSs available that could power their websites, but they wish to avoid vendor lock-in, high licensing fees, and the inability to customize things on their own terms.

There are also other open-source projects that could power their websites, but with Drupal, they get unparalleled flexibility, ready-to-use content APIs, and robust security. Its community is large and active. Drupal has also been validated in the enterprise space for over a decade.

If your website is central to your core business, you need to manage a lot of content, and have large content teams collaborating to publish that content, Drupal is a great choice.

Who uses Drupal?

Drupal has proven itself so versatile that many different types of organizations use it to power their websites.

According to BuiltWith.com, almost 10% of the top 10,000 sites in the world are powered by Drupal.

Misconceptions and misunderstandings about Drupal

Drupal is a mature content management system and has been around for a long time. With that long life comes a reputation, some of it earned, some of it unearned. There are still some misconceptions about Drupal that are worth debunking.

Drupal is complex

It’s true that, under the hood, Drupal is a complex piece of software and has a lot of moving parts, including upstream dependencies. But this is not unique to Drupal. Compared to most JavaScript projects, Drupal has far fewer external dependencies, and those dependencies are well-vetted by the Drupal community and maintain high-quality code

If this objection refers to the editorial experience and managing the website, this is also dependent on customizations that have been implemented. Out of the box, Drupal is very straightforward and easy to use. But lots of organizations modify the experience to get it just right, and often, they don’t follow best practices. Or they don’t plan properly for their desired audiences. This can lead to bloated forms and confusing navigation. 

Drupal’s tooling is such that it might make it easier for things to get out of hand. With great power comes great responsibility, after all. A box of LEGO bricks can become a beautiful toy, or those same bricks can be strewn across the floor, waiting to be stepped on by a bare foot. If someone accidentally steps on one of those bricks, that’s not the fault of the brick.

Drupal is hard to code with

Drupal is powered by and uses many of the same patterns as Symfony PHP components, following well-established OOP principles. If a developer knows PHP and Symfony, that developer will be able to customize Drupal just fine. While Drupal still has its quirks, this is no different from any other platform or framework. Someone might not prefer the quirks of Drupal, but that doesn’t mean it is more difficult to work with.

Some users of Drupal can get frustrated with the editorial interface because it doesn’t match their expectations and get even more frustrated when those expectations cannot be met without sufficient time and budget. Drupal is a powerful piece of software that can power complicated editorial workflows, but there are some tradeoffs you’ll need to be aware of, and an honest agency will let you know about those tradeoffs. You might be better served with a different CMS but understand that every CMS has tradeoffs you must take into account, and mismatched expectations are not unique to Drupal.

Drupal is hard to maintain

This misconception often arises because organizations find they can’t launch new features quickly, they are drowning in bugs, and things seem to be getting worse, not better. However, this is usually because of a few factors.

  • Previous developers have failed to follow Drupal best practices. They have dumped logic into theme files where it is harder to maintain, or they haven’t gone with the grain of how Drupal is supposed to work when creating custom modules. Or, they have treated Drupal like it’s WordPress. We have cleaned up many Drupal builds, and once this technical debt has been trimmed to a manageable level, most development teams have no problem maintaining Drupal. A lot of custom solutions get slapped onto Drupal, and then Drupal gets blamed because those custom solutions are hard to maintain.
  • Drupal core and contributed module updates are not kept current. This can introduce incompatibilities and fragility. While it's true that Drupal is not as easy to update as WordPress or SaaS CMSs, when compared to other enterprise-level CMSs, Drupal compares favorably. A knowledgeable developer will have no problems, and there are many support and maintenance offerings available if you don’t have the technical expertise on staff.
  • Before Drupal 8, Drupal had ways of working with it that were unique to Drupal. Even experienced PHP developers could have problems, and this could lead to them to solutions that did not follow best practices. This reputation can still persist, even though Drupal is now powered by Symfony components, and there is an easier onramp for PHP developers.

Drupal is more expensive than other CMSs

This is usually a different way of saying one of the above misconceptions, just in a language that different types of stakeholders resonate with more. If Drupal is complex, hard to code with, and hard to maintain, that must translate into a higher cost, right? But since those “ifs” aren’t necessarily true, neither is the conclusion.

As long as you plan accordingly, hire the right experts, and go with the grain of how Drupal works, then a Drupal website project will be comparable to other CMS website projects. In many cases, it will be a cheaper option. And with Drupal, you’ll have freedom and flexibility.

Is Drupal an accessible platform?

Short answer: yes. Drupal is built and designed with accessibility in mind, making it easy to create websites that everyone can use regardless of physical ability.

The project has a dedicated accessibility team that works diligently to ensure that Drupal is accessible to all users. This includes code review to ensure that submitted patches adhere to WCAG 2.1 accessibility guidelines before acceptance, making Drupal's core themes and modules accessible, and providing accessibility tools for site builders.

Drupal includes many built-in accessibility features that ensure that content is accessible to screen readers and other assistive technologies, such as semantic HTML markup, required alt text for image uploads, ARIA labels, and other tools that make it easy to create accessible content. Drupal also natively includes keyboard navigation support, which allows users to navigate the site using only a keyboard.

Now, all of this doesn’t mean it’s foolproof. Any custom development, especially theme development, can make things inaccessible quickly if the developers do not follow best practices. Designs can enshrine terrible contrast ratios. So, while Drupal core takes accessibility seriously, that doesn’t mean you can slack off when building out new features.

How secure is Drupal?

Drupal has a dedicated security team that is responsible for reviewing and addressing security issues in Drupal core and contributed modules. Security patches are released consistently and predictably, making it easier for site administrators to stay up-to-date and secure. Any changes to Drupal core go through a strict review process. Many popular contributed modules follow a similar process.

Drupal's architecture is designed with security in mind. Drupal has a strong access control system that allows site administrators to set granular permissions for users and roles, and also includes built-in protections against common security threats, such as cross-site scripting (XSS) and SQL injection attacks.

Many contributed modules are also covered by the security team. You can tell if a module is covered by looking for a shield icon at the bottom of the module page, as you can see with the Type Tray module.

Type tray module release information, security shield and usage statistics

If a security vulnerability is discovered in a popular contributed module, it’s not always up to the maintainer to fix it. Sometimes the security team will step in to create a new release. However, for less popular modules, if the issue remains unfixed, the module will be marked as unsupported. While this benefit is hard to quantify, you shouldn’t ignore it. It’s one of the many gears that work beneath the surface to keep things running smoothly.

Migrating to Drupal

Drupal has a suite of migration tools that are robust, feature-rich, and stable. As long as you have access to a data source, like a relational database or even CSV files, you can pull data into a Drupal website. Not only that, but you can transform and combine that data before you insert it. This means that no matter what platform you need to migrate from, Drupal’s migration tools will be able to meet your needs. If coming from WordPress, there is already a module for it.

While these tools are reserved for developer use and customization, you can know that they are tried and tested. The official path for upgrading from Drupal 7 to Drupal 8/9/10 includes using these tools. You won’t have to reinvent the wheel. However, that doesn’t mean a migration will be cheap or easy. If you take this as an opportunity to rework your content model or implement a redesign, you’ll need additional planning. Sometimes, determining what you don’t want to migrate is just as important, and those audits don’t do themselves.

Every migration is a little different. Goals, audiences, servers, content models, and more all come together to form a unique fingerprint. But because of the work put into Drupal’s migration tools and processes, there is an undercurrent of commonality, so the path forward is never completely unmarked.

A brief history of Drupal

2000: Created by Dries Buytaert in his dorm room as messaging board software.
2001: Drupal 1.0 released.
2001: Two months later, Drupal 2.0 is released. Basic translation system introduced.
2001: Six months later, Drupal 3.0 is released. Nodes introduced.
2002: Drupal 4.0 is released. Taxonomy is introduced.
2003: Howard Dean’s presidential campaign uses Drupal.
2005: Drupal security team formed.
2006: Drupal 4.7 released. Form API introduced. Views module is released, along with CCK, which makes site building more flexible and powerful.
2007: Drupal 5.0 released. Acquia is founded.
2008: Drupal 6.0 released.
2009: Whitehouse.gov uses Drupal.
2011: Drupal 7.0 released, which is still the most popular version of Drupal. Field API (formerly CCK) is included in Drupal core.
2015: Drupal 8.0 released. This represented an overhaul of the architecture, introducing Symfony components. Views is now included in Drupal core.
2020: Drupal 9.0 released. The first new version of Drupal to follow the new release schedule, aimed at more minor updates and a faster release schedule.
2022: Drupal 10 released. New default themes Claro and Olivero. Drupal now uses Symfony 6.
2023: Drupal 11 released. New navigation, Single Directory Components, Workspaces, and Recipes.

Visit DrupaHistory.org for a more detailed timeline.

What is the current version of Drupal?

Drupal 11 is the latest release of Drupal. 

Drupal 10 will reach end of life, with no further security support, sometime in 2026 to coincide with the release of Drupal 12.

See more details on Drupal’s release cycle.

Should you use Drupal for your next project?

There are many good reasons to choose Drupal as your content management system, but it might not make sense for everyone, depending on your organization and circumstances. These questions will help narrow down your answer.

Do you need to manage a lot of content on your website, and is your website strategic for your success? Drupal shines for this use case.

Do you value ownership and control over your website technology stack? Since Drupal is open source, you won’t be limited by restrictive licenses and fees.

Do you need the power and flexibility of connected and relational content? Drupal can model complicated domains, enable powerful editorial workflows, and offer flexibility to build whatever you need. But…do you really need all of that? To do it right, you’ll need to invest time to plan and money to implement.

Do you have at least one experienced Drupal developer on staff, or a trusted agency partner who specializes in Drupal? While PHP developers will be able to get things done, it helps to have someone who already knows the vocabulary and best practices. And many agencies will say they do Drupal, but it is an afterthought for the rest of their business.

Are you ok with following best practices when it comes to the editorial experience, even if that means it’s not working exactly like you imagined it? Drupal is flexible and can do almost anything, but, like other CMSs, it does some things better than others. Just because something can be done in Drupal doesn’t mean it should, or it could be unexpectedly expensive and cause maintenance headaches in the future. If your expectations are set accordingly, Drupal will not disappoint you.

Is Drupal the same as Acquia?

No. Acquia is a company co-founded by Drupal’s creator, Dries Buytaert. Acquia provides enterprise hosting and support for Drupal applications, along with additional marketing tools. Sometimes there is confusion because industry research organizations like Gartner use the name “Acquia” when they are really talking about Drupal.

Acquia invests heavily in the Drupal project and has helped increase its name recognition, but Drupal does not belong to Acquia. Drupal belongs to the community and is free software that anyone can use and modify.

How to become a Drupal developer

Drupal is so powerful that it can feel daunting to learn. If you already know PHP, we recommend reading some of the Symfony book or the documentation. These will get you familiar with some of the same patterns you’ll use when developing with the latest version of Drupal, especially object-oriented PHP.

Install Drupal for yourself and play around with the interface. Try to build something basic and browse through the contributed modules. Pantheon offers a free development instance of Drupal, so you can kick the tires around without configuring a local environment. Start tweaking things with your own modules and themes.

For a full guide for someone who doesn’t know PHP or Git, check out the full guide on how to become a Drupal developer at Drupalize.me.

One of the first Drupal agencies

Lullabot has been building things with Drupal since 2006. We're also dedicated to improving Drupal for everyone who uses it. If you want to evaluate the platform or are ready to move forward with your project, contact us.

We have worked with state governments, higher education, and enterprise organizations. Check out our work and the services we offer.

More resources: