Top Reasons To Use Drupal For Your Web Site


 

In the past few years Drupal has become increasingly popular among the various content management systems. And this is not by accident, Drupal really packs a number of great features that allows virtually any type of site to do the things it wants to do. Whether your site be a blog, brochure company site, full blown social community, ecommerce shopping site, or an informational site for an organization Drupal has you covered.

The Drupal system is composed of a number of "modules" which allows you to quickly go through and turn on and off different options that you want your site to have. Drupal starts off as just a simple little web site that you can quickly add more and more features to by enabling modules of your choice.

The goal of this article is to cover some of the more popular and useful reasons why somebody would want to use Drupal for their website. Having developed many Drupal sites myself I have come across a number of things in Drupal that really accomplish the things that I'm wanting to do, and every once in a while I will find another new thing that I didn't know about and it just sweet.

Takes care of all the boring and repetitive tasks

Being a long time developer myself, I know how annoying simple things such as form validation, input filtering, spam prevention and things like this can be. I think a lot of the time people really underestimate the power of Drupal. This system is the result of over 5 years worth of web sites being re-worked over and over by very talented and capable developers. Through this process of re-creating and optimizing bits and pieces of code the end result begins to become very dialed in with lots of features and options. Drupal is able to built up a solid foundation for these repetitive and boring tasks and make them integrate very quickly due to the solid core system of libraries and modules that are created.

The Administration Panel

The administration in Drupal is extremely powerful and feature rich. From this section you can control virtually all aspects of your Drupal site easily and efficiently. There are a number of logging reporting features that display information such as the number of visitors, what sites your visitors are coming from and a list of all the errors, should any occur.

Forms

Creating forms in Drupal is really amazing. Whether you're a developer or an administrator, it is super easy to create a form with the type of functionality that you need.

For developers Drupal has a very well constructed and documented forms API. This allows you to quickly create a form that is able to be validated and processed without any hassle.

For site admins there is a fantastic module called the Webform module that allows you to create virtually any type of form with any options you want. All this data will be collected and then written and stored on the database and emailed wherever you would like. This is an extremely useful module.

Oh, and need I mention that these forms are all very secure and prevent a lot of spam and security holes.

Input Filtering

By default Drupal filters all the content that is submitted to your site from forms. By disallowing and stripping out certain HTML code Drupal keeps your site secure from various attacks that are commonly used to exploit and damage sites as well as keep out some spam.

Search

Granted your sites search feature will probably never be as good and effective as Google, the Drupal search feature that is built in is just about as solid and functional as a web site search feature gets. The Drupal search will go through and crawl every node on the site and index the words in a table on the database. The admin then has the option to choose how to weight certain aspects such as keyword density, number of comments, creation date and things like this. By tweaking these parameters you are able to make your search feature more accurate for your users.

Caching

Drupal has a great cache feature that allows for very large and high traffic sites to cut down the number of database queries. On some sites it can become common to have up to 1,000 or so queries for each page view. This high number of queries can quickly start slowing a website to a crawl, especially a site with a substantial amount of traffic. With Drupal, there is a built in caching feature that will essentially store all the data from the "rendered" page into the database. This will change the number of queries from 1,000 to 1 which will improve performance considerably. You can then choose to refresh the cache data whenever you want to such as every 5 minutes, 20 minutes or every hour.

Security

Because of the tight and clean coding done on the core system, Drupal is naturally very secure. Should there be a new security vulnerability that is found, Drupal will immediately be updated with a new version to fix this problem and be open for you to update your installation with these fixes.

Usability & Accessibility

Due to the nature of how Drupal operates, sites are almost somewhat forced to be more usable and accessible. Usability is usually the result of a well thought out web site and Drupal sites are well thought out by default. Drupal sites are also very accessible as they mark links, images and other pieces of HTML with the proper title and alternative attributes that allow people with disabilities and different types of browsers to still access your site.

Web 2.0 and Social Features

Drupal includes many new social and community oriented features that are becoming more and more popular for web sites these days. It is now much more common to have a participating community that contributes and helps out with the web site.

Users

Drupal allows for users right out of the box. People are able to register and become a part of your site. There are many benefits to having users on a site. Users can now contribute new content just as an administrator would. Users can receive emails and updates about new features and events. Users can talk with other members on the site and learn from them and share ideas. By having a user base you allow your site to become a network of people that all share a common interest in a given topic. It allows for your site to have much more to offer for visitors.

Permissions

With Drupal you can create different "roles" which are basically groups that you want to assign users to. For example, you can have a role for things like administrators, moderators, editors and things like this. You are then able to go through and assign permissions for each role. You could make it so many moderators can administer the forums while editors can only administer the articles. You can then assign any user to any number of roles. They can be just one role, or they can be multiple roles.

Forums

Drupal has a built in system that allows users to create forums and have discussions with members from the community. Drupal's forum system builds off of some core Drupal features such as taxonomy and nodes. A lot of people usually say the Drupal forums are kind of weak and need a lot of work to make them look like popular forums such as vBulletin or PHPBB. While this is true to an extent, at the same time the typical vBulletin forum look isn't really as popular as it used to be. A lot of the more popular sites these days have much more simple looks and a lot less clutter. Look at forums on some of the more popular sites. Forums aren't really supposed to be the purpose of a site - they should simply be an extension of a solid web site that has many other features and options. The problem with systems like vBulletin is that they ARE solely a forum and nothing else.

Comments

Drupal sports a built in commenting system that allows visitors to comment on any node created within Drupal. Comments have a number of administrative options such as allowing only registered users to comment, how many comments to show per page, how to order comments, whether or not to have threaded comments and things like this.

