Content Management Systems have come a long way in the last few years making it much easier for not only the end user to maintain their site content, but also for developers for building sites with custom and flexible design and functionality. Two of the most popular CMS applications on the market today are WordPress and Drupal. Asking which one is better is like asking if a hammer or a screwdriver is the better tool, the answer is dependent on the problem you need to solve. The needs of the website will determine what CMS will best fit the functionality needs, timeline, and budget.
WordPress is the king of content and blogging and there is a reason that WordPress is so widely used. It originated as a blogging platform, but has developed quickly and consistently to become the most widely used content management system, powering over 60 million websites worldwide. This has mostly to do with its relatively low barrier to entry.
Drupal has a more difficult learning curve for developers, but is a more powerful CMS, handling custom content types, flexible views of all content in the database, and sophisticated user access rules. While WordPress is great for blogs, corporate websites, and small to medium sized websites, Drupal is a ‘one size fits all’ CMS.
Each CMS can expand it’s core functionality through code extensions. WordPress calls these plugins while Drupal calls them modules. While you can get away without using any plugins for WordPress, as its core contains a good base for many blogs or websites, Drupal practically requires them. WordPress is an out-of-the-box CMS that is expanded by additional features, while Drupal is a barebones CMS that is expanded to create the exact features the project requires.
WordPress is like a themed lego set: it gives all the blocks and instructions needed to create a nice looking standard site. You can always customize it with more blocks from other sets, but only if you need. Drupal is like a generic bucket of lego blocks, you build a site based on the blueprints of your website project. You connect working modules together and add the project’s unique logic so the result is exactly what you need.
WordPress content is created in units of posts, which can be pages or blog posts, each containing specific fields. Developers can create new post types and expand them to create different types of content, each with custom fields. Valuable plugins, such as Advanced Custom Fields, allow for the creation of new fields to be added to specific posts or post types. Drupal uses the term nodes for units of content. These can be anything, following the field patterns specified by the content types they belong to. Content types can exist as pages, galleries, events, locations, menu items, or any other type of content.
Categories are less impressive in WordPress. They provide enough to leverage grouping and tagging content, but WordPress handles the structure and term display in a very specific way. Drupal’s taxonomies are much more generic, therefore making them much more flexible. Term and archive pages are customizable and taxonomies can be added to almost anything, even other taxonomies, to create relationships between content for great effect.
One of the strengths of Drupal comes from a module called Views, an add-on that is practically essential. Views allows queries of the content for the website and then display the results on a page, in a block, or an RSS feed. This sounds simple, but the deep flexibility is extraordinary. Content can be mixed, filtered by field or taxonomy, sorted, displayed contextually based on page view, and outputted in almost any way imaginable. This, of course, requires more development time, but can provide a completely flexible environment.
When it comes to theming, WordPress has an immense library. The WordPress community has made thousands of themes, paid and free, that could fit any imaginable niche or style, but WordPress’s theming structure means that creating one is also very accessible. A seasoned developer can jump right into the WordPress framework with little difficulty. Expanding the theme with filter and action hooks customize, extend, and enhance WordPress through it’s API. Drupal’s theming is also quite good, giving granular control over the output but requires more knowledge of each module used to achieve the desired outcome. Regions are also easy to include within the Drupal templates, a much easier approach than WordPress core built widgets and sidebars.
WordPress handles images extraordinarily well. Its media tools allows for client image editing, such as cropping and rotating. Inserting video and other media embeds also are a snap. Developers can specify new image sizes that WordPress will create on image upload. No Photoshop required. The media library makes searching, organizing, editing, and adding metadata to all uploaded files very user-friendly. Drupal allows for developer-defined image sizing, but requires additional modules to add in-browser editing and a media library file browser. These work nicely, but are not as contained and clean as WordPress’s built-in tools.
Both WordPress and Drupal handle security and SEO very well and each has a breadth of plugins/modules and a wonderful and active community. WordPress continues to release new versions, improving on their fantastic base. Drupal is gearing to release version 8 some time at the end of this year. It promises to add some amazing usability and built-in features that could make that platform much more outstanding.
Choosing the right CMS is like picking the right tool for the job. Balance the functionality requirements along with the website project goals and budget when deciding which CMS is key. A good developer can give you the right recommendation for your needs and use either platform to create exactly what is needed.