Drupal vs Joomla vs Wordpress vs ...?
August 30, 2009 8:59 PM   Subscribe

Drupal vs Joomla vs Wordpress vs ...?

I'm a web developer with a fair bit of experience with both front- and back-end. I've done plain-HTML websites and I've done completely custom CGI websites, but I'm realising I should probably start working with frameworks.

So ... which one, for which kind of task? Does anyone have a rule of thumb, like "the site is of size X and content type Y and you want to spend no more than Z amount of time looking after it for the client, so you should choose this framework"?

My question is a little open-ended, and I realise it may turn into framework-chatfilter or even "your favourite framework sucks", but that's OK, I wouldn't mind taking part in the same kind of conversation I'd have if I was having a beer with a bunch of web developers.

I'm inspired to ask partly because I've got a project coming up and I have to decide on a system, and partly because I see people discussing the frameworks on Ask all the time and I see offhand remarks like "Oh, but Wordpress is a security nightmare!" and "Drupal, Ugh! Half the contributed modules don't even work properly!" and so on, and well, every system has its fans and its haters, I'd like to hear, politely, from all sides.
posted by AmbroseChapel to Computers & Internet (23 answers total) 18 users marked this as a favorite
Those guys are a bit more of a CMS and less of a framework (no insult intended). Your real question might be cake vs ZEND vs Symfony.

I personally like wordpress because it is flexible and unobtrusive. It is good for adding entries to a website by a layman. It needs plugins for large amounts of traffic, but uses less resources than the average drupal install. Joomla seems old fashioned, and drupal adds a heft to simple tasks that I despise.

That said if you like CGI you might find the perl source of MovableType more to your needs.
posted by shownomercy at 9:04 PM on August 30, 2009 [1 favorite]

Wordpress is great for blogs, magazines, business card sites, or portfolio sites, and has an interface that is usable by people who don't know how to use HTML. It creates two types of content: "posts" which are blog posts with all the features we've come to know, and "pages" which are static pages, much like plain html but with the template around them.

Drupal on the other hand has several more content types: blog entry (similar to posts in WP), book page (similar to a wiki or document), pages, forum, poll and story. It also has more tools for reusing content as includes, and really shines with it's has powerful modules such as the Content Constructor Kit (which is becoming a core part of Drupal 7) that allow you to create forms and manage the data that they store. On the other hand, the backend lacks the usability of wordpress and I've seen handovers to departments where people weren't able to update content because they lacked the skills. Apparently this has been addressed in Drupal 7 but I haven't tried it yet.
posted by furtive at 9:11 PM on August 30, 2009

IME, WordPress is great for blog-type tasks (and grafting things onto that) and Drupal is great for CMS-type tasks (ditto). Joomla on the other hand is a clunky mess with spotty support/community.

YMMV; I'd recommend reading some comparison charts and installing them just to see how things are for you.
posted by asciident at 9:19 PM on August 30, 2009

The only one I have used is Wordpress. It's good for small sites, but it is pretty seriously NOT for anything that needs to scale to a large amount of traffic.

Without setting up some serious caching so it can serve static pages, it will crash and burn real fast under heavy traffic. And the configuration makes load balancing across multiple servers pretty much impossible, or so I'm told.

Not sure if the others are better along these lines, but just be very careful with WP for big projects.
posted by drjimmy11 at 9:56 PM on August 30, 2009

It is near-trivial to setup Wordpress to serve static pages, and once that is done it can handle gargantuan amounts of traffic. Plus, Wordpress.com's VIP load-balanced hosting will handle any amount of traffic you can throw at it.
posted by Jairus at 10:03 PM on August 30, 2009 [2 favorites]

Joomla and WordPress are tied to MySQL, but Drupal can use PostgreSQL or DB2, so in situations where a non-MySQL database is already in use it would be silly to have to install and use a second database just to use WordPress.
posted by Rhomboid at 10:47 PM on August 30, 2009

AmbroseChapel: Drupal vs Joomla vs Wordpress vs ...?I see people discussing the frameworks on Ask all the time and I see offhand remarks like "Oh, but Wordpress is a security nightmare!" and "Drupal, Ugh! Half the contributed modules don't even work properly!" and so on, and well, every system has its fans and its haters, I'd like to hear, politely, from all sides.

