As a disclaimer, I began with CMSs back in 2008 with Drupal, so I have more experience there. I’ve done a lot of Drupal site development. My experience with WordPress was limited to the blogging piece of the system until 2012, when I actively began building sites with WordPress. Now that the disclaimer is out of the way, let’s talk about what I think the differences are between the two systems.
For the purposes of illustrating my opinion, let’s say we have a client who needs a website built. The website will be for a property management group who owns several different office buildings. This website will be the Group’s general communication tool between office building managers and the management group. There will be 3-4 different types of users, each with different access levels to specific types of content. The site will also need four different content elements: one type of content for each Office Building and its description, one type for Work Orders, one type for Accident Reports, and one type for Tenant Feedback. We also need to associate the Work Orders, Accident Reports and Tenant Feedback pages back to the Office Building that they apply to. We don’t want the client to have to enter all four pages for each Office Building manually, so we will need to automate the task. Then, we’ll need to build a page that will show a general overview of all properties, with a drill down capability. From this page, we should be able to click a specific Office Building’s name and get to a page specific to that Building, showing its related content.
Our need for different user types with specific access levels comes right out of the box with Drupal, no need for customization. The ability to auto-create three different pages after the user has completed the Office Building page can be achieved quite easily using Drupal modules Rules and Entity Reference. Finally, we can have the system dynamically create the content on the Home page and individual Office Building pages using the Drupal module Views. So, just installing Drupal and these four modules, we’ve already got some pretty dynamic functionality without much customization.
I believe that out-of-the-box usability for the non-web end user (aka my clients) is much greater with WordPress. I’d go as far as saying its more intuitive even. Now, where WordPress is easier for the end user, it falls short when it comes to system customization and ease of use for the web developer (in more complex sites like the one outlined above).
In my opinion, Drupal has much more granular control over user types and their associated permissions, natively. Its widely used modules Views, Rules, and Entity Reference also allow for much more flexibility when rendering different pages dynamically. The Drupal build (above) will take more time and effort to get the best user experience for my end user, however, its worth it to me and more straight forward to spend additional time refining the interface and less time trying to figure out how to customize the WordPress core to fit these non-native needs.
For me, the answer to which system to use depends on the overall purpose of the site, the end user’s needs, and which system requires the least amount of extensions in order to get it working appropriately.
WordPress is a great tool for sites with page and post types of content, without the need for much customization on these pages. Its more intuitive for those with no coding knowledge and its highly extendable with plugins.
Drupal is a more complex tool with greater development capability, without adding an exorbitant amount of modules. The Drupal system will require more refining (or training) in order for it be intuitive to a non-web-type person.