Every project we undertake has a unique set of demands, and we evaluate each on its own terms. When choosing a platform, we often find ourselves talking with clients about the merits of Drupal versus WordPress.
Both WordPress and Drupal work very well as content management systems. Each provides a robust mechanism for creating and delivering straightforward content. However, as an overarching framework for more than simple publishing, Drupal has far greater capabilities than WordPress, as it is designed to be leveraged and extended.
One of the main advantages of open source systems like WordPress and Drupal is the wide range of plugins and modules that are available to and created by the user community. When selecting a platform, it’s important to ask some key questions:
1. What does the core functionality of the system allow?
2. What additional functionality do existing plugins or modules provide?
3. What further functionality can we get by adapting core functionality, plugins and modules?
4. What remaining functionality needs to be completely customized?
The first question, scoping the core functionality of the system, sets the foundation to understand how much additional work will be needed, as well as what we would need to add to the system. Drupal far exceeds Wordpress in terms of options and flexibility, particularly with the following:
· Configurable content types and fieldsets within content types
WordPress requires additional development or plugins (such as the ACF plugin) to add or remove custom fields to a page or a post. Custom post types require additional custom-coded functions. Drupal provides all these capabilities via the content type and entity form functionalities available in the core.
· Granular user permissions and roles
By default, Drupal provides the option to define custom role types, as well as to provide granular user access to particular functionalities or pages. Drupal also enables all users to create profiles. To achieve similar functionalities in Wordpress requires a combination plugins (such as User Role Editor, Page Security and Membership), plus additional development labor.
· Configurable lists and reporting
Views, core to Drupal is a powerful tool that allows an administrator to build lists, reports, or queries based on anything that is either an entity or a field value within the system, which then can be translated into a page or a widget onto the site. Though WordPress has a few similar plugins (e.g. Query Wrangler), it does not compare to the native functionalities that Drupal offers with Views.
For the types of custom applications we typically create for our clients, we usually choose Drupal. By contrast, if we used WordPress for these applications, we would need to rely heavily on plugins, introducing unnecessary operational complexity, and possibly roadblocks, to our clients.
Another important consideration in choosing a platform is performance. Both Drupal and WordPress can be sped up by leveraging varying types of caching. However, depending on the platform, caching may be of limited benefit, in which case core application performance becomes more critical.
Plugins and modules are great, but they are often developed with a single task in mind. In a real-world scenario you often wind up combining multiple plugins and modules in a single application. They often interfere with one another, and also introduce security vulnerabilities to the system. This is why we look for core application performance rather than relying on multiple plugins and modules. This creates the most stable and reliable platform, which, when all things are considered, delivers the best overall user experience.