Why Drupal?


Drupal CMS - Great for SEO!
If you are interested in developing search engine friendly Web sites with a content management system, you should be taking a close look at the open-source Drupal CMS. This post covers 10 reasons why you should be considering Drupal for your SEO-friendly content management instead of WordPress, Joomla, or Plone. [scroll down for the list]

Why Content Management?

If you are building search-engine-friendly Web sites and want them to be scalable, you should be using a content management system rather than building sites with plain HTML pages or Dreamweaver templates.

A content management system:

  • generally stores your content in a database
  • keeps the design of the site separate from the content
  • makes it so that to update something on every page of your CMS Web site you generally only have to update it in one place, not on every individual page of the Web site.

This makes content management systems highly scalable.

Also, good content management systems allow non-technical users add and edit the content without needing to know any HTML or Web design knowledge.

Sample Drupal Sites

Some people like other content management systems like WordPress, Joomla, and Plone. I think Drupal is the best for the task of building search engine friendly content-based Web sites.

Drupal is very powerful and can be used for building large, complex sites. Some example Drupal sites are:

More example Drupal sites can be seen on Dries Buytaert's blog.

10 Reasons to Use Drupal

Here are 10 reasons why you should seriously be considering Drupal for your SEO-based Web development projects.

  1. Advanced URL Control — Unlike WordPress, Drupal gives you precise control over URL structure. Each item of content in Drupal (called a node) can be given a custom URL (called a URL alias). In WordPress you are generally limited to one type of permalink URL for all posts. You can override the "post slug", but it's much less precise than Drupal's URL aliases. You can also automate custom URL structures for each different content type with the Pathauto Module. The Global Redirect Module will automatically 301 redirect the internal Drupal URL to the custom URL alias. Unlike many other content management systems, Drupal's content pages have nice clean URLs.
  2. Custom Content Types and Views — You can use the Content Construction Kit (CCK) and Views Modules to create new content types and create advanced custom views for them without writing any code. A few examples of "content types" are "blog posts", "news stories", "forum posts", "tutorials", "classified ads", "podcasts". You can create as many custom content types as you would like and display them in many different ways. Most content management systems would require writing code to accomplish these tasks, but there is no programming knowledge required to do them in Drupal. Here is a quick & basic intro to Views called How To Build Flickr in Drupal.
  3. Revision Control — You can configure Drupal to save a new version of your pages every time they are editing. That means that you can go back to view or revert old revisions if you want.
  4. Taxonomy — Drupal has a powerful taxonomy (category) system that allows you to organize and tag content. Each Drupal "vocabulary" (set of categories) can be limited to certain content types. For example, you could have blog contents that allowed free tagging (similar to WordPress categories), while your news section might have a different vocabulary (set of categories) that could only be selected from an existing list of categories. You can also have hierarchical categories, with single or multiple parent categories. Drupal's advanced taxonomy features, combined with CCK and Views, allows you to easily target all of those long-tail keywords that you researched in Wordtracker.
  5. User Management — Drupal was designed for community-based Web sites and has strong user role and access control functionality. You can create as many custom user roles with custom access levels as you need. For example you could create the following roles, each with different levels of access to your features: "anonymous visitor", "authenticated user", "moderator", "editor", "webmaster", "admin". You can keep the advanced user management features (like multiple blogs) turned off if you don't want them, enabling them later if your site grows to a point where you would like to add more community features.
  6. Page Titles and Meta Tags — Drupal's Page Title Module gives you custom control of your HTML <title> elements, while the Meta Tags Module gives you control over your pages' individual meta description tags. This is difficult in some content management systems, but it's easy with Drupal.
  7. Excellent Documentation — Documentation includes the official handbooks, the massive API Reference, numerous tutorials, blogs, videos, and podcasts, and the excellent new book Pro Drupal Development. There is even a Drupal Dojo community where you can learn how to become a Drupal ninja.
  8. PHP Template — Drupal uses the PHP Template theme engine by default. Theming in Drupal is easier than theming in WordPress and doesn't necessarily require any PHP knowledge. Drupal's Theme Developer Guide is a great resource. I also recommend reading Chapter 8 in Pro Drupal Development.
  9. Drupal Cookbooks — If you want a feature that is not built into Drupal by default, chances are that someone has already written a code snippet for it and posted it in the code snippets section of Drupal.org.
  10. Large and Friendly Community — With so many major sites using Drupal, it's not going away soon. For an idea of the size of the developer community, take a look at the long list of community-contributed modules. The Drupal forum is highly active and are a great place to get your Drupal questions answered. You can also find Drupal support on IRC chat on channels #drupal-support and #drupal-dojo. To meet other Drupal users in your area, visit Drupal Groups.

