Navigation

Why you should be using Drupal

By Mohammad Shakeri | Resources | Jan 17, 2014

It’s often described as the CMS from hell; ugly and a total memory hog, to the novice the learning curve is often far too steep and the documentation sometimes scarce. Why is this behemoth of a CMS even used anymore?

Its name is Drupal, and it’s very powerful when tamed. From the glorified Views module to the great SEO features to the loyal and enthusiastic community, Drupal certainly begs attention. It can be used to make some very beautiful and user-friendly websites.

Drupal started out as a PHP-based message-board project, made by Dries Buytaert, and first gained popularity in 2003. Since then, it has quickly grown a community of devoted developers whose Drupal-based sites now account for 2.1% of all websites worldwide.

Traditionally, Drupal has been adopted because of its fantastic organization and powerful customization tools, making it a great content management system for anything from blogs to collaborative corporate websites.

Some features that come straight out of the box are polls, comments, blogs, OpenID support, RSS feeds, user profiles, user roles, advanced search, and caching for faster speed. It’s easy to see why Drupal has been used for community-based websites. 

 

Is Drupal designer-oriented?

One of the most common criticisms I hear about the Drupal CMS is that it’s just plain ugly.

The truth of the matter is that Drupal is marketed to more technical developers. Sure, it lacks WordPress’ pretty interface and easy media management, but with the proper dose of CSS, Drupal can be made to compete with the best of the best. Think I’m bluffing? Have a look at some Drupal-based sites.

To make styling your site easier, Drupal features themes, which can be downloaded and applied to your site. Drupal 7 alone has around 450 downloadable themes that range from responsive themes to e-commerce themes and everything in between! You’re sure to find a good theme to make your site look chic (or whatever you’re looking for). Most are free, too!

Speaking of free, there are now over 20,000 free add-ons (called “modules,” not widgets), which can be used to customize Drupal in any way you like.

 

Is Drupal SEO-friendly?

Certainly! Drupal has many features that make it stand out from the crowd.

A built-in taxonomy system

The taxonomy allows you to tag content with relevant and keyword-rich tags, an invaluable tool for anyone who’s SEO-oriented. You can even have multilevel, hierarchical category organization and content-type-specific “vocabularies” (for example, your products could have a different vocabulary than your blog). Way cool!

Custom content types

Define your own content types: articles, products, podcasts and more. The best part? No programming knowledge required.

Page titles

Let Drupal set automatic page titles using its smart page-titling features, or take the reins and take SEO to a whole new level. Either way, it’s completely user-friendly, coding-free and painless.

SEO checklist module

This module is a total must-have! While it doesn’t really do anything, it will help you make your site score higher in search engine results.

SEO-optimized URLS

Unlike WordPress, Drupal gives you complete control over URLS right from the get-go. Additionally, you can install the Pathauto module, which generates custom URL structures for each content type.

 

Who uses Drupal anyway?

Not only does Drupal account for over 2% of websites worldwide, but Drupal developers boast some very high-profile clients. Here’s a peek at some of the better-known clients who Drupal developers do business with.

Scientists

NASA, MIT, Popular Science, Harvard Science and Engineering, Stanford Humanities Center.

Technology companies

AOL, Yahoo Research, Ubuntu, Eclipse, Java Technologies Collaborative.

Organizations

Amnesty International, Greenpeace UK, multiple UN sites, the White House, Data.gov.uk, Investor.gov, sba.gov, The World Economic Forum, the US House of Representatives.

Celebrities

Avril Lavigne, Britney Spears, Eric Clapton, Jennifer Lopez, Chris Rock; personally, not minions. (OK, probably minions.)

Others

The Louvre, the Grammys, Zynga, IKEA, ING, Tesla Motors, Fast Company, The Onion.

 

I thought Drupal sucked?

The growing number of converts speaks for itself. Between 2007 and 2008, downloads of Drupal core increased by 125%, and the growth trend is still going strong.

Isn’t Drupal slow?

