Site Builders: Drupal Vs. Joomla Vs. WordPress

Need to build a high-end website? We test three of the top free site-building applications.

1 2 3 Page 2
Page 2 of 3

WordPress administration seems to be a hybrid of the other two CMSs. There is a central Dashboard, which focuses heavily on displaying information about the site. The displayed information can be customized to show what you want to see, which makes it useful for a fast survey and control session.

Like Joomla, working in the Dashboard is simple and intuitive. Posts, pages and multimedia content are all managed in their respective pages, and it's pretty easy to move content around and edit it.

Menus were a little harder to grasp. By default, you can specify whether a page will appear as in the top-level menu or as a child to an existing menu item. It took a bit of effort, but I did find a Menus control in the Appearance section of the Dashboard that enabled me to create custom menus and then place them where I wanted on the site using the Custom Menu widget.

Bottom line

As I walked through each tool's administration controls, I found the Drupal tools less intuitive but ultimately more flexible and powerful. The converse was true for Joomla: easy-to-understand controls, but limitations kept showing up. WordPress was somewhere in-between: the controls were a little tricky to find, but once you found them, they were very useful.


Configuration, in this instance, refers to how easily each CMS put together my fictitious site for Happy Flights. The site, as mentioned earlier in this review, contains a front-page blog, a forum section, a few static pages and an e-commerce section for selling items to unhappy fliers. Articles on the site needed comments and links to social media sites. These are elements the average business site might have, hence their selection.