There are other open-source alternatives to Drupal, but here are a few reasons why I think that Drupal is better:

  • Joomla - It's not as search engine friendly out of the box as Drupal.
  • Plone - It''s powerful, but Plone is written in Python and has certain server requirements. It is not as easy to extend as Drupal, and it's harder to find people who know Python than who know PHP. Plone runs on the powerful, but complex, Zope 2.
  • WordPress - WordPress is excellent, but if you need something more heavy-duty or are building a site that you might want to extend in the future you should be considering Drupal.

To get started with Drupal, download the latest version and start with this beginner's guide as well as the official handbooks. Drupal will run on most shared hosting packages.

Still undecided?

If you aren't convinced yet, check out this 15-minute video introduction:


Excellent introduction

Thank you for an excellent introduction to the power of Drupal.
Especially your 5 points for developing a Drupal-based site are very useful.

Now, my only problem is to convince my boss that they should throw away their half-baked cms and use drupal ;-)

Very Good Article

Thanks for such Good Article

Can u write same point for joomla and wordpress

Webmaster Tips's picture


I don't know if I'll have time to add points for WordPress and Joomla. WordPress 2.7 has some major improvements over previous versions though, like automatic upgrades and better interface. WordPress also has better stock themes than Drupal.

You did not explain CMS

You did not explain CMS correctly. A CMS is literally a Content Management System.

generally stores your content in a database
true, but it would not be wise to not store it in a database
keeps the design of the site separate from the content
This is actually part of the MVC pattern, which is a design pattern that drupal doesn't follow 100%
makes it so that to update something on every page of your CMS Web site you generally only have to update it in one place, not on every individual page of the Web site.
You never update something in 1 place and change everything... You still have to manage every single content item. Unless you refer to settings, as changing a theme
Webmaster Tips's picture

Drupal CMS

You don't think it's a good idea to store content in a database?

Keeping design separate from the content doesn't depend on MVC programming. You can change a Drupal theme/design without affecting the content.

What I meant by "updating in one place" is that you can edit the footer or menu across 1000 pages just be editing it on one place, e.g., page.tpl.php or the blocks control panel.

Drupal is compelling

I am a Joomla administrator right now but I am starting on a new project which will require Drupal. But before I continue any further... this guy saying 'storing things in a database is un wise' -- LMAO Sorry but that is one of the most backwards statements i've seen on a technical blog. Sorry but web technology has moved past static HTML websites and into CMS's -- and i hate to burst your bubble but EVERY CMS depends on databases lol. I couldnt help myself from responding to that...

Anyway, Drupal is very advanced and you can do a lot more with it. The only downside is understanding the complex UI. Joomla is VERY easy to understand and learn. And its great for certain types of websites. But if you want to build a customized application, go with Drupal. Joomla doesnt allow for much customization. And it was NEVER intended for as much customization as Drupal is. My new application will require multiple sites with one instance and all will need to be revolved around a social framework. And Joomla is rather weak in both departments. I mean really, theres so many more possibilities with Drupal. Not to mention, its more geared towards a Social Framework, where I believe is the future of websites and is why I'm going with Drupal now.

Developing websites within a social framework is a must, and Drupal offers that.

So I must say, Drupal is pulling me back in. There's a reason why it wins the CMS awards almost every year.

I find Drupal very flexible

I think you guys missed the double negative:

'it would NOT be wise to NOT store it in a database'

So, he's actually saying that it is wise to store things in a database, though obviously not every website design software does (Dreamweaver doesn't, for example).

Other than that though, I think the fact that you can change individual blocks in Drupal and specify which pages you want them to appear on, etc. is a big advantage. I've also worked with several client sites who have CMS's installed where you can't edit the home page or other important pages and I think that's a severe limitation.

I found Drupal took a while to learn as a developer, but that the end user interface is very intuitive (particularly if you install modules like the FCK Editor, Image Assist, etc.) I tested a few different CMS's before settling on Drupal and it certainly has my vote!

I think it has no significant limitations, is user-friendly and has so many great options that other CMS's just don't have!

Syndicate content