While it certainly wasn’t born a race horse, Drupal is by no means slow when configured properly. Drupal’s caching mechanism stores data from multiple levels of a page, and it can increase site speed by as much as 500%. With improvements in every update, Drupal is headed down a good path. 

Isn’t Drupal confusing?

If we were still in the era of Drupal 5, I would have to agree. But we’re not. That was six years ago (which is, like, 30 tech years). Contrary to the hype, Drupal is surprisingly easy to master, and while you might not get your hands dirty with PHP on the first day, you’ll find yourself being pretty darn good at Drupal after a couple of months. 

Updating Drupal is a pain

This is probably one of the only legitimate criticisms of Drupal. Updates suck. Backwards compatibility is not really there. It’s a package deal, though, and for many, Drupal is still worth the update headaches.

My clients won’t be able to use it

Actually, Drupal offers a pretty simple administrative overlay for making basic changes to a site. Managing articles, blog posts, custom content types and products has never been easier. “Views” is also a great and (fairly) user-friendly way to edit content. Spending 30 minutes tutoring your client on how to use Drupal for basic tasks will not only save them trouble, but will make you look more knowledgeable about your product!

 

Is Drupal worth the learning curve?

Getting past your fears and learning Drupal is generally considered a good career move. Many big corporations use Drupal, and if you know your stuff, they will pay top dollar for their sites. While becoming completely comfortable with Drupal’s insides could take up to a year, there is a lot of demand, and with demand comes money.

 

Cool! How do I learn Drupal?

First, download the latest release of Drupal core and play around with it. Get used to the interface. Don’t worry, it won’t bite. Poke around the technical documentation as well. But I recommend watching some Drupal how-to videos, reading some articles and, most importantly, getting your hands dirty. The Drupal forums are also a good place to ask questions, but the Drupal community on Google+ tends to be a bit faster in responding to questions. Being involved in the community is very important to Drupalers because it could lead to job offers, extra work and Drupal know-how. As you advance, contribute back by sharing any modules you have developed. Good luck, and welcome to the club!

 

Drupal rocks!

Whether you’ve been scared off by old Drupal’s intimidating appearance or bad reputation, it might be time to give it a new look. Perhaps you’ll find this behemoth version 7 to be as tame as a bunny rabbit, yet powerful as ever.

With a clear advantage over similar CMS’, Drupal is the way of the future. If you are looking for a CMS that can do just about anything and look good in the process, then seriously consider Drupal.

 

Have you tried Drupal? What benefits do you feel it brings to the table? Let us know in the comments.

Featured image/thumbnail, rock image via Shutterstock.

