The Web Developer's Blog has been discontinued. I am now maintaining a new blog that is related to my company, Blue Piccadilly. The most popular articles from this blog (by monthly page views) have already been republished on the new blog, and indeed those original pages on this blog are being redirected to their new location. I'll probably keep these pages up here for a while. At least until the domain expires.

My favourite Drupal modules and why you should use them

21-Dec-2007
Filed under: Drupal, Drupal 5.x

Update: I've compiled an updated list of essential modules for Drupal 6 (and beyond).

Drupal's power and flexibility really comes into its own when you start using add-on modules to extend its functionality. Finding the really useful modules amongst the hundreds that are available can be a daunting task. To help you sort the wheat from the chaff, I've compiled a list of the sixteen Drupal modules that I use in almost every site I build.

Drupal Administration Menu

The Drupal Administration Menu module converts your administration menu into nicely styled drop down menus that allow easy and immediate access to all menu items. The contents of the drop down menus will automatically adapt to the permissions of the currently logged in user. I love it, my clients think it's cool, and so will you.

Content Construction Kit (CCK)

CCK is a very powerful module that allows you to create custom content types (in Drupal 4.7x -- this is natively supported in 5.x) and lets you add custom fields to them. Text, number, image and file upload, and node reference fields are just a few of an array of possible field types that may be added. In addition to various internally supported field types, CCK can be further extended through add-on modules. See the full list of CCK modules.

AdSense

The Adsense module allows you to manage your Google Adsense ads. It's got options for styling ad boxes and defining your custom channels. It tracks clicks and allows you to set up revenue sharing (for use when you have a blog with multiple contributors, for example). I like it because it automatically hides the ads for me when I'm logged in. Instead, it displays an outline of the ad block, so I can get a good idea of what my design looks like without skewing my Adsense impression count (too many impressions and no clicks apparently lowers the quality of the ads shown and thereby the amount you might get paid for the click).

AdSense Injector

The Adsense Injector modules works really well with the Adsense module mentioned above. It allows you to inject adsense blocks right into your site's content. Magic!

Devel

If you're a Drupal developer, and especially if you're developing bespoke modules, the Devel module is an essential tool. It gives you real insight into what's going on behind the scenes.

FeedBurner

Burn those Drupal feeds, baby! The FeedBurner module integrates some of FeedBurner's services with Drupal. Specifically, it automatically redirects your default Drupal feed to your FeedBurner feed.

Meta tags

The Meta tags module allows you to set some meta tags for each node or view on your site, in order to help along your SEO efforts.

Pathauto

The Pathauto module is part of my essential toolkit and I use it on every site I build. It allows you to define templates for the way paths to pages should be created. So, instead of node/10 the path to the page you're currently viewing has been created from a template defined as <taxonomy-term>/<page-title>. There are myriad options for defining these templates. The one I use most often is the full menu path to the current page, for example: <menu-item>/<child-menu-item>/<page-title>.

Global Redirect

If you're using the Pathuto module, then you should really be using the Global Redirect module too. The pathauto module will create aliases of your normal node paths, which means that you'll have two copies of the page on your site. Rather than taking the chance of having these duplicate pages picked up by the search engines (they'll penalise you for that), the Global Redirect module will automatically redirect queries from the basic node URL to the newly created alias.

Service Links

The Service links module allows you to automatically add links to social bookmarking sites (such as del.icio.us, Digg, Reddit) to your pages. It's got all those neat little icons included too.

Spam

Beat spam comments with the Spam module. It's quite a neat piece of work that relies on some clever methods to detect spammy comments and automatically unpublish them. Unfortunately, this module is all too necessary today.

Views

Views is another module I use all the time. It's so integral to creating most of my sites that I sometimes have to wonder why it isn't part of the Drupal core. But when I consider that the point of Drupal is probably to be a basic framework rather than a do-all CMS, I can understand why it's not there. So what does the Views module do? If you think about it, Drupal already contains some built-in views; the default front page being the most obvious example. The Views module let you override this default front page view so you can mess around with the sorting, for example. Not only that, it lets you create whole new views too. Sample usage? How about a recent news page that lists all the items of that news content type that you've just created? Indispensable. Get it.

Site map

The Site map module lets you create, well, a site map. It lets you configure which of your site's menus you'd like to include and then lists all of the linked pages on the site map page. Useful.

XML Sitemap

The XML Sitemap module lets you create an XML site map that's compatible with Google's Webmaster Tools. This should definitely be part of your SEO toolkit.

TinyMCE WYSIWYG Editor

The TinyMCE module provides full integration of the TinyMCE WYSIWYG (What You See Is What You Get) editor into Drupal. There are configuration options that allow you to easily enable or disable the plug-ins that come with TinyMCE. TinyMCE isn't perfect, but it provides one of the most polished products and it's an essential tool if you're developing websites for technophobic clients. You can set up multiple profiles that you can set up to be used for different user types. This will allow you, for instance, to show the full toolbar for advanced users, and a basic toolbar for restricted or anonymous users.

Link to content

If you're using the TinyMCE module, then the Link to content module is a valuable add-on. It provides three plug-ins that can be added to the TinyMCE toolbar. The plug-ins all come in the form of pop-ups that let you browse the pages of your site and create links to them; there's one to browse all pages, one to browse your site menus, and one to browse categories.

So, I hope you've enjoyed this list and can take something useful from it. Do you have any modules you can't do without? Let me know in the comments!

Comments

Great article. Well written and very useful. Thanks alot!

^^^

So the "Spam" module is not quite 100%. That's probably to be expected.

I've had really good results with Akismet, but I'm migrating sites from WP-as-CMS to Drupal because Drupal seems a much better design to me.

Not an advert. Just my 2c - I think there's an Akismet for Drupal - perhaps Spam module even integrates it (?)

hey nice work
you write very well
keep writing:)