WordPress is not a security nightmare but it does require:

1/ The immediate installation of the uber-excellent Akismet plugin to kill spam dead.
2/ The regular (once every few weeks to once every few months) literal pushing of a button to upgrade it to the latest version.

Drupal definitely has issues. It was best in its class for a brief and shining moment and that moment has passed. Half the modules do indeed not work, including some pretty key shit like oh THE EVENTS MODULE.

Perhaps most annoyingly for me and the way I personally work on the kinds of projects I work on, Drupal's so-called blog neither looks nor operates anything like the term "blog" as you and I know it. Which means you do the whole site in Drupal, and then you* have to go and skin WP to run the blog anyway. Which, as it turns out, is fine because then you can use the WP Events module and feed it back to Drupal. Argh.

[Drupal with WordPress]

Two things to note. One: That is only one of two sites out of 30 in the last two years that WordPress could not bend to because of the mapping**. Two: The only reason we did that site in Drupal was because it was going on a client-controlled shared Windows server that could not host Django.

Django's killer advantage is that it builds a lovely custom admin for you as you build your custom app, which is great. Drupal has nothing Django doesn't, and Django has a whole lot more, virtually all of which works.

*Or in this case, Memo. **In retrospect, I still think we could have done it in WP but genghis and I have agreed not to overcontemplate that plate of beans. Yes, this was a MeFi group project.)
posted by DarlingBri at 11:00 PM on August 30, 2009 [1 favorite]

I've worked with both Drupal and Wordpress. I can't recommend Drupal if you're working with people that are less savvy technically -- the interface is kind of a dog and, for example, our company ended up with a site that doesn't update very often because the non-technical people can't figure out what they want to do.
posted by brool at 12:17 AM on August 31, 2009

Textpattern is another alternative that I've found works well for me. It's not quite as bloggy as WP or as extensible as Drupal, but it's flexible, fast and sensible.
posted by Mil at 3:32 AM on August 31, 2009 [1 favorite]

I settled on ExpressionEngine for its templating ease. I'm primarily a frontend designer (just html/css/js etc) and have found it to meet most needs. Only problem: it costs.
posted by simplesharps at 4:10 AM on August 31, 2009

Wordpress is really slick for quick, turnkey web sites that don't really need much functionality beyond a blog and an 'about' page.

I haven't looked at Joomla 1.5, but I worked on Joomla 1.0 sites a couple of years ago and it was really unpleasant to develop for.

Drupal definitely has a learning curve, but it's your platform if you anticipate needing to integrate a lot of custom functionality; its biggest strengths are its APIs.

With regards to UI, a lot of work is going into Drupal 7 on that front. A lot of modules that became popular in Drupal 4.7/5.x (Like Events, DarlingBri) have been abandoned because their functionality is now better-covered by the CCK, Views, and Dates modules in D6. In general, Drupal has evolved into sort of a set of tinker toys; when you're familiar with the modules that are out there and how they work, you can combine them in really sophisticated ways without ever writing a line of custom code. People (myself included) sometimes get frustrated with Drupal because sometimes all you want to do is install something and have it "just work". There's a lot of work being done on the problem of re-usable module configurations so that once you've done all the hard work of configuring half a dozen modules to make a slick photo gallery, you can just export it and reuse it.
posted by usonian at 5:10 AM on August 31, 2009

usonian: Wordpress is really slick for quick, turnkey web sites that don't really need much functionality beyond a blog and an 'about' page.

I am happy to leave you to your own opinion about Drupal - to each her own - but that is really selling WordPress short IMHO. It moved from being a blogging platform to being a CMS a long time ago, and has an outstanding array of plugins for everything from ecommerce to photo galleries.

I think also for someone like AmbroseChapel, one of the strengths of WP is that it has a very, very wide marketplace for high-quality pre-designed themes. That means that with basic HTML knowledge you can start swapping out images, open the CSS to figure out how to change link colours, and you've started down the path of understanding how to begin customising WP. I defy anyone new to Drupal to even find the stupid style sheet, which will be stashed somewhere between the theme, misc/ and a random module directory.

Or you know, maybe I'm just very bitter.
posted by DarlingBri at 6:07 AM on August 31, 2009

