Great Modules for the Drupal Beginner

28 Jul 2009

"I'm new to Drupal. What modules should I check out?"

That's a common Drupal beginner question. Everyone (even the newbie who asks) knows the general answer: "It depends entirely upon what your site needs." But that doesn't help the beginner much with making a start. "You can do anything, because Drupal has over 4000 modules!" is wonderful news to the ambitious newbie's ear – yet it's pretty frightening, too.

The smart Drupal beginner will rightly ask, "Okay, I know there's a bushel of modules for any feature I have in mind, and I look forward to exploring them in detail... but for now, what are some common favorites for Drupal sites of every stripe?"

A good list of popular, all-round workhorse modules can quickly get a newcomer on the path to a functional site. Here's a list of my most-used Drupal 6 favorites, plus a few recommendations for beginners, based on butter-fingered experience with over a dozen sites. I'd love to see comments with additional (or better) ideas!

The core basics

All from the 'Core - optional' grouping on the admin/build/modules form:

Menu: I'm not even sure how this is "optional". Enable it. 

Path: As above, it'd be a strange site that didn't enable this. Path lets you to set your own URL paths for content, which is great for user comprehension and SEO alike. If you don't use this, just stop reading here and go sit in the corner.

Taxonomy: Drupal without taxonomy (i.e., keyword "tags" for organizing and manipulating content) is barely Drupal. Drupal Ace without taxonomy is a hollow, bitter shell of a man. 

Blog, Comment, Contact, Forum, Poll, Search, Upload: Whether you need these depends on whether you want blog functionality, commenting, contact forms, forums, polls, built-in search, and file uploads, respectively. All purely optional, but all very common. 

Book: A great format for content that belongs in easily-rearranged hierarchies. 

Ping: Alerts other sites when your site has been updated. I always enable Ping.

Statistics: Track access statistics. I'm not certain how vital this is, but I've never not used it.

Useful tools for general site building

Front Page: A workhorse module for customizing your front page. (See Splash, too.) 

Views: A suite of tools for organizing your content into lists, tables, galleries, whatever. It's still an optional contributed module, but is increasingly the preferred Drupal toolkit for presenting content. Give yourself over to its deep ways and you won't be sorry.

CCK: A suite of modules for customizing node types or creating new types. Like Views, it's an optional contributed module and not every site needs it, but for many sites CCK is vital. 

Panels: Heady stuff for fancy arrangements of content. I haven't used it much yet, but I'm glad knowing it's on standby for future grand designs.    

Image: Some newbies will be surprised to learn that image handling (other than via direct code input) is a Drupal add-on feature. This suite of modules enables a way to attach a single image to a node, create very simple galleries, and create images as nodes. (But a caution: Many image-handling concepts will require added, or entirely different, modules. Of which Drupal offers about two jazillion.) 

Site map: Doesn't everyone want a site map? I like to set that as my "content not found" or "access denied" page, to steer wayward searchers back toward the corral. 

Useful tools for general content creation

FCKeditor, Tiny Tiny MCE: Two popular tools for adding WYSIWYG editing to Drupal text content. Preferences run strong in this area; I use Tiny Tiny MCE partly out of comfort and inertia, while some Drupalers prefer FCKeditor, Wysiwg, or one of many other offerings. 

IMCE: The Image module suite attaches an image to a node in a predetermined manner. IMCE, on the other hand, works with WYSIWYG editors like the above to place images anywhere inside text. Many users will expect this kind of basic image-insertion functionality.

Pagination (Node): If you want to break long content into multiple pages, this module will do the job without requiring you to create multiple nodes. (There's also the Paging module; I don't know off-hand which is better.) 

Pathauto: Creates paths automatically, based on flexible rules you set. Life without Pathauto is cold... so very cold... 

Preferred Format: Without this, I always forget to set the desired input format when submitting content. Preferred Format always earns its keep. 

Scheduler: If you need to schedule automated posting and un-posting of content, this is the perfect solution. 

Site performance aids

Path Cache: Caches URL aliases to speed things up.