Thanks for the informative entry. Keep up the work!

I heard some great review about Drupal 6.0!

Good work! Thanks a lot for this great list

Hi -

I have tried to use this module, but it's not as effective as I thought.
It's something strange to me, because currently there are a lot of evolutioned techniques in order to combat spam.

Any experience about that ?

Regards

Enric

Very useful post. Thanks for sharing your great work.

This was extremely good list of drupal modules. I never though drupal could be useful in SEO like this. Thanks a lot.

Thanks.Your blog is useful.

pathauto is one of the most important SEO module ever develop, and i think everyone's favorite. pagetitle is also important but currently not updated for 6.x version

I am pretty new to Drupal modules and still learning. It is very amazing modules for making good SEO and get an idea how to do about it. It really helps to build one genuine website. I am looking forward to see good tutorials posts in your blog, if you have some good resources to it.

Thanks again
Chris

I have used Joomla in the past and have never really given Drupal a second look. The next time I need a CMS I'll take a look at Drupal thanks for the post.

Thansk for this - i too have used Joomla but intend to switch to Drupal as I am not interely satisfied . . .

Hi,

Thanks a lot for the list, I never tried Drupal, but now seeing that people actually have good plugin list for it I can try and use it for smaller sites than my Joomla ones.

I'm bloggin on a free platform and thinking to move on to hosting my blog, your post help me a lot,

Thanks for sharing

thank you for the great list very much appreciated

great post. thanks!

thanks for the information. it was very helpful

Very informative article and its very well written. thanks for sharing

I am new to the adsense world, but I am slowly learning; thanks for the great information!

Thanks a lot, you have shared very usefull information that helped me a lot. Keep up the good work. Thanks again :-)

A very good compliation. It can actually be a study module for a course.

Thanks for sharing this wonderful info. It will help me a lot. Once again thanks for sharing..

I love the "meta tag" module they have to offer..really nice when implementing SEO! Great article!

I love coming across informative articles such as yours. I wish more were as detailed and organized as this is!

I have yet to discover all of Drupal's features because I am still fairly new to this package.

nice post!

I have been using both joomla and drupal but my personal liking is always drupal. it is very much customizable, in fact both are. but I am very much confortable with drupal. thanks very much for this article, this adds little more to my knowledge about drupal.

Regards,
Ravi Verma
Mens Fashion Blog

Thanks for this useful article.

you have shared very usefull information that helped me a lot. Keep up the good work. Thanks again

really love this blog, its up-to-date topics and amazing comments!

The topic has been really interesting. Your information is good and genuine and excellent.

It's so refreshing to find articles like the ones you post on your site. Very useful information, I read it detail, also book-marked it and will be back in the future to read some more of your interesting posts ! keep up the good work.
Business

Nice post u give good information about this article.

This is a great post i really like it .

This is a great post i really like it .

Really nice post. Thanks for combining all those much needed modules all-together.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <i> <b> <cite> <code> <a>
  • Lines and paragraphs break automatically.
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.