I once heard someone say if WordPress is to Legos, then Drupal is to plastic.
Let's start by seeing how similar they are.
If we were to create a Ven Diagram, the overlap section would be large.
WordPress and Drupal Similarities:
- Backend code is written in PHP
- Free to use
- Released in the early 2000s
- Natively connect to a MySQL or MariaDB database
- Require the same server setups
- Manage content (e.g., blogs)
- Extendable via Plugins (WP) and Modules (Drupal)
- Extensive library of online tutorials, forums, and troubleshooting
- Require updating
WordPress and Drupal are actually very similar, and to a laymen's eye, they are basically the same. But once we look under the hood, we'll start to see how they differ.
Generally speaking, Drupal is the "better" platform. Drupal can do anything WordPress can do and more. But doing some things in Drupal might be overkill, so WordPress is sometimes the better choice.
Watch my video or read ahead below.
Here's how they are different.
What WordPress is and isn't
WordPress makes a lot of assumptions about the kind of website you are using. While it can be extended and modified, it's a little more rigid.
The two main assumptions it makes are that you have a blog and that you have pages. Both of these are types of content.
Basic Types of Content
A page is meant to hold any one-off content such as a homepage, contact page, or blog overview page.
A blog (which are called Posts in WordPress), is a type of managed data. Managed data is a key to choosing between WP and Drupal.
To understand managed data, let's look at a blog which is a perfect example. Every time we write a blog/Post, we create a title, image, body, and category. We don't design the blog every time; we merely fill in a form with all those data points (title, body, etc.). We design one blog, or to be more specific, one blog template. That one template is used for every single blog. So in the template, we say "show the title here" or "show the body there," and then it dynamically displays the info for whatever blog we view.
Easy to Use Design Interface
While Drupal has a system to manage Posts and Pages (and is much better at it), WordPress's strength is its user interface to design the pages and blog template.
Actually, out-of-the-box WordPress doesn't have design tools, but by adding Elementor or WPBakery, you have very capable tools to layout and design a page.
Without any design code (HTML and CSS), designers can create beautiful web pages with ease.
These page builders are very capable design tools - laying out content in columns, rows and adding styles such as backgrounds and padding is done with ease.
Plug and Play Plugins
WordPress has a massive library of plugins. Usually, you download them, and they are ready to go. While this seems like a benefit, it actually plays into WordPress's rigidness a bit. For some stuff, it's nice to install a plugin and for it to be ready to go.
The more flexible things are the more configuration that is needed. Remember, WordPress is like Legos, so if you need a roof for your house, you just snap it on. If you need a "roof" in Drupal, you need to melt the plastic and mold it to how you want it. But the so-called roof in Drupal will be more much more integrated with the house.
By the way, Plugins tend to cost money on WordPress as Drupal they are free.
WordPress End of Life (Coming Soon?)
The software evolves with the needs of the software, and as a result, updates are released. If you are running a WordPress website, you know that there are always core and plugin updates released.
You don't know that there are only so many updates they can make before an entire rewrite is required.
WordPress is at a point that the entire foundation needs to be rebuilt. Off the top of my head, I'd say the four most significant changes would be:
- Rewriting it using Object Oriented Programming (a much more modernized structure)
- Reworking the caching system so when content updates happen, the relevant caches are cleared
- Adding an event system to replace Actions
- Adding a dedicated templating system (PHP templating is old-school)
The problem with rewriting WordPress is every existing Plugin would become incompatible and need to be rewritten. Drupal went through this recently when completely rebuilding it, which required a massive community effort. So many of the modules were upgraded, and Drupal is better off for it. WordPress, on the other hand, doesn't have as active as a community, and part of the reason that WordPress is so attractive is because of the library of plugins. Rewriting WordPress would leave far fewer available plugins.
What Drupal is and isn't
Drupal can do everything WordPress can do and more. But Drupal can also be overkill for certain scenarios.
Drupal is not a beginner's platform. It takes time to curate the necessary knowledge to build a website properly. The learning curve is steep.
The more abstract a platform is, the more time it takes to build something, but the better the results.
Drupal is very abstract - remember it is the raw plastic to WordPress's Legos.
The time it takes to learn it is definitely worth the wait, however.
Drupal's content management system is the most flexible and powerful on the market. It is straightforward to model basic to complex data. The system is highly relational, scalable, and maintainable.
It has out-of-box support for building custom content types and extending existing content types.
It also has "Views" which is a mighty query builder which lets you retrieve content based on your input (e.g., filter by X, sort by Y, and MUCH more).
Drupal Has A New Engine
Remember how I was saying WordPress needs to be rebuilt? Drupal went through this for Drupal 8, and it was well worth it. The architecture is modernized, more flexible, and will handle future changes with ease. Building on Drupal means your website will be compatible with future versions for years to come.
Difficult to Work with One-Off Pages
Drupal excels at managing a lot of content. But working with a single page like a contact page is a hassle. There are no design tools where you can style a page without code. While you can achieve a contact page, it takes more work.
Excellent Templating System
In a CMS, the backend/PHP prepares the page to be outputted in HTML, which the browser reads. Dynamic templates need variables/placeholders for things like the title and body. Drupal uses Twig to handle the templates. It's like HTML, but more powerful and like PHP but not as powerful. So Twig sits in between PHP and HTML.
The old-school (and WordPress) way of templating is to do it all in PHP. That's bad practice as it becomes hard to maintain, read, and write. PHP should prepare the variables, and Twig should implement them and output them as HTML.
Drupal is FAST
You'll be shocked at how fast Drupal is. The speed is thanks to a very powerful and intelligent caching system. There are MANY caching layers in Drupal to deliver the fastest page load times a CMS can achieve.
The caching is necessary as the structure of the database is built for scalability, which sacrifices performance. The caching makes it that the database isn't used much, and the page loads are rendered from the cache.
Drupal is great for managing a lot of content and WordPress is great for designing one-off pages.
WordPress, however, is often overused if you only need to create a basic website. Check out Duda. And see how it stacked up in my WordPress vs Duda comparison. It is an all-in-one platform with all the website tools you need to create amazing websites - no need to update it, install plugins to get going, or deal with SSL and servers.
I try to limit WordPress as much as it makes sense by using Duda for a simple website (it actually has simple content management in it, too) and Drupal for complex/extensive content management. View my CMS comparison to look at additional systems.
Happy Building (and reach out if you need help deciding)!