Throttle: A Core module, Throttle turns off unneeded site features when you're under server-stressing swarms of content-hungry visitors. I like to pretend I need this.

SEO helpers

Global Redirect: It's easy to end up with multiple paths pointing to the same content – which looks like multiple instances of the same content. This module prevents the problem by redirecting "node/42"-type paths to your nice clean aliases. 

SEO Checklist: A nice checklist of practices and modules (with convenient links to download and enable modules) to improve your site's ranking on search engines. 

Meta tags: Places meta tags into content and the front page. 

Page Title: Lets you specify a page title (which search engines use) that's different from your node title (which may be more geared toward human readers).

XML Sitemap: Creates a sitemap of the sort that Google and other search engines like. The sitemap aids the crawlers in finding and indexing all the pages on your site, a particularly good thing in a system like Drupal where pages don't necessarily fall under a neat hierarchy.  

Social stuff

AddToAny: Among many available methods for adding "social networking links", I like this one for its simplicity and functionality. 

Comment Notify: Lets any user receive email notice of follow-up comments, keeping them connected to the conversation.  

FeedBurner: I'm not too experienced with this yet, but it (and a Google FeedBurner account) add functionality to your RSS feeds. 

Mollom: Currently my favorite way to turn off the anti-social stuff (spam etc.). Doesn't annoy commenters with "captcha" tests. If there's a drawback to its magic, I haven't seen it yet. 

Fivestar: The basic toolkit for content ratings. 

Tools for easy administration

Administration Menu: A drop-down menu for administrative tasks. It hasn't overly excited me yet, but some Drupalers swear by it.

ModuleInfo: Adds lots of helpful info to the admin's list of modules. Good for beginners learning what module does what. 

Backup and Migrate: Smashingly simple way to back up a Drupal site database. Easier and faster than calling up phpMyAdmin.

Poormanscron: If you don't know cron from maize, install this module and let it take care of your scheduled back-end tasks. Great scheduling solution for the rest of us. 

Google Analytics: How else would I know how little traffic I get?

Update Status: A clever Core module that warns when your system, modules, or themes have updates waiting. (If you run many sites off of one Drupal installation, only one site needs use this module.) 

Tools for restricting access

I don't often need these features, but many beginners seek them out. Suggestions:

Protected NodePrivate, and Premium: Three modules offering limited but easy and lightweight control over content access. (See comparison of content access modules.)

Content Access: The power-admin's version of the above, for flexibly configuring who can access what. (Use with the ACL module. Alternately, check out Simple Access as a potentially easier tool.)

Other noteworthy stuff

Simplenews: If you want email newsletters, this is a good basic toolkit. Lots of related modules are available to further enhance and fine-tune its functions.

Advanced Forum: The basic functionality of the Forum module is pretty simple. Some Drupal sites opt for entirely different external solutions, grafted on via appropriate modules. Somewhere between those two extremes is Advanced Forum, a simple way to add a little power and flair to humble Forum. 

Printer, email and PDF versions: Among several solutions, I like this simple module for creating print-out versions of pages (and PDF if needed). I leave email forwarding and other sharing functions to AddToAny. 

AdSense: Your basic toolkit for unleashing the torrent of AdSense pennies. 

Web Links: Among many solutions for managing lists of web links, currently I like this one. See it in action on the links page

Trivial little things that I like

Re: Comment subjects: Places a default subject into comments. 

Download Count: If you've got downloads, it's nice to keep count.

Persistent Login: Adds that "Remember me" checkbox to a login form. 

Side Content: A simple tool for attaching sidebar info to specific nodes. 

WordPress Comments: Makes comment forms look nicer. I'm shallow like that, okay?

External Links: Adds little visual indicators that a link leads off-site, and automates opening of external links in new windows.

Read More Link: Curbs Drupal's odd propensity to make "Read more" links almost invisible. 

Relevant Content: Makes a nice block directing readers to similar content. 

More modules!

Want more on this topic? Try these overviews by fellow Drupalers:

You can also check what modules are most popular among all Drupal users, via this project usage overview page that tracks the number of sites reporting use of each module. 

