WordPress compared to Drupal

    | |

    Which is better, WordPress or Drupal?

    This question comes up a lot, and granted I think I used to hear this question more often five years ago than I do now. That might be because things have changed, or it might be because those differences have become more clear. I think back in the day of Drupal 5 and 6; when WordPress had less bells and whistles and Drupal was still geekware and not govware; the distinctions between them were certainly a little more blurry than they are today.

    I had a client though ask me this week for an overview of why they would choose one over the other – so that led me to making the table (below) and this article.

    Drupal is better at complicated things.
    WordPress is better at simple things.

    This quote pretty much sums up everything I’m about to say, though the details of this can be revealing and naturally not everything is black and white. But it is a good place to start.

    With WordPress you get so much out of the box:

    • A back-end customers often find easier to understand
    • A blog with all the features most people want, already in place
    • Excellent looking themes, many of which that come with fancy visual editors
    • Lot’s of good plugins for many common things customers want

    With Drupal instead you get a powerful framework that is capable of doing many things, but does very little well out of the box:

    • The back-end requires customization to streamline it for the content editors
    • The blog capabilities are lacking without customization and site building work
    • The premade themes are frankly terrible, so you generally go with frameworks instead
    • The modules often give you tools to make things but not premade components you can just “plug and play” with

    This is not to say Drupal is inferior to WordPress, far from it! Instead Drupal simply caters to a different mind set: a powerful tool kit for making advanced websites.

    This was already apparent with Drupal 7 but with the advent of Drupal 8 and its more enterprise-focused evolution, this distinction is more crisp-clear than ever.

    Limitations of WordPress

    WordPress suffers from limitations that may be important to you, consider the following:

    • Not all plugins are free, some are questionably expensive for what they offer
    • Premade themes are great IF you do what they want, but can be extremely painful/difficult to tweak to do something they don’t
    • Deploying between environments is not always seamless if themes store settings in ways that just don’t export/import well between them
    • Plugins are far less likely to play well together in WordPress than in Drupal, even though WP does have a plugin API. This means that if you want to go “custom” with some cool feature, you are likely to start adding your own database tables and raw PHP to implement it. Drupal gives you far more structure when you build custom code.
    • WordPress often makes you copy-paste content between pages, or if you are lucky: clone the widget in your visual editor. But it is still far from ideal if you want to change the text on a widget on 20 different pages. yes you can make it a widget in WordPress but then you are no longer in the visual editor – Drupal makes these sorts of things far more natural.
    • WordPress is heaven for hackers, wordpress comes with great security firewall features you can install – but it is a tribute to Drupal that you just don’t need to worry about security as much [but a poorly secured Drupal site is naturally still a huge liability!]. But the bottom line is, if wordpress releases a core patch update for a security risk – you had better patch immediately! There is little reprieve.

    I’m building my own theme, with a custom design, which is better suited?

    If you are building your own theme, the distinction between the two systems is far less obvious – because they both offer good frameworks to build from. This could mean a blank site, or a tool kit for basic responsive layouts, or something a little more pro with sass and libraries. Once you go custom, the differences between them are less overt.

    What is the typical price difference?

    This is a really vague chart, I know. It’s nearly impossible to generalize this because there are so many variables that modify the intersect point, and the angles… but hopefully it still illustrates something: which is that Drupal projects are more expensive when the site is less complex and more cost-effective when the site is complicated.

    Now I’m sure people can argue against this, and there are certainly many highly visited, super popular websites that are on WordPress just like there are on Drupal.

    But certainly for us and the work we do, we see the cost impacts often enough. The rising WordPress costs represent the limits of the framework to provide dynamic solutions, extensible points and so forth – and Drupal really shines once you start asking it to build complex views and extend your content types with lots of custom fields and your users with their own custom properties.

    Chart comparing WordPress to Drupal

    Web site typeSimple blog, brochure, portfolio sitesOnline services, applications, dynamic user experiences
    Why choose this?Your site is simple, get the benefit of quicker leg up with a CMS that already has many tools we want and lower labor costs. If you can use a premade theme and not need to tweak it, this is a great way to get something up fast for less. While customizing it is possible, the more custom work you do, the more complex maintaining and coding that code becomes since you move outside the “normal” range of a typical blog/brochure website.Your site is going to scale and you are building a custom theme on the site, so you don’t care about poor premade themes. The long-term payoff of the platform is its ability to be heavily customized. The downside is simple things take longer, and the labor costs are higher.
    Premade themesExcellent (But constrictive)Poor (But great frameworks)
    Quality of premade themes to extend and modify them Nearly always poor, stick within the premade themes or suffer consequences. Better to start with a custom theme if you want to brand itSame concerns as WordPress
    Back end editorMany great drag-and-drop optionsRequires work, or clunky – unless we can automate things or unless time and care is spent to create the optimal content-editor experience
    Server logic to dynamically place elements on the pageLimitedExcellent
    Deals well with content repeating on multiple places on your siteHas very real limits sometimes with the editor UI, you may need to copy paste things and then change them in many placesExcellent
    Custom theme frameworksExcellentExcellent
    Blog featuresExcellentRequires work
    Single page site designsExcellentRequires work
    Resource requirementsWorks on small serversRequires more powerful server (especially Drupal 8)
    Cost of developersLowerHigher
    Plugin costsMany are not free, some ask for too much $Always free
    Virus attack riskHigh, requires firewall and proactive patchingLow, if well configured
    Custom features, user customization, specialized processes, business rules, dynamic content and features that are NOT covered by a plugin we could just installCould require custom tables and code. Can become cost restrictive long-term or diverge us from normal update paths. Plugins don’t often work well together if they form a chain of featuresExcellent, custom modules use well supported hook systems to inject themselves into the rest of the code/site and other modules
    Scaleablepossible but has limitsExcellent, but requires some investment
    Who likes it?Designers, less technical developers, client content editors, non profits and small/medium businessesProgrammers, app builders, more technical clients, medium to larger businesses

    I’m building an e-commerce platform, is one better at it than the other?

    This is an interesting question, and I think the answer is more complex now because you really need to consider other platforms too when asking this question. Important ones to consider, at this time of writing, I would say should include Shopify and Magento. You could even argue that Shopify is similar to WordPress and Magento is similar to Drupal – in the sense of this article.

    Shopify simplifies your experience and gives you more for less, but adding complexity to it can hit real limits that then become walls. Magento on the other hand will remove those limits but force you into deeper code and requires more technical capacity to execute [or budgets].

    Shopify or WordPress?

    I don’t want to diverge this article too far to start a four-way compare. But I will say that Shopify is pretty different than WordPress because it is a SAAS. So you get a lot for little, and instead you really need to stay within the boundaries.

    If your site is at its heart alive to sell products, and all your features are around the cart system – Shopify is a great option.

    But if you do have a more complex site, do you go Drupal or Magento?

    Here things get a little trickier, because in both systems you can go super-heavy custom. And you can even make a hybrid system that is Magento+Drupal working together. Magento is far more cart focused however, since you could say it is built around it. Drupal you are getting a more diverse platform, so permissions, content types and so forth might be considered more intuitive with Drupal. But with a Drupal solution you might end up pulling more hairs with lots of SKU product variations…

    Making this decision is more future and core-business related, and sometimes determined by your desired feature sets. I will add however that things change again once you go enterprise with either of these choices, since then you also have to consider differences between Enterprise Cloud PAAS solutions vs. custom Enterprise Drupal configurations. But this is a topic for another day.

    Thanks for reading! Hope this article was helpful to you. If you are trying to pick a platform for your business, don’t hesitate to ask us any questions you might have or leave a comment!