My Thoughts on Drupal

Let me first say that this is no way going to be an in depth review or comparison article.  I am primarily a WordPress developer.  However, over the last few years I a have been hired to work on a handful of Drupal sites.  At first, I will admit that I didn’t like Drupal.  It just seemed a little outdated and way more complex.  Caveat: I have only worked on Drupal 7 sites which is why they seem outdated.  I can not speak to Drupal 8 or Drupal 9 (D9 was just released last June).  However, here are my observations and my personal opinions.

Drupal Cons:

  • Finding ‘How to Articles’ isn’t as easy.
  • Understanding the ‘How to Articles’ is not as easy.
  • The documentation isn’t as clear and easy to follow as the WordPress Codex.
  • The developer community just isn’t as big as the WordPress community.
  • The template hierarchy is more complex with regards to things like page, node, block, views, etc., but perhaps this is just my perception because I have the WordPress template hierarchy ingrained in my brain.
  • It seems like the admin has way more configuration options and things often require clicking 2-3 times to find the right ‘Visibility’ or ‘Permission’ setting.
  • Setting up menus seems more complex that it should be.  Ie.  Set up menus, then to get extra styling or features you need SuperFish or OM Maxi Menus, then assign/attach Menu Blocks…  But sometimes you have to click even deeper into the Visibility settings to add custom classes…

Drupal Pros:

  • The ability to create custom blocks that will except full html and or php code.  Not sure I would build tons of php into blocks, it is certainly nice for adding includes to custom modules.
  • Custom Modules – I like being able to build a pure PHP page for something like a weather feed using a 3rd party API to grab JSON data, write my foreach and render the data in a grid, then simply add a PHP include statement to that custom module.
  • Built in optimization tools and caching, thus you don’t need to install new plugins

Well, in order to keep this article from turning into an in depth review.  I am going to stop here.  At the end of the day, I will say that I don’t love Drupal, but I also don’t hate it.  Perhaps, it is starting to grow on me.  I do hope to one day get to work on a Drupal 9 project.  But for now, if I had to start a new website project, I would pick WordPress as I haven’t found a scenario yet where I couldn’t customize WordPress to meet my client’s needs.  Then again, I have streamlined processes in place from dev, to stage, to production, github, deployHQ, hosting, core plugins used…  I just don’t have that yet with Drupal.