Drupal modules are code that is at the Core of Drupal itself that also extends Drupal Core’s base functionality by altering or adding new features. A module may also contain CSS, JS, config, and template files to give the module a custom looking and feel on the site, import default configuration on installation, or build out custom administration pages and configuration pages in the administration area.
Drupal 9 Core Modules
Date Time Range
Dynamic Page Cache
Inline Form Errors
Menu Link Content
Drupal 9 Contrib Modules
Below I have compiled a curated list of the top Drupal 9 modules according to their usage statistics from Drupal.org. I have only included modules that are actively supported with at least maintenance fixes only, and I have tried to ensure that all modules included in this list are covered by Drupal’s security advisory policy. This should give you a solid list of Drupal modules to get started with for most site builds.
Learn more about Drupal modules on Drupal.org.
The Admin Toolbar module extends Drupal Core’s Toolbar module by adding dropdown menus to the toolbar menu to allow easy access to Drupal’s administration pages.
Better Exposed Filters
Chaos Tools, otherwise known as ctools, is a suite of APIs and functions developed to improve the developer experience. Much of ctools functionality was ported into Drupal 8 with the Views in Drupal Core initiative. The current version of ctools remains it’s own module that is currently porting any remaining functionality that was not merged into Drupal Core to Drupal 8+.
Editor Advanced Link
Entity Reference Revisions
Image Widget Crop
The Metatag module generates structured metadata automatically based on customizable configuration on Drupal entities. Metatags can be further customized on each entity to override the default metatags for that entity.
The Paragraphs module is the successor to the Field Collections module for Drupal 7. The Paragraphs module allows for customizable sets of fields to be pre-configured with other fields and entity references inside a specific paragraph type. This allows site builders and developers to setup easy to understand content editor workflow compared to just throwing everything inside the WYSIWYG.
The Pathauto module generates path aliases automatically for Drupal entities based on customizable patterns. This is helpful for search engine optimization and creating great site architecture automatically based on tokens and menu structure.
The Redirect module allows for 301 redirects and 302 redirects to be created from one Drupal path alias to another. The Redirect module can be integrated with the Pathauto module to ensure that Drupal paths are either never changed or redirected automatically from a previous path if it changes.
The Scheduler module allows for content to be published and unpublished at a specific date and time using cron. This is useful for publishing time sensitive content such as product reviews with manufacturer mandated review publishing embargo times, and unpublishing content at a specific date and time in the future.
The Search API module extends Drupal Core’s search functionality by allowing
Simple XML Sitemap
SMTP Authentication Support
The Token module provides some additional tokens that were not included during the integration of the Token module into Drupal 7 Core. It also provides a UI to browse tokens.
Video Embed Link
Views Bulk Operations
Views Infinite Scroll
History of Drupal Modules
There have been thousands of Drupal modules contributed by the Drupal community throughout Drupal’s lifetime. The problem is that most modules are only available for specific versions of Drupal Core, and their successor projects are not always provided by the predecessor project’s maintainers. This makes it difficult to find the best Drupal module for a particular site build even for experienced Drupal developers. This makes it especially difficult if you are new to Drupal and have no idea what you are supposed to be looking for to begin with.