1. Askimet – how can you build a site, with a possibility for users to leave comments and not to have this plugin ? There are thousands of spam bots around, leaving hundreds of stupid and sometimes offensive comments wherever they can. Askimet is a perfect plugin to stop them from doing it on your Drupal site. Originally created for Wordpres, the Askimet is absolutely essential for any community-driven site.
2. Category – allows you to structure your site and to organize content with categories, which is quite useful as for SEO. Categories and containers can be created as nodes and the content can be assigned to the categories. The category module will improve your site navigation vastly, turning it into more tree-like hierarchy.
3. XML Sitemap – generate dynamic sitemap for keeping search engines well informed about the changes in your site structure. At the moment of writing only Google and Yahoo providing the services for using this information directly, while MSN is already working on a similar solution, they have already announced about joining the sitemaps standard. For any webmaster this is a must have module.
4. Nodewords – which is also known as “Meta Tags”, a module which gives you control over meta tags and their content. I have seen a lot of Drupal-based sites completely free of meta information. From the site description to keywords and Geo tags, all that is to be controlled by the Nodewords. A good site may not have an empty <head> section =O)
5. Page Title – lets you customize every page title the way you wish. It is a very important factor for SEO and even if you do not care much about it, altering page title conforming the content you providing is so important for usability. A lot of times, the title of the page is not _exactly_ the same title that you are using for your heading, for example when providing a bigger view over the content of the page, you might choose to skip some of the words while adding others – for all those purposes and even more, i need “Page Title” module for every Drupal installation.
6. Path Redirect – Imagine, that you are moving some of your pages from one location to another. All the links that the search engines have indexed, and your partners have placed on your site are going to be destroyed, if you won’t do something about it. You can ask all the sites that are linking to you, to alter their links, but first – it will take some time and second – some of them won’t be available to do that; and what will you do about the search engines, waiting for Google or Yahoo to reindex your links will take some very serious time, and in the mean time, your potential users and customers will be hardly disappointed. Path Redirect solves this problem.
7. Views no modern Drupal site is created without this module. This module is essentially a smart query builder that, given enough information, can build the proper query, execute it, and display the results. The views module can give you the flexibility, that for example elder versions of Drupal were completely incapable of doing. If you want to sort your content differently, if you need to display a block with the 5 most recent posts of some particular type or if you require to provide ‘unread forum posts’. A lot of different modern Drupal modules also depends on the Views module.
8. Update Status – if you wish to have version control of your modules, then this is the best way of doing it. Update Status can automatically check new versions of installed modules and notify you at the administration panel right after you log in. Having a lot of modules on the Drupal installation will oblige you checking the updates very regularly, and that means visiting dozens of pages every couple of weeks, which is not a big fun. Update Status was created exactly to help resolving this problem. This module is only available for versions starting with Drupal 5.
9. TinyMCE – is the module that you probably can’t live without. Having anyone responsible for the content, who does not understand XHTML will be a disaster without this module, and in so many cases, the people don’t have an idea of what XHTML is. I believe it is a shame, that Drupal does not have a default editor for the image uploading, it’s hard to find any CMS which does not have this functionality. TinyMCE will solve all problems with images inserting by providing nice usable interface. One word of caution – consult this TinyMCE compatibility chart before you really starting using
10. PathAuto – is a module for generating automatically the path aliases for all possible types of content. When having a lot of content appearing almost every day then no one will be able to invent new url for every content post. The PathAuto module handles these cases, generating path aliases based on the content of the page.
There are some other modules worth mentioning, but they all depend on the implemented project, but may become quite popular with the time, such as Adsense, Flash Video (until the new <video> tag is not available in HTML, its a nice way to have videos), Video module (is an alternative), Events (a lot of communities have events =O)), Pdf View (there are so many times things that you might need in PDF format),