Top 50 Drupal Modules

Drupal is our favorite CMS. One of the major reasons we love Drupal so much is the huge community of developers and large number of contributed modules available. If we were in the business of building cars we probably wouldn’t go about designing new tires for it. Instead, we would rely on tire manufacturers who had already done the R&D. The same holds true for websites. When a website requires common functionality such as a blog or forums we use pre-existing modules which offer a framework for us to build from. In our day to day development we use a LOT of modules. We’ve listed our top 50 here for you to browse. A large number of these have been moved to Drupal core as of version 7, but it’s important to list them regardless as many sites are still being built/maintained in Drupal 6.

1
50

Content Construction Kit (CCK)

CCK is probably the most valuable module in this list. Combined with Views, CCK allows us to create detailed lists of almost any type of content you can think of. CCK gives us the ability to add fields to different types of Drupal content (nodes).

2
50

Views

Views builds on CCK by constructing complex SQL queries behind a friendly user interface. Views can present content in lists, grids, tables, and a number of other styles. You'll rarely see data listed on a Drupal website that doesn't rely on Views.

3
50

Pathauto

Pathauto takes a Drupal system url such as 'node/123', and turns it into a human-readable path like 'blog/post-title'. This is a must for every modern Drupal website.

4
50

Token

We generally use token only because it is required by many other modules, though we have made use of its API to expose custom tokens in a few larger Drupal projects as well.

5
50

FileField

FileField is an addition to the CCK module. FileField adds the ability to upload files of varying types to custom content types.

6
50

ImageField

Imagefield builds on the FileField module by including image thumbnail/previews after upload and allowing for the display of images on nodes.

7
50

ImageCache

ImageCache handles image processing on images through Views or simply on node displays. Using this module you can automatically scale, crop, and resize images to suite your layout.

8
50

ImageAPI

ImageAPI is a dependancy of ImageCache (and ImageField in older versions). Using either the GD2 or ImageMagick libraries, ImageAPI handles image processing behind the scenes.

9
50

ImageCache Actions

The ImageCache Actions module adds a plethora of additional processing styles to the ImageCache module. Watermarking, Overlays, Color-shifting, Alpha blending, Canvas manipulation, Rounded corners, and many more.

10
50

Administration Menu

Administration menu is more of an internal tool. This module displays a sleek menu at the top of the page with access to the full administrative panel. Though our clients rarely see this, it can be a real time-saver during development.

11
50

Date

The Date module compliments CCK by adding a date specific input field. This can be helpful when creating calendars, or chronological listings.

12
50

Calendar

Once the date has been entered using the Date module, we use the Calendar module in conjunction with Views to present a visual calendar display for the end-user.

13
50

CKEditor

CKEditor is a popular WYSIWYG editor that has been integrated with Drupal via this module. We like it because it is easy to configure and customize.

14
50

IMCE

IMCE seamlessly integrates with CKEditor, allowing users to upload images directly into content.

15
50

Google Analytics

Google Analytics is a full analytical suite for tracking your website traffic. The module adds all necessary tracking code, while caching it locally for faster loading.

16
50

Webform

The Webform module offers a convenient way for website administrators to add functional forms. This can be helpful for contact forms, or similar.

17
50

jQuery UI

This module is a wrapper for the jQuery UI library. We often use jQuery UI to add dynamic eye-candy to our sites.

18
50

Link

Link expands CCK to include a link field. Complete with URL and title, the link module can even be configured to open links in a new window.

19
50

Email Field

Much like the Link module, the Email Field module adds a text field to a custom content type. Email addresses are validated, and can be used to generate node specific contact forms.

20
50

Nodewords

The nodewords module (otherwise known as the meta tags module). This SEO-centric module adds meta tags such as keywords, description and canonical URL.

21
50

Lightbox2

Lightbox2 is a largely javascript based module which overlays images and other content on the current page. We use this in the construction of many of our image galleries.

22
50

jQuery Update

To maintain module integrity, Drupal ships with a slightly outdated version of jQuery. This module simply updates core to the latest version.

23
50

Backup and Migrate

It's better to be safe then sorry, and for that reason we employ Backup and Migrate on every new site we build. This module can be configured to store regularily updated database backups.

24
50

XML Sitemap

Another module for your SEO needs. XML Sitemap does exactly as the name states, it generates an XML sitemap for Google, Bing, etc.

25
50

Devel

Devel is an internal development tool made famous (in some circles anyway) by the dpm() function. Useful for debugging stubborn code, it is rarely used outside of PHP documents.

26
50

Global Redirect

