Great Modules for the Drupal Beginner
"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
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.
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.
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:
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.
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.
Want more on this topic? Try these overviews by fellow Drupalers:
- 10 Must-have Drupal Modules
- 5 Undermined Drupal Modules I Have Utilized
- The 11 Most Important Things to Do After Installing Drupal
- Top 10 Drupal Modules
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.
Readers, what are your must-have modules? Do you have any articles outlining your favorite all-rounders? Let's hear 'em!