What is Drupal, Why Should I Use Drupal?
Here are some reasons why you should seriously be considering Drupal for your SEO-based Web development projects:
• Drupal Has Advanced URL Control
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. This makes the website very SEO-friendly.
• Drupal Allows for Unlimited 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. However, configuration can take considerable time. Views is php-coding through a control panel. 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 only modest programming knowledge required to do them in Drupal. Here is a quick & basic intro to Views called How To Build Flickr in Drupal. Views is visual editor for database queries. In essence this makes everything a relationship database for content.
• 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.
• 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.
• 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.
• 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.
• Excellent Documentation
Documentation includes the official handbooks, the massive API Reference, numerous tutorials, blogs, videos, andpodcasts, 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.
• 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.
• 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.
• 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. Also the hierarchy is much flatter and it's not as extensible or scalable. It loads slower and not as suitable for high-traffic sites. The site editing for the user/owner is very complex and difficult to make easy. Drupal allows for more intuitive editing because each page has an "Edit" tab and so it's logical.
• 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. Wordpress is a blogging engine meant to support one author writing a several topics. It doesn't scale well into larger sites and makes the maintenance more cumbersome.