Sites that use the pathauto module should display user friendly urls, but that doesn't mean google sees it that way. Global Redirect ensures the proper redirects are in place to point to the safe urls.

27
50

Page Title

One of the most important aspects of SEO is proper page titles. Using this module you can specify custom page titles, or page title patterns for individual content types.

28
50

Fivestar

Fivestar is a voting module which allows users to rate content out of 5 using a starred voting widget.

29
50

Voting API

The Voting API is the backbone of voting modules such as the aforementioned Fivestar.

30
50

Views Slideshow

Views Slideshow allows views content to be displayed using various transition effects. This is usefull for presenting nodes in a slideshow, or carousel.

31
50

Rules

Rules is a replacement for the core trigger module. It conditionally executes actions based on configurable events. One use might be to have the system send an email to administrators when new content is posted.

32
50

Content Profile

In core, profiles are not built as nodes, but the Content profile module changes that. Once profile information is stored in nodes, it can be accessed and displayed using modules such as Views.

33
50

Printer, e-mail and PDF versions

This module presents Printer, e-mail and PDF versions of all content. Small icons are displayed on the bottom of each node which link to their respective content.

34
50

Nice Menus

Nice Menus are used wherever drop-down or fly-out menus are needed. Nice Menus are fully configurable, and themable with CSS.

35
50

Embedded Media Field

Embedded Media Field is an add-on for CCK which includes fields for many different types of media. Popular uses include Youtube and Vimeo video fields. Users can simply enter the url of a video, and the embed code will be built on the fly.

36
50

LoginToboggan

This module adds the option of logging in using either your username OR e-mail address. A small but effective usability improvement.

37
50

Admin role

The Admin role module allows the admins to define additional roles which will mimick user 1. This role always retains full permissions.

38
50

Automatic Nodetitles

Drupal requires that the node title exist for technical reasons but there are a few scenarios where you don't actually want the user to see this field. Automatic node titles allows you to specify a title pattern, and hide the field completey.

39
50

Ubercart

Ubercart is a complete ecommerce suite for Drupal. Handling everything from the shopping cart to the payment processing, Ubercart is the best way to sell online.

40
50

Menu Block

Menu Block produces blocks which can be configured to show portions of the menu system. This is used on many websites to display lower depths of the menu while browsing a particular section of the site.

41
50

External links

The External links module employs javascript which scours the site for external and mailto links, and adds icons to them. It can also be configured to open external links in a new window.

42
50

Location

The location module allows location data to be stored with nodes, either by way of CCK or its own custom fields. This data can include addresses, countries, as well as lat/long coordinates.

43
50

Gmap Module

Used in conjunction with the Location module, Gmap allows location enhanced nodes to be displayed visually on a Google map. It also offers a view style display so that maps can be customized to suit your different content.

44
50

Vertical Tabs

The Vertical Tabs module enhances Drupal's backend by presenting fieldsets in a tabbed interface.

45
50

Mollom

Mollom integrates Drupal forms with the web service that helps identify content quality and stop spam. This can be a real life-saver on high traffic community oriented websites.

46
50

Content Taxonomy

Drupal's standard taxonomy input interface is slightly lacking, and sometimes you'd prefer if the data was stored similar to CCK. This module exposes taxonomy term selection to new CCK select fields. It can be configured to store the data separately, or in addition to core taxonomy.

47
50

Flag

The flag module allows content to be 'flagged' for various reasons. A common use is for content to be 'marked as spam', or to allow users to 'report as abusive'.

48
50

Advanced Forum

This is almost a mandatory module for any community based website. The core Drupal forum is quite lacking in functionality, and where it fails Advanced forum fills the gaps. This module modifies much of the standard forum markup, allowing for much more advanced theming.

49
50

Views attach

The Views attach module allows views to be attached to particular types of content.

50
50

Feeds

The Feeds module is extremely powerful, and can be used for a number of different reasons. We've used Feeds on everything from mass node imports, to scraping images and content in large news aggregators.

 

Well that's our list. If you think we missed anything important let us know in the comments below!

Shane Vincent

Shane Vincent

Shane Vincent is Drupal industry veteran and co-founder of Deck Fifty Design. With advanced knowledge of open source web development he works diligently to create highly functional & user friendly websites for his clients. Shane has a solid background in PHP, CSS, Javascript (jQuery), XHTML, as well as LAMP web server configuration. He currently specializes in front end web development using his favorite open source content management system, Drupal. Shane is comfortable heading large web development teams, but also enjoys late-night solo coding sessions.

Get in touch

Let's go!

We look forward to hearing from you!