Drupal is a great content management system, but like many others, it is not complete without a few extras added onto the base system. In Drupal, these extras are called modules. And I will typically start a new installation with the 10 modules listed below.
The list below skips modules that are requirements of these modules; for example, Chaos tools and Entity are omitted.
Views is the single best way to make lists or tables from data. In terms of its code base, the module is fairly complex as it makes SQL queries and returns user-friendly formats, such as tables and lists. From a user perspective, it is essential. Without Views, you’ll be creating a lot of custom modules to turn data into pages for viewing. Views is such a widely used module, it is in the process of being incorporated into core for Drupal 8!
Every site should have search-engine-friendly and keyword-rich URLs. Instead of linking to ‘node/12’, the user will see ‘[keyword-here]’. The Pathauto module helps you keep URLs consistent through setting up defaults paths for entities. As examples, blog posts may begin with ‘blog/[title]’ and products may begin with ‘product/[title].’
Even with Pathauto enabled, a user may still arrive at the infamous URL ‘node/12’ from either a search engine or improper linking. The Global Redirect module solves this problem by redirecting nay URL with an alias to its alias-specific URL. If the user types ‘node/12’ into the browser, he will be redirected to ‘best-drupal-modules.’
The Entity Reference module makes it possible to link content with any other kind of content. Unlike previous versions of Drupal and referencing modules, this effect doesn’t only apply to nodes and users. In Drupal 7, nearly everything has become an entity. Entity references make it possible to link them all together and then use those links in the Views module.
The Date module has a powerful set of submodules for creating the date field and handling dates in forms. One submodule gives forms the power to have date fields in addition to the option for the user-friendly date popup calendar in jQuery.
It is essential to track page visits and gather statistical information about traffic in order to grow your web presence. The Google Analytics module seamlessly integrates Google’s tracking abilities with your site. It’s as simple as setting up the Analytics account and entering your site ID number into the module.
Token replaces short codes with data from a node or user. Instead of coding in PHP to insert the title field into a webform result email, it’s as easy as using [node:title]. This approach is quicker, easier to read, and accessible to anyone. You also avoid the potential pitfalls that come with poorly written PHP code or someone high jacking your site with PHP in a text area.
Webform allows anyone to create a form on a Drupal site. Such forms may be used for anything from gathering visitor data to contacting a company. This module will display each submission result and organize the results into a table.
The Rules module fires a function when some other event within Drupal occurs. To provide an example, a visitor might submit a form and you may want the site to send an email with the request. Rules would be used to achieve this functionality. Another example would be assigning a new user a particular role after registration. Basically, whenever you want something to happen as a result of another action, the rules module is the way to go.
Backup and Migrate
Backup and migrate dumps the database tables (minus the caches) and creates zips of the files and images saved on the server as a backup. This module also provides the option to run backups according to a preset schedule. It’s a simple and highly recommended solution for keeping backups of any site. In the emergency situation where a site is hacked or lost, having backups will be a lifesaver. This module also helps with moving a site from one server to another.