20 Essential Drupal 7 Modules for Your Website Development
There are 10,660 “full-projects” modules and counting for Drupal 7 and the list gets intimidating. Whenever I develop a new Drupal 7 website, I always include a specific set of modules by default, and here are the essential modules in my list.
1. Views
Create customized lists and queries from your database.
2. Pathauto
Provides a mechanism for modules to automatically generate aliases for the content they manage.
3. Backup and Migrate
Backup the Drupal database and files or migrate them to another environment.
4. Features
Provides feature management for Drupal.
5. Media
Provides the core Media API.
6. Administration menu
Provides a dropdown menu to most administrative tasks and other common destinations to users with the proper permissions.
7. Devel
Various blocks, pages, and functions for developers. Generate dummy users, nodes, and taxonomy terms. This module should be disabled in the production server.
8. Rules
React on events and conditionally evaluate actions.
9. CKEditor
WYSIWYG HTML editor to use instead of plain text fields.
10. IMCE
Image and file uploader and browser supporting personal directories and user quota.
11. Entityform
Provides fieldable entity forms
12. Date
Makes date/time fields available.
13. Menu block
Provides configurable blocks of menu items.
14. Context
Manage contextual conditions and reactions for different portions of your site.
15. Custom Search
Customize the default search, change labels, default texts, ordering, and display content types and taxonomy selectors.
16. Diff
Show differences between content revisions.
17. Redirect
Allows users to redirect from old URLs to new URLs.
18. Linkit
Provides an easy interface for inserting links.
19. Shortcut per Role
Creates default shortcut per role.
20. Site map
Provides a site map that gives visitors an overview of your site.
Conclusion
There are other essential modules depending on the needs of your Website. For instance, I like to use the Bibliography Module to manage and display publications.
I also like to use the Node Revision Restrict module to restrict revisions of node for each content type. This helps reduce database size, enhance site performance and improve execution time of node load functionality.
I personally don’t use the Google Analytics module since I add the snippet of code directly into the template file (html.tpl.php).
If you have anything to say, please share your opinion in the comments section. Your opinion matters, unless it is a Spam.