Finally, for details, user ratings, and more info about any module, as well as great ways to find new modules for your sites, don't forget the Drupal Modules website.

What else?

Readers, what are your must-have modules? Do you have any articles outlining your favorite all-rounders? Let's hear 'em!

Comments

Doug's picture

Nice list, some other modules I've found useful include:

  • date and calendar
  • logintoboggan - more flexible login form
  • commentrss - this plus the tracker rss feed lets me keep track of site activity
  • if you like editing in browser, see contemplate, theme_editor
  • drush - easier installing and updating of modules
  • og - organic groups
  • smtp - if you want to send out emails through your smtp server instead of the web server
  • securepages - if you want ssl logins, etc.
  • upload_replace - so file names and links don't change/break if you re-upload a new version
  • video_filter - for easy display of video from other sites
  • webform - use to create surveys or whatever
  • ajax - ajaxifies many forms
  • auto_nodetitle - useful with some custom content types

Many of these should be included with drupal, it takes forever to set up a new site.  For example webform is miles ahead of the built-in poll module.  ed_readmore, ajax, video_filter, securepages, smtp, upload_replace commentrss etc. all do things that should be included with drupal, at least as an option (like with upload_replace).  See for example moodle which out of the box supports smtp, ldap, built-in display of video/audio files, etc.

drupalace's picture

Thanks for the great info! Some of those modules will definitely appeal to more experienced users, or only those wanting some specific functionality – but the one-sentence overviews are excellent for helping any user quickly determine whether or not to further investigate some item. I wish every module came with that sort of one-sentence summary; alas, the actual overviews that come with modules vary widely in length and comprehensibility. 

You're right that a setting up a site from scratch can take a long time; a fresh Drupal installation is best described as "bare-bones". (Which is actually a good thing about Drupal, of course – no unwanted cruft!) Like (I assume) many users, I've created my own "sandbox" Drupal setup that I can clone for any new site, pre-configured with all the modules and settings that I'll probably want to use. Some further detail on that sandbox would be a good follow-up article to this article.  

Unknown Drupaloid's picture

Thank you very much for this useful information.
Please keep on .
I am looking forward to read your next great article.<a href="http://www.alkemi.com.au/">SEO</a>

Best regards!!!

Sam

Swift Arrow's picture

Thanks so much for this list.  I'm not a beginner, and even have my own list of "preferred modules", but I'm always on the lookout for better 'best practice' ways of doing stuff.  So seeing where my list and your list intersect is pretty good.

Some modules I always enable are:

  • Global Redirect - Fixes the problems of duplicate paths for singular content.
  • Image and Image_Assist - More "Drupalized" way of attaching images to content.  It inserts the image, and also creates a separate image node.
  • Legal - Handles disclaimers, and forces users to acknowledge it before registering.
  • jQuery Update - because some modules need it, and I like it. :)
  • XML Sitemap - for SEO
  • Hierarchical Select - This might be really good for beginners: it adds all that wonder "Wordpress-like" functionality of adding categories and selecting them to the Node-edit form.

My 2C.  I'm happy to learn of some other modules in your list!

 

drupalace's picture

Good suggestions. I had left XML Sitemap off my list, as I believe at the time of compilation it didn't have a stable D6 release. I added it to the page now, thanks to your reminder. 

SF's picture

Thanks DA for this great list, and other resources you've posted that have been a big help to me in the past.

drupalace's picture

You're welcome! Please suggest any more modules that you find all-round useful.  

bonus di deposito's picture

Thank you for posting the collection. Reading is one way of learning. Listening and watching is much easier and fun. So I agree with you.In addition to bunch of Drupal video in Youtube, you can search "torrent drupal video" ... some good movies by Drupal dojo and http://www.baccara-in-rete.it stuff. Some are also listed in Drupal.org

 

Drupalmediaplayer's picture

Excellent guide on modules for Drupal beginners! Thanks for the informative post........ really useful Smile

Marta's picture

This is the most informed writing I’ve ever seen on this subject

stunning boy's picture

being a newbie i found this article very useful one

Add new comment