When it comes to content management systems for building websites, two options stand out to me as the best among open source solutions: WordPress and Drupal. If you have any other favourites, please feel free to comment below. For now, I’ll speak from my experience on the advantages and disadvantages of each.
Note that I have yet to try Drupal 8 – the newest version – so some comments may be a little out of date. I am hoping to get some time experimenting with that version soon, but from everything I’ve heard so far, a lot of valuable plugins are not updated to be Drupal 8-friendly yet and it might be better to stick with 7 for a little bit longer anyway.
Both WordPress and Drupal are available for free as an open source plugin that you can install on your own host. Many hosts even include tools to automatically install and set up everything you need: files, databases, and configuration settings. In my experience, WordPress is more likely to be available this way than Drupal. This isn’t a make or break feature, but it can speed up and simplify your installation process.
As well as these self-hosting options, WordPress also has an even more user-friendly version on wordpress.com – as opposed to the open-source version at wordpress.org. The chart below demonstrates the major advantages of each:
No hosting costs
Less security risks
Use your own domain name
More flexibility in themes and plugins
No ads – or ads where the income goes to you
Winner WordPress by an almost-negligible margin.
Ease of Use
I have told many people that if you can use Microsoft Word, you can use WordPress. Maybe that’s not true of every feature (e.g. custom CSS styles) and there could be cases of themes or plugins not having clear settings, but really, 98% of the time, you can build and manage an attractive site easily within an hour of playing around even without significant computer experience. The content editor is intuitive, as are settings. Finding themes is easy, although you might have some analysis paralysis if you don’t know where to start because there are so many options. Jetpack offers a slew of other valuable tools that you can be confident will continue to work well since it is developed by WordPress themselves. And so on and so on.
Drupal is not as intuitive. That doesn’t mean you need to be a computer scientist to be able to understand it, but you probably will find that you will need to spend a lot more time poking around to figure out how to do that simple thing you have in mind to do. This complexity in use is primarily because there are more tools available, although Drupal arguably could have arranged some of them in better ways.
Design Flexibility: Blocks/Widgets
WordPress offers what they call widgets, a variety of box types that can be inserted into areas of the theme specified by the theme developer. Drupal offers something similar called blocks. The interface in WordPress is a bit more obvious, but the functionality is ultimately pretty similar. Plugins/modules can create some content for these, or they can come from other sources, such as manually-entered text or Views.
The primary selling point of Drupal to me is Views, a module that should be installed on every Drupal site. Views allows you to customize how you see your content with a lot of precision: filtering and sorting content, displaying specific fields on some pages but not on others, applying custom style sheets. WordPress does not offer anything similar out of the box, although some plugins try to emulate the basic functionality. If this is something that is potentially useful to your website, just go with Drupal.
Both WordPress and Drupal offer blogging functionality, but it is pretty obvious that WordPress started as a blogging platform while Drupal slapped it on later. If your site is built with a regular blog as a key piece, WordPress is a better choice.
What WordPress calls plugins, Drupal calls modules. These are add-ons to increase functionality of your site beyond what are provided in the core CMS. Broadly speaking, WordPress has a lot more to choose from. WordPress plugins are also easier to install and less likely to cause conflict with WordPress core or with other plugins or themes – something that happens somewhat regularly with Drupal, meaning you need to be careful about applying updates. Drupal will typically cover the necessities, but that’s about it.
For smaller sites, I’m going to almost always default to WordPress due to its ease of use and general reliability. If you are considering for a larger organization, though, or are simply confident that you will have the time and expertise to maintain a Drupal site effectively, some of the added flexibility may be worth it. That’s especially true of Views, which can single-handedly sway the question of what is best for your site.