Share this post
Comments (no login required)
  • William Åström

    I don’t don’t mind Drupal and i have done a few sites with it. So this is no bash-post:) But i must say that the designs of those sites you linked to, looked really boring. I doubt anyone will choose Drupal because of them:). Rather the Drupal community!

  • Maurice Roach

    ummm…. lovely bit of marketing fluff.

    The way I see it is this, Drupal is an excellent content management *framework*, i.e. it’s a great way to build something that will (when you’re done building it) manage your content in a certain way.

    If what you’re looking for is a content management *system* then WordPress, Concrete5 or even (ugh) Joomla are a better bet. They will get you to the bit where you’re creating and curating content faster.

    Drupal does rock, when used in the correct scenario(s), but if what you want is a CMS that can handle templates and change display based on audience, viewing platform (desktop/mobile/tablet) other, better options are available.

    • Max

      LOLD. Go to school.

    • Eric

      Agree with getting to curating faster with other platforms. But couldn’t disagree more on changing display based on viewing platform with drupal. All the top themes support responsive design and drupal’s built in multi-site functionality would allow you to create a mobile version & desktop version that share content and modules. There also some great responsive image modules. Drupal 8 is already fully responsive as well.

  • Chris

    The title should be: “Why you should avoid using drupal and build your own cms with Yii” http://erickennedy.org/Drupal-7-Reasons-to-Switch

    • http://jaf.ar.com/ Jafar

      I share you sentiment. I’m rebuilding my own Drupal in Go on the Google App Engine.

      Everything I need. Nothing I dont.

  • v1n3n

    Hmm.. Everything in this article is arguable.

    First, yes Drupal is insanely slow bc it eats resources like crazy. In order to make it work you’ll have to give him real horse power and make lots of optimization you wouldn’t have with anything else.

    Second, the UI is bloated and users are usually lost with it.

    Third, it doesn’t teach how to code with modern practices. At the end of the day you are no better developer.

    The templating engine is the worst I have ever seen (even WordPress one is better).

    The huge modules ecosystem is not a so great thing. One bug in a module can have dramatic (and hard to debug) consequences. And lots of these modules are poorly coded.

    The development experience is painful: you are constantly switching between your code and the bloated (and slow) UI. This is by far my worst experience in developing for the web.

    So, Is Drupal worth the learning curve?

    A big fat No! You’ll become an expert at writing procedural code (and no the Entity class does not make Drupal an OOP app) at a time where the whole web community is migrating toward MVC tools and frameworks.

  • Frank H

    Thanks for the positive article Mohammad, I found it really informative and helpful. I have a client who owns a bookstore, and in researching the best web solution for him, I discovered that a surprising number of bookstores in the States seem to be running on Drupal, so I’m considering learning it to be able to build him one. I’ve found articles praising both Drupal Commerce and Ubercart – do you have any thoughts on which one might be better?

    • Mangalore Cafe

      Don’t fall for such articles. My observation on Drupal, Its not really a community driven Open source CMS.
      Its all about making money take a look at Drupal Gardens and Acquai
      All I have seen about Drupal is great recommendations. written by the close knit community of drupal developers.
      So once they hook your in and convince you then you need to hire one of them to get your website running.
      Unless you are planning to become a fulltime Drupal developer don’t even think of switching cause the effort is just not worth it.
      Drupal is just like Coldfusion, if you remember that. You had all these Coldfusion developers write articles everywhere to keep it alive but it failed Drupal sure succeeded.
      The community is not helpful either, for example in Joomla I have seen them help people who don’t even know CSS
      In Drupal they won’t. If they know you are knew and have not done enough of learning, but you just want to get your website up, then they will not help you.

      That has been my personal experience. I have created websites in Drupal I switched them or I let the clients go elsewhere and they found it really hard to get Drupal developers back then. I mean they did find some they were too expensive.
      So its like they create this hype and make clients request for drupal and then they either make money through their Saas offerings or they make money off developers from the Training.
      Without training videos its just really tough to learn anything from the documentation.
      ITs all about the money

  • Hannah

    I’m using it for a particular customer and it’s not as bad as I remembered. I’ve even found myself helping with the local developers group. Having said that, unless you’re building a complex site which users need to interact with in multiple ways, there are far better solutions.

  • http://nodws.com/ Nodws

    NO, don’t ever use drupal, unless forced by client to create “the next facebook”

  • Stan

    I’ve used WordPress, Joomla, Drupal and a couple of other CMS systems (including corporate enterprise “real” CMS) both as a user and a developer. Drupal is by far the only I would *not ever* recommend. It was hard work for the developers to maintain, but it was hell and totally frustrating for users. I would never consider using it again, to be honest.

  • m0j0_j0j0

    I have witnessed it several times now. Watching a client automagically pickup the wordpress admin space. Its like letting go of your kid while teaching him to ride a bike and watching him go…..

    …well, until they come back and scope-creep the shit out of you. Now you wish you had a more solid “CMS” foundation than wordpress. Its wierd to me that the ‘wordisms’ that made wordpress grow so fast (hook and filter system, mixing views and logic, god-like function.php) are simultaneously its erectile dysfunction.

    Now, with the Symfony marriage, Drupal is attempting to enter the extreme opposite of this spectrum…the Enterprise. You think the learning curve was hard before?
    Views, Panels, Apps, Distributions, Kernel, Interfaces, Services, Controllers, Dependency Injection e.t.c

    You think Drupal was slow before? The symfony guys defend the speed of their components/framework by using the Enterprise moto: Speed doesn’t matter. Slap on another server,use varnish. Its cheaper than writing code.

    …i miss geocities.

    • designcouch

      Funniest thing I’ve read today – thanks for the chuckle.

    • Andrew Wasson

      That’s some funny stuff but have you tried D8?

      1) The API makes sense; especially if you know development outside of Drupal

      2) The UX is a step up from D7 which I found was a pretty good foundation for building a good UX for admin folks.

      3) Take it for spin: http://drupalize.me/blog/everyone-can-try-out-drupal-8-today

      • m0j0_j0j0

        Yes i tried out D8 and the UX is a step up from D7. But sometimes i wonder if the “code” guys have too much power over the “UX” guys. Or Drupal “UX” guys are mostly crossover “code” guys.

        I also wonder when D8 will be released. i have seen a growth in D8 promotion, as if its on the brink of being released. But its been quite a while since there has been talk of a release. Because of this promotion, newbies are being put in a position where they have to ask:

        “Should i learn D7 or D8???”

        This question is very crucial because D8 is not really an “upgrade” from D7. D8 could have well been given a different name. D7 is a PHP4 based CMS while D8 is a PHP5, loosely-coupled hamper of shiny components (that still need to play well with some php4 baggage from D7). I feel the Drupal folks aren’t really preparing its developers for this huge concussion that they are about to suffer.

        That said, i am on a big Symfony framework learning spree. Why? because with the “enterprise” comes higher profit margins and my vices are getting more expensive.

        So lets all sit back and watch the learning curve rocket into spaaaaaaaace.

  • designcouch

    And the crowd says…MEH. Drupal has definitely improved, but the developers seem to have found a comfortable place and are not really taking the backend UI or UX very seriously. I would have a hard time handing off a site to a client to maintain, when making changes would even be a challenge for me if I wasn’t familiar with it. It’s too bloated and too reliant on its users’ knowledge. To gain an even larger user base, it should be more simple and lightweight in my opinion.

    • Andrew Wasson

      Someone down voted you… I’d rather they used their words.

      It sounds to me like you need to learn how to configure Drupal sites for your clients. All of the sites I build are designed for the clients to manage. Sometimes we produce user guides to assist with complex sites and we provide tutorials but of the 40+ Drupal sites we’ve built and support, they’re all self administered.

      It doesn’t take much work. Just get your text formats sorted out, add wysiwyg (+ IMCE) and add Admin Menu. Then configure your content and fields so that they make sense.

      • designcouch

        Thanks for the feedback, Andrew; I’ve never bothered too much with learning the finer points, because the cluttered UI and poor UX of the backend are my main issues, and are disqualifying factors for me. It’s not that I think it would be too daunting for a client; I just am too much of a UI/UX stickler to recommend something that hasn’t been as thought out as it could be.

        I’m not implying at all that Drupal sites CAN’T be administered by the client; just that it’s a lot more hassle than some of the other CMS choices out there that put a lot of of thought into how their backend looks and functions.

        Here’s my thoughts in a nutshell: Feature-rich is great, bloat is terrible, unintuitive is wrong. Drupal has all three – so I’m not condemning it as the worst CMS ever, by any stretch. Just not one that I would personally choose to use.

  • Frank H

    Thanks Eric! Will try Commerce then.

  • Frank Waive

    Drupal is ok but, wordpress ………! You know what i mean….lol

  • http://www.testshoot.com/ TestShoot

    I worked as a contractor for the Church of Scientology to deploy a ton of their sites on Drupal. After being in the trenches with it, I found print_r to be the best asset Drupal has to offer. It is a CMS that puts the content on the developers more than it does on content editors, not unlike LifeRay. In using it in a large volume environment, I found that too many things needed to be built and that out of the box it offers very little for those people that don’t want to staff full time developers or site support staff.

    It *can* be powerful, but you can’t go about it lightly, you have to commit to it. There is no real solid modularity or marketplace for it like most other platforms offer.

    VIVA MAMBO! ;)

  • scottrichardson

    Or, just keep your site lightweight by writing a tailored cams for the client. My studio ended up building a fairly simple, lightweight admin/cams that we can tailor for each project. It’s nipit as simple as pressing install, but within a few hours we can add a custom cams to a project that gives our customers the tools to manage the content they need to, without having to consider concepts such as templates or Themes, or even pages. It’s just content, ie posts, products, news, albums, photos, services, or in the case of a cinema web site we recently launched, movies and session times etc. I appreciate the benefits of off the shelf solutions like Drupal etc, but they just seem way too much for most sites.

  • http://neonc0de.zz.mu/ Widy Graycloud

    Drupa Drupal Drupal ,I really wan’t to learn it,It’s popular, but I don’t know, I just can’t hold back the Drupal’s CMS UI. This the era modern website look.That is really important to me.Someone have to evolve drupal.

  • martins

    Better start developing your own CMS, if you are a dev. I have worked with Drupal for past 7 months and before that 1 year with another dev’s custom CMS. Drupal is quite heavy. You better have large experience in performance tuning. At the beginning it may feel quite acceptable, when you install core, put few modules, but as you put more modules on, it starts to get slow, so you better have good experience in performance tuning. I would recommend this to people with huge experience in web development. If you begin web development, then create your own CMS. Then gradually choose more heavier CMS’es.

  • aldopraherda

    Developing drupal modules is suck, it’s full of spaghetti code, drupal is using procedural code, instead of OOP and you should learn Drupal API with minimal example on drupal site

    • Andrew Wasson

      Hey, the 90’s called. They say they want their Drupal criticisms back… ; )

      Developing Drupal modules for older versions of Drupal can suck. Drupal 8 is pure nirvana if you like Patterns and OOP. It reminds me a bit of working in Rails or in CiviCRM’s Extensions API. It’s out with spaghetti & procedural code and in with structured code.

  • Joost Brommert

    Sorry, I’m gonna stick with MODX Revo. For me, MODX is the most flexible content management framework out there. And I’ve tried numerous.

  • ChrisLoos

    That comparison doesn’t even make any sense. Drupal outputs HTML. What you said is akin to saying “I recommend twinkies before a factory that makes twinkies.”

  • Andrew Wasson

    Alberto, Here are some tips and answers to your frustrations based on many years of Drupal development:

    1) You never have to hack core or a contributed module. I know early on, it may seem like the thing to do but I know now that it is never the answer. None of my Drupal sites have a hacked core or module.

    2) Learn DRUSH and use it for updating. You should be able to update most sites within 10 – 20 minutes (if someone hacked a module all bets are off).

    3) i18n is tricky to configure correctly. The Drupal 6 version seems to me to be particularly fussy but Drupal 7 is better and with it included in Drupal 8 I have high hopes for it.

    4) PHPTemplate is absolutely a breeze to deal with once yo sit down and figure out how the bootstrap pulls pages together. I’ve built complex multi-file themes and I’ve built themes that consist of 5 files; it all depends on what the project requires. The best introduction to the theming system I’ve found was in the book Pro Drupal Development. It has a very good chapter or two on theming.

    5) No. You don’t need a module to add JavaScript. Add your Javascript through your theme in your info file. Out of the box you can use JavaScript or script against the jQuery library. Alternatively, you could add JavaScript via a block but that can be a little clunky.

    6) Use the Admin Menu (turn off Core -> Toolbar if using Drupal 7) then add WYSWYG, IMCE, IMCE Mkdir, IMCE WYSWYG Bridge and whatever rich text user interface you like (TinyMCE, CKEdit, etc….). You’ll want to configure text formats, IMCE profiles and WYSIWYG profiles but it’s pretty simple once you know what modules you want to use. All of the sites we build are managed in-house by the organizations we built them for.

    7) If it’s a problem, turn off public user registration.

    8) Use whatever Anti-Spam module you want. Catpcha, Re-Captcha, Mollom, and my favorite Botcha are just a few that are available but it’s up to you to figure out what one suits your needs.

    9) What DB do you want to use? You can use MySQL, SQL Server, PostgreSQL, MariaDB, Mongo and I think there may be some other options. I’m not sure what the issue is here?

    10) You don’t need to spend weeks with heavy tweaks to speed up Drupal. You need to build the site correctly (to avoid module bloat). All of the slow sites I’ve had to deal with were slow because they either were built wrong and/or they were running on innadequate hardware. You can have a slow http server but your DB server better be up to handling the site.

    * Sites that use Drupal’s built in caching will be really quick for anonymous users but will show their real speed once you’re logged in as an admin.

    It sounds like your team is missing the magic ingredient of
    someone who knows how Drupal actually works. I’m nodding my head at
    everything you’ve noted but it’s not that these things are problems;
    it’s that your team is trying to do things with Drupal in a way that it
    wasn’t designed. It’s a bit like trying to drive a car backwards and
    wondering why the windshield is so far away and why there are 5 reverse
    gears and only one forward speed. Someone needs to know how it snaps
    together.

    About 7 years ago I was in your position, trying to figure out how to work with this “thing” that was foisted onto my desk and at that time there wasn’t any good documentation. After struggling through the project and launching a site that worked (it looked good and worked but it was an embarrassment under the hood), I decided that it was worth my time to figure Drupal out. The first thing I did was hire a Drupal expert. I had enough experience by that time to figure out the good from the bad and I found a really great mentor with whom I still work on projects from time to time. My next step was to invest in a library of good books that document the technical details of the framework as well as the “best practices” for achieving things. Then I got down to work.

    It took me a couple of years of nose to the grindstone experimentation with modules, theming, API, reading and contributing to conversations but after a while I came to the point where when presented with a web based challenge I could immediately think of a solution through configuration or code in Drupal.

    Today, I support more than 40 production Drupal sites. All of my themes (except for a couple) are custom built from scratch. The theming system is dead-easy once you know how it works. I use very few modules but the ones I use are like swiss army knives and are multi-purpose (like views or rules) and I build small helper modules to fill in the cracks if I need them.

    I would suggest someone in your team becomes the expert and really learns Drupal. I inherit sites like the one you’ve described and it usually doesn’t take long to straighten them out.

    If you’re looking for some help, visit the help forums on Drupal or join one of the LinkedIn Drupal Groups (the private one appears more useful).

    Andrew

  • Andrew Wasson

    @Mohammad, great article!

    From the comments I see that a lot of the reader are still shell shocked from the D5 days. Just wait until D8 hits the scene; it’ll blow their minds both with the improvements of a real OOP API and the highly improved UX.

  • vincent-b

    That’s a ballsy post, in early 2014.

    Drupal has lived, but I don’t know how much you realize that now Views is a core feature, Drupal is more than ever but has always been, a designer’s nightmare. You don’t work on Drupal’s design, you painfuly do what you can. And never, never ever the final markup will be good, nice, clean, semantic.

    If you want to have a designer’s carrer, if you want to learn interesting useful things leading to quality design and code work, flee Drupal like the plague.

    Either the author is not a designer, or a very bad one, or does not know what he is talking about.

  • bumbum

    Just some words of advice to new devs or even devs still working on Drupal.

    There nothing left for you and for the sake of your career you need to learn a modern MVC based framework with sane templating and dependency management. Drupal will do nothing but impede your career and make you a worse web developer.

    There’s really nothing much left now and Drupal 8 will only be a disappointing failure with the same problems as always (sluggish performance, massive render arrays and hopeless docs) but this time without the contrib scene which made 7 only barely usable.

    Believe me, no one is staying around to port everything to 8. If you want to use a crappy PHP CMS there’s WordPress, or the new Pagekit, or you can actually some decent technologies such as Django, Rails, or Ghost on node.js for instance.

    Drupal is dead and dying. The only people wanting to keep it going are those whose business models depend on it (that’s probably what this article is about, some SEO fluff..).

    It’s a career dead end. Run as fast as you can and don’t look back.