Each CMS had different strengths and weaknesses for these elements. (I'll review the social media and e-commerce tools a bit later in this article.)


Getting static pages on a Drupal site is easy. Just create a menu option for one of the site's menus, then click Add Content>Basic Page to open the Basic Page control screen. Add your copy, assign the page to the previously created menu item and boom, you're done.

There is a caveat here: The default Drupal setup doesn't include a rich text editor in its content-creation screens, so any formatting you want to do has to be in HTML. You can add a module to get that functionality, so it's certainly not out of reach, but in WordPress and Joomla, the editor is available out of the box, which is a bit more convenient.

There are a plethora of forum and blog modules out there, all of which looked pretty good. Keeping with the out-of-the-box mentality a bit more, I opted to use the built-in forum and blog tools. They were easy to activate and assign to a menu item and while simple, were pretty good for a basic site's needs. If I'd wanted slicker tools, I could have found a lot that met my specific requirements.

Configuring the overall site was very easy. Colors, styles and backgrounds were easy to load using the huge variety of Drupal templates. Ultimately, for fairness' sake, I stuck with the default Drupal template.


Unfortunately, overall site configuration was not so easy in Joomla. In trying to keep with the default template, Beez20, I ran into significant hassles trying to change the banner from the default Joomla image to the Happy Flight banner.

I thought it would be a matter of uploading the banner image, but it turned out that the background image remained in place under my logo. Worse, the solution involved going into the CSS file and making modifications there. Now, I'm no stranger to CSS coding, but there's a rule I have about such things: If the user has to see code, you have a problem. I also had to edit the site's index.php to get rid of the default font size controls that appeared on the top of every page. Again, no big deal, but why isn't this an option in the GUI somewhere?

I had similar luck with getting comments on board. I couldn't find native controls, so I installed the Udja Comments component. That turned out to be a mess, because I had to find and activate the component in the Module Manager and Plug-In Manager, and was ultimately foiled by the requirement to set a position for the comments. There was no "end of every article" position, and this was one place where the normally super-helpful Joomla documentation failed me.

Forums, fortunately, had a much better outcome. I installed the Kunena module, and even though I had to activate the thing in two different places (which really got on my nerves), it worked like a charm.


WordPress' roots as a blogging platform never show more than when configuring site content. Adding and editing pages or blog posts in WordPress is extremely easy to do, since everything is geared around this central premise: make content creation easy.

Theme management was simple. In playing around with free WordPress themes, I found a lot of visual and configuration variety, even though I stayed with the default Twenty Eleven theme for my WordPress site. It took me a little time to figure out how to update site elements like banners, but once established, it was easy to manage.

Because comments are so well ingrained into the blogging mindset, it's no surprise that WordPress comes with a very robust comment management system out of the box. A great freebie for WordPress users is the availability of the Akismet plug-in, which, when activated, taps into Akismet's very powerful comment and trackback spam protection tools. You can get such tools in Drupal and Joomla, too, of course, but having it as a featured out-of-the-box plug-in is very helpful.

Numerous forum plug-ins are available in WordPress, just as in Joomla and Drupal. I opted to use the Embeddable Forums plug-in, because it was widely regarded as fitting the best with many themes and was purported to be integrated well with WordPress user administration. I was not disappointed.

Bottom line

After pulling together various elements of the site, I rapidly got the impression that, while Joomla is really great for managing content, it has some issues with site configuration that don't exist in WordPress and Drupal.

This is a key issue, because Joomla sites will require more coding to get the site to look and feel the way you want -- unless you find the one template out there that matches the vision you want for your website.

Traffic promotion

Every site should include features to promote content on the site. Each CMS needed add-ons to implement social media promotion, but unfortunately the results were mixed.


For the social media tools, I needed to download a Drupal module.

I settled on AddToAny, and I have to say it worked perfectly right from the start. It offers links to a wide variety of services, including Facebook, Twitter, Digg, Reddit and StumpleUpon, to name a few. AddToAny adds the sharing tool at the end of all individual blog entries and articles if you specify the "blog" and "article" category types.

Installing add-ons in Drupal is very easy, and this module in particular only needed one click to be activated. Configuring AddToAny was also simple, once I found the settings in the Configuration menu of the Drupal control panel.


Social Bookmarking Genius, I was told in repeated reviews, was the best free social media add-on for Joomla, so I dutifully went out to get it.

I installed the component, activated it, and... nothing.

Once again, the Module Manager settings for the module required that I set a position, and it was not clear what that position would be, since the articles I wanted to have social linking were located all over the site in various locations on the pages. This was a universal problem with any module I tried; it would require a position setting, but no position I attempted would work. Nor could I skip this setting.

In the end, I was not able to determine a solution for this problem.

One area where Joomla did excel here: The capability to turn on SEO-friendly URLs is a highly visible option, which should make Joomla websites easier for search engines to index.


Given my success with the AddToAny module in Drupal, I was pleased to note that AddToAny had a popular module for WordPress. But after installing it, I found that it works differently in WordPress -- it added the sharing tool to all pages in the site, based on where I placed the AddToAny widget in the template.

However, the WordPress version does not include Twitter or other social tools, just RSS feed information. To compensate, I located the Tweet This plug-in, which uses the Oauth API to plug straight into Twitter. Tweet This was instantly ready to go and attached to articles as needed.

WordPress doesn't really have any out-of-the-box traffic management tools, but a quick search through the WordPress ecosystem can harvest a large supply of tools that can enable you to manage your site.

Bottom line

I could not determine the solution to implanting Social Networking Genius in Joomla, so it failed this particular test for me. In Drupal and WordPress, adding social tools was easy: activate the module or plug-in and it worked. In Joomla, this was a much less intuitive prospect.

Commerce tools

I was not looking forward to adding the e-commerce portion of the Happy Flights site. I have worked with e-commerce tools before and "pain in the you-know-where" is usually the phrase I took away from such experiences.

Happily, that was not the case here.


Ubercart was the e-commerce tool most recommended over the others, so I would have been remiss if I didn't take a look.

I have to say, once I installed it I was quite impressed. The Ubercart e-commerce shopping cart had an excellent feature set, and I had complete control over every aspect of each transaction, right down to options that would calculate shipping costs between ZIP codes based on the weight of the objects ordered.

There were two hitches here. First, in order to get full capability in Ubercart, you have to download a lot of modules to support it. Not hard, but time consuming, and a bit irksome if you forget something.

Second, adding a new product to the catalog is not intuitive. Luckily, I was able to find a third-party blog that walked me through the process, and once I got the hang of actually adding items to the product database, things got much easier. But there really should be an "Add Product" button in Ubercart somewhere to make things even simpler. (Afterwards, I did see that Drupal had added a Product content type to the Add content screen, which would have been nice to know earlier.)


After the bumps in site configuration, I was expecting less-than-stellar results for the shopping section. Not so, thanks to the JoomShopping module.

JoomShopping was easy to install, easy to activate and simple to use. That simplicity came at a cost: Configuration of the base JoomShopping elements was harder than other e-commerce tools, but it did the job it needed to, and slipped into the Happy Flight site with ease. Adding products to the catalog was much simpler than in Ubercart, which was much appreciated.


Getting a shopping system on WordPress is easy to do -- provided the plug-in is compatible with your site. I had initially tried to install the WP e-Commerce plug-in, only to find that it would not install onto my WordPress site. It may have been the newness of my WordPress version that was throwing the plug-in off.

Daunted, but not stopped, I moved to eShop, which installed quite cleanly. eShop adds its own configuration screen to the site's Settings menu, so it was easy to access the controls to configure the catalog.

I was impressed by the depth of control and the way the plug-in fit in with the existing site. It took a little bit of effort to discover how to add products to the catalog, but once learned, the workflow was easy to do.

Bottom line

This one is close to call: I have to give props to tools like Ubercart for the completeness of its features, but JoomShopping and eShop made it easier to build a product catalog.

I think I have to give the nod here to Ubercart. Like the Drupal CMS, the learning curve is higher, but the long-term payoff is a better overall experience.


Near the beginning of this article, I mentioned that all of these CMSs have very vibrant and active communities. I wasn't kidding. To give you an idea of what kind of ecosystem we're talking about, there are 15,884 WordPress plug-ins, 11,216 Drupal modules and 8070 Joomla extensions available at the time of this writing.

It's not all about the numbers, though.


Drupal, being the older product, has a larger and more active developer community. This is certainly reflected in the number of modules, but it also shows in the support for the CMS. The Drupal website has a very good modules directory and solid documentation.

Oddly, when searching for help on some Drupal issues, I was often pointed at sites other than the main Drupal site. This is too bad, because there are some good docs in there.

A majority of Drupal modules are categorized as non-commercial, meaning free, something which is different from the Joomla extension family. Free software users will be comfortable with this, but commercial users may need to get used to the lack of commercial support.


What Joomla lacks in numbers, it more than makes up for in energy.

Documentation on the Joomla site is wiki-based, updated constantly and well-indexed by search engines. So I ran into it a lot more often when searching for help.

1 2 3 Page 2
Page 2 of 3
Survey says! Share your insights in our 19th annual State of the CIO study