When starting a new Drupal site, I almost always install a handful of modules first thing. Here are my top 10 and why you should use them.

*Modules listed below are in no particular order

  1. Pathauto: Drupal Core ships with a URL aliasing function, however this module expands upon that and adds automatic URL aliasing. This can be based on node type in conjunction with Tokens.

  2. Adminmenu: This module does nothing for your site, it is strickly for navigation of admin menus. This module however has increased my work flow dramatically because I spend a less time waiting for pages to load to get to the page I want.

  3. Content Construction Kit: This is the future of Drupal. This module allows custom fields within a node. By having this node you can turn your nodes into any piece of content that you want. Tie this in with customizing your node display and you have a unique site with little effort.

  4. Views:This module allows seamless and effortless custom displaying of content. This is not to be confused with a custom node display. This, rather, would display multiple pieces of content. For example: a most recent comment display or popular content display. The uses for this module are limitless.

  5. Poormanscron: This module simply runs the cron upon a certain amount of page views, which you configure. This is great for sites that have large amounts of content that need to be updated on a regular basis.

  6. XML Sitemap: If you want your site to be indexed correctly and often, this is the module for you. It creates a sitemap that is submitted to search engines. It updates whenever you make a new piece of content. This saves you from hand making a site map every time you make a new blog.

  7. CAPTCHA and reCAPTCHA: These two modules go hand in hand. The CAPTCHA module adds a layer of security to parts of your site that you don't want spam. This could be your contact page, comments for anonymous users, or any other part of your site. The reCAPTCHA module adds to the CAPTCHA module by utilizing a system that uses successful decodings to helps digitise books for online use.

  8. Token: Tokens are small text place holders that can be used for automatic URL aliasing and countless of other applications. Example for automatic URL aliasing would be if you wanted the alias for your blog to be yoursite/blog/titleofblog you simply use tokens in pathauto for your blog to be blog/[title-raw] in which the [title-raw] is the token.

  9. phpass: This module stores password hashes securely. It just add an additional level of security to your passwords. It accomplishes this by stores the hashes in a secondary table using phpass, and removes the insecure MD5 hashes in the user table.

  10. SpamSpan: This moudle obfuscates email addresses to help prevent spambots from collecting them. Once again just another level of security.

More information can be found by clicking on each module link, which will take you to their respective project pages.