Another quite developed CMS is Silverstripe. It's built on it's own PHP framework, Sapphire. It's seemingly highly extensible, has a whole bunch of extensions and modules (though nothing compared to WP or Drupal) and, crucially, has a pretty powerful and user-friendly back end that can be relatively easily customised.

I just finished developing my first production site in it, and because I'm a relative PHP newbie I did find it hard going at times. But once I grasped some of the inherent principles, I found it very easy to do some pretty advanced stuff. It's not a plug and play solution, but if you know what you're doing, it seems rather powerful indeed. My main problem with Silverstripe is that it lacks the ubiquity of something like WP, Drupal or even Expression Engine.

This in turn means that the community's relatively small, and it can be hard to find out information, especially if you're not 100% sure what it is you're meant to be looking for. But hell, if a moron like me can persevere with it and get results, anyone with a gram of programming knowledge can.
posted by Magnakai at 6:22 AM on August 31, 2009

FWIW, in the future I'm (probably) not going to use Silverstripe for the small, simple portfolio-like sites that WP and Indexhibit (awesome CMS for it's purpose btw) handle so well. Silverstripe comes into handy when you need more flexible templating and includes, and when you need multiple level menus etc. I find it's much more intuitive and less hacky when you get beyond the basics than WP. But lately I've rarely needed to go beyond the basics.
posted by Magnakai at 6:27 AM on August 31, 2009

Drupal remains "best in class" for me. Drupal 6 is a significant step forward in terms of making the learning curve easier, while retaining the power to do almost anything you can imagine needing to do with a CMS. DarlingBri's pronouncement of Drupal's moment having passed strikes me as premature.
posted by fourcheesemac at 6:29 AM on August 31, 2009

I settled on ExpressionEngine for its templating ease. I'm primarily a frontend designer (just html/css/js etc) and have found it to meet most needs. Only problem: it costs.

Yes, but it's worth every penny, especially if you have comfortable with PHP, you can really make it do just about anything and its support forums are extremely helpful.
posted by Brandon Blatcher at 6:41 AM on August 31, 2009

I've been developing a new website for our organization using Joomla 1.5 (or to be specific, transferring our old static HTML content into it). FWIW, I have never used a CMS and know nothing about websites beyond some basic HTML I learned over a decade ago.

This post steered me towards some good beginner resources for Joomla. I also picked up a book to help me when I felt like I'd hit a wall. Joomla can seem tricky and convoluted. But once I figured out how I needed it to work for me, it's been relatively simple to use, and there's enough tutorials and forums out there to help me when I get stuck.

Can't comment on WP or Drupal, having never used them, but feel free to MeMail me if you have more specific questions about Joomla.
posted by futureisunwritten at 9:53 AM on August 31, 2009

The problem with asking any group about their favorite CMS is that most people are going to recommend what they themselves are familiar with. What it boils down to really is that each system has advantages and disadvantages. I have worked pretty extensively with all of the above (except for Joomla). The most important thing is to find a system that you and/or your team can work with. To get to a point of competency, all blogging platforms / CMS are going to have a learning curve. And then there are the quirks to each system which may throw you off, or captivate you.

FWIW, my go-to CMS is Drupal - and, I'm basically a front end type. I find the way Drupal is organized to be the most logical, and templating to be easier (after learning it). I have sites on both Drupal 5 and 6, and 6 is a whole lot better than 5, and 5 was a huge improvement in terms of usability, etc over 4. 7 looks to be even more streamlined. It is definitely not past its prime, and it is being very actively developed and improved upon. The forums are generally quite helpful. As usonian referred to, some of the older modules have been superceded by far more robust ones. There's even a commercial (though still open-source; you pay for support if you want to) version, Acquia. (It can be useful actually to download the Acquia bundle to see what they think are the most important modules to have in addition to the core, even if you decide to stick to pure Drupal.)