RSS Feeds

As I'm sure everybody knows by know, RSS Feeds and subscription based content is becoming increasingly common and popular on the Internet. It is now very common for people to aggregate data from a number of web sites into one central location for reading and staying up to date. Drupal has many built in options for creating various feeds of content.

For instance, every piece of content that is promoted to the homepage may be accessed from the main site feed. You can take the feed system even further and have feeds for only certain categories of content that are created through taxonomy. This way if somebody only wants to subscribe to posts of a certain category, they have that option as well.

Javascript Widgets

Drupal ships with quite a few useful and cool javascript widgets which can increase the user experience. Drupal includes the complete jQuery javascript library which allows for easy integration of javascript through your site. It also comes out of the box with some more popular javascript features such as AJAX, which allows for data to be sent to and from the server without actually having to reload the complete page.

SEO

Drupal is very SEO friendly out of the box. It includes a number of things that really make it SEO friendly and I will hit on a few of the more important of these features.

Titles

Every node has a title that pretty much says what this article will be about. Everybody who has done a little bit of research on SEO knows that the title tag is one of the most important aspects of SEO. By default, every node you create on Drupal will have the node title as the title that appears in both the title tag and in the main heading tag of your theme. This small piece can have a huge effect on search engine rankings, especially with a well-researched title.

Clean URLs

Drupal has the ability to allow for clean URLs right out of the box via the path module. This option enables any node to have a custom keyword rich title that is easy for both users and search engines to follow. By adding on another popular module called the pathauto module, you can have Drupal automatically create URLs of your choice based off a number of parameters such as the user who submitted it, the date it was submitted, the title of the article and things like this.

Internal Link Structure

The internal link structure of Drupal is very friendly. All of the pages on Drupal are very well constructed as there are usually categories which contain small pieces from the main articles. On these category pages you can then click through and view the permanent page for the content.

The hierarchy of this structure is built out so that all your content is structured like a tree. New pages will link up to more important sections which themselves link up to even more important sections. By following a structure like this it allows for link equity and PageRank to flow through your web site correctly.

Lightweight, optimized HTML with heavy use of CSS

Drupal relies heavily on CSS for theming as most sites do these days. By handling all the theming aspects via CSS it allows the HTML to have little if any theming in it itself which takes out all the unnecessary clutter and allows for a much better indexing of content. The content stands out much more now because there are less things like images and common code appearing on every page that may confuse the search engines.

Robots.txt

Drupal also comes out of the box with a robots.txt file that disallows search engine robots from certain files that should not be indexed such as submission pages, search pages, forms and things of this nature. By using a robots.txt file it allows for your link equity to stay on the more focused and important pages and not be wasted on extraneous pages that have little value.

Categorization

The categorization on Drupal is very open ended and scalable. Drupal's categorization system is known as taxonomy. Taxonomy is basically a more advanced way to say categories, it means the same thing pretty much. With Drupal you are able to assign different categories to each node that you have. In these categories, you can then add different terms that describe what the content is about.

For instance, say you have a Blog. In this blog you would most likely split up your content into different categories such as political, Internet, music and whatever else you want. As you created more and more content, Drupal would then automatically create a page that shows all the political articles or all the Internet articles.

With Drupal you are able to go through and create unlimited categories for each type of content. It is totally possible to have 10 different categories for each piece of content.

Theming

The Drupal theming system is very well constructed and thought out. It consists mainly of 3 main components, your page, nodes and blocks.

Page

The main page template file handles the core theming of your user interface. The basic look and feel of your site can all be easily modified here.

Node

The node template handles all of the content of the site. Pretty much every piece of content that is contained within your interface can be themed here.

Block

The block template handles all of the side widgets, navigation and bits of information. Things like new forum topics, recent comments, recently added pictures and things like this can be added to blocks and arranged in different places in your theme.

Theme over-riding

Drupal also has some more advanced theming features such as the ability to over-ride themes created by the core Drupal system. For example, by default Drupal themes the user page a certain way. This user page is created in a core user module. With most content management systems, the way this core file operates would be how it is and there wouldn't be much you could do about it. But that is definitely not the case with Drupal! With Drupal you can easily take any themed part of Drupal and theme it the way you want to and your custom theme will over-ride the main Drupal one. When Drupal goes to theme a certain part of the site it will first check to see if anything is over-riding the theme and if so, it will use that one instead of the default theme. It's extremely powerful.

Scalability

I think Drupal really does a phenomenal job at handling scalability. When trying to extend on to a lot of other systems you will often find yourself getting stuck and hacking up code to find ways to get something to work. The system usually has a lot of pre-set operations that make it very hard to customize. With Drupal this is never the case. The core code of Drupal does a great job at only handling aspects of the site that are needed for customization. Everything that the end user sees is fully customizable, all the way down to the HTML.

Great community

The Drupal community is always moving forward and never just sitting around stagnating not knowing what to do. In fact, sometimes I think they move too fast, but this is a great thing. There are always so many people just driven to really constantly improve Drupal to be better and better. And as a result of this your web site will continue to follow with the constant innovations and advancements with Drupal for many years to come.

Conclusion

Overall, Drupal does a great job of providing solutions for whatever type of web site you are looking to create. Drupal has a great selection of contributed modules to choose from and allows for complete customization of everything that it does. Whether you are an Internet novice or an advanced developer, Drupal does a great job at offering something for everyone.

So the next time you're thinking about creating or updating an existing web site you should consider Drupal as I'm sure you will be completely pleased with everything it has to offer.

 

One step at a time, we strive to offer the best service, and march to embrace a limitless future.