Of the other systems, I found ExpressionEngine to be very nice to work with, while I find some aspects of Wordpress to be rather annoying. But that's me, and YMMV. One reason I moved away from MovableType was that I really don't know Perl (though you don't really need to for most things), but it or even Typepad can be perfect for certain needs and situations.

Anyway, as a first step you may just want to download all the systems that look promising to you, look around on their support sites and forums and basic documentation, and see what fits you the best.

(As an aside to DarlingBri, it seems to me that you haven't even looked at Drupal for a while, judging from your comment:

I defy anyone new to Drupal to even find the stupid style sheet, which will be stashed somewhere between the theme, misc/ and a random module directory.

This problem was solved in Drupal 5, which is more than 3 years old already. Now it's a no-brainer to locate the templates, spreadsheets and so on for any custom theme.)
posted by thread_makimaki at 11:14 AM on August 31, 2009 [1 favorite]

I have to chime in here....

CMS means "Content Management System", which you can take however you want, I guess. However, if you're an "internet professional", then the term CMS has a meaning far beyond "blog plus page editor."

Wordpress, no matter how much people try to argue it, is not a "true" CMS. It's really more of a "Website Publishing Sytem" or "Blog on Steroids"

Listen - I love Wordpress. It's fantastically expandable for a blog and can probably meet the needs of most small to medium complexity websites with the proper plugins.

A content management is for managing content - much of which is manipulated and reused in multiple locations on your site, etc, all using a backend system.

Drupal has a horrendously steep learning curve because of confusing terminology and an abhorrently designed "admin section." However, Drupal IS a "true" CMS, and there are a bunch of things that Drupal can do out of the box that Wordpress can't come close to doing in any true sense of the word.

The thing is, the vast majority of hobbyists will never need any of that power. Wordpress is fine, and it's certainly not worth dealing with the brutal learning curve of Drupal if you don't have to.

However, if you're working on, say, a large community site with lots of content sharing, lots of relational data, etc -- you need a real CMS. Drupal is a good option. There are several others as well, but most of the decent ones cost money. Often lots of money.
posted by twiggy at 11:22 PM on August 31, 2009

obviously I meant stylesheet not spreadsheet up there.
posted by thread_makimaki at 2:40 AM on September 1, 2009

Response by poster: Just wanted to say thanks to everyone. Lots of interesting stuff and please, if anyone has more, I'd love to hear it.

And yes, I was using the term "framework" very loosely/non-technically in the original post, mea culpa and all that.
posted by AmbroseChapel at 5:51 PM on September 1, 2009

Hey all. I'm joining this discussion very late, but have a very related question, for those who care.

In the name of full disclosure, I am a ColdFusion programmer now for about ten years. I'm not a zealot, I just find it easy to use and worth the money. I have written three CMSes in this time, the latest one being my favorite to use and for me the quickest to implement for my clients and super simple for them to use. I have limited experience with PHP but have nothing against it, and am eager to learn. Thus, why I'm here.

I've been offered a project for a university: to convert a 1/3 CMS, 2/3 HTML website, 1000+ pages, into a single CMS. It must be on their LAMP server and must be open source. I look at this as a way to be paid to be exposed to this universe and this community. My research brought me to this website, and in particular this page. This one page alone was worth paying the $5 entry fee, and I look forward to any comments my post will elicit.

This client has few needs, but I want to leave them with something they can grow with, and yet is simple enough for the aging office worker.

o Multi-level site hierarchy, with two- and three-layered header graphics depending on nav depth
o Photo uploader (presumably also to be used in the WYSIWYG editor, not just a gallery)
o Admin levels, with multiple admin edit / access
o Page creation / edit / delete capabilities
o Simple yet robust calendar

I would like to add to the list RSS, "news" posts, and page-subscription if possible.

I would imagine that Drupal would cover all this, but from the discussion above I'm nervous that the back-end would be too complicated for the average office worker who just wants to go to a page, edit it, and be done. Also DarlingBri mentioned that some events module doesn't work, and someone else mentioned there's a newer better one.

Others have mentioned SilverStripe and Django.

For the requirements I mentioned, does anyone have a strong opinion on any of the CMSes mentioned so far?

Thanks (and sorry for the long post),

posted by michaelmuller at 7:42 PM on March 22, 2010

If you're familiar with PHP, and obviously you are, then Drupal may be the best way to go. More extensible than Joomla and more powerful than WP. Maybe it will be harder in the beginning but finally you'll be glad you chose it.
posted by Linert at 5:52 AM on May 25, 2010

« Older When I was young I drew all over the neck of one...   |   What kind of backpack is this? Newer »
This thread is closed to new comments.