Several years ago we published a very popular list of essential modules for Drupal 7. Now that Drupal 8 is well established and Drupal 9 is quickly replacing it we thought now is a great time to make a new list of great modules for your Drupal 8 or 9 websites. Some of these are well known but hopefully, you will find some new ones to add value to your website.
Add Another gives you several options to quickly create additional nodes after creating a new node. With it you can add a button next to the node save button to "Save and Add another". This button will save your node and then open another node of the same type ready for creating. This can be a valuable time saver when entering multiple nodes of the same type.
Admin Toolbar is the first module we install. It improves the default Admin Toolbar (menu at the top of your site) to transform it into a drop-down menu, providing fast access to all administration pages. It works on the top of the default toolbar core module and is, therefore, a light module and keeps all the toolbar functionality.
Backup and Migrate
Backup and Migrate is another must-have module. Backup and Migrate allows you to create manual and scheduled automated backups of your database and website files. You can download the backups or store them on your server. This module is flexible and can be a site-saver if your site crashes. This should be one of the first modules you install. Be sure to set an automated backup right away.
Chosen uses the Chosen jQuery plugin to make your <select> elements more user-friendly. By default, the module will automatically apply itself to any select elements that have more than 20 options. When applied to your select elements it makes selecting and knowing what you've selected multi-value options list much more user friendly.
Custom Add Another
This simple module allows you to customize the text of the 'Add another item' button on multi-valued fields. If your field supports 'unlimited' values then you’ll be offered the option of customizing the 'Add another item' button text. This setting is stored per 'bundle' for flexibility.
Draggable Views is a great way to build a sorting View with drag and drop functionality. Often your content administrators will want to be able to custom sort a View listing. There is no easy way to do this natively with Nodes and Views but with the Draggable Views module, you can create a second View of the content you want to sort that contains drag and drop handles. This makes custom sorting of View content a breeze!
The FAQ Field module is our favorite method for creating FAQ pages or other similar lists. Just create a content type for your FAQs, add the FAQ field type and you can now easily add questions and answers. It comes with multiple field display types so you can easily display them as accordions, HTML lists, and more.
Honeypot is a great spam deterrent module that filters forms submissions that may be spam without having to use a CAPTCHA. Honeypot adds a hidden field to your forms that only a bot would see. If this field gets filled out then the system knows it is spam. Also, there is an adjustable time limit and if the form is filled out faster than this limit then it is also considered spam.
Meta Tag allows easily setting up metadata for your websites such as meta titles and meta descriptions tags. This metadata can be automated or customized per page, content type, entity, and more. Plus, it has a ton of sub-module to expand its functionality even further. This one is a must-have module.
Module Filter will group your site's modules into tabbed categories for easier administration and also provides a must-have search filter for finding your site's modules.
Override Node Options
Override Node Options is another module that improves Drupal's permission system and allows you to give granular control to users to have access to edit a Node's published, promoted, authoring, sticky, and revision settings without having to grant a user the "Administer content" permission which gives them full access to edit Nodes.
Paragraphs is an immensely popular module. And for good reason! It's slightly more advanced than other modules on this list but it's worth the time to learn it. Paragraphs allow you to create dynamic groups of fields for your content editors when creating content. Instead of putting all their content in one WYSIWYG body field including images and videos, end-users can now choose on-the-fly between pre-defined Paragraph Types independent from one another. Paragraph Types can be anything you want from a simple text block or image to a complex and configurable slideshow or even groups of fields within another multi-value field!
PathAuto allows the creating of 'patterns' that will automatically create a node's URL alias based on the tokens you setup. This is great to automatically create user-friendly URLs and may give your pages a boost in the search engines.
Password Reset Landing Page
Password Reset Landing Page makes resetting passwords less problematic on your Drupal site. We used to receive frequent complaints from users having issues resetting their passwords. The problem occurs when the user clicks the 'one-time password reset' link sent to their email. They are then logged into the site but don't change their password because it's not obvious that they need to do this. This module creates a better password reset landing page that allows the user to create their new password at the same time they log in after clicking their reset link.
Rabbit Hole is a module that adds the ability to control what should happen when an entity is being viewed at its own page. Perhaps you have a content type that never should be displayed on its own page, like an image content type that's displayed in a carousel. Rabbit Hole can prevent this node from being accessible on its own page, through node/xxx. This gives a better user experience and can also help your site's SEO.
This module uses Google reCAPTCHA v3 which returns a score for each request without user friction. The score is based on interactions with your site and enables you to take appropriate action for your site. Version 3 is the newest version and does not require user interaction like clicking a checkbox.
This module provides the ability to create manual and automatic redirects and maintain a canonical URL for all content, redirecting all other requests to that path. The automatic redirect functionality is great in case your node URL changes, perhaps from using pathauto and changing a node's title. This module will automatically create a redirect from the old URL to the new one so that the page is always accessible.
Remove Username Field
This simple module is removing the 'name' (username) field from the user management forms (create/register/edit accounts) by making the 'email' field required and copying the email address into the username field.
PHP Authentication shield. It creates a simple shield for the site with Apache authentication. It hides the sites if the user does not know a simple username/password. It handles Drupal as a "walled garden". This module helps you to protect your (dev) site with HTTP authentication.
Super Login "De-Drupalizes" the login page and adds many nice features. Besides making the Drupal login page look nice and modern by removing the tabs and replacing them with standard links, it also allows users to login with their email address instead of their username, gives dynamic 'caps lock on' warnings and also allows admins to add placeholder text and easily change any form's text.
Webform is the module for making forms and surveys in Drupal. After a submission customizable e-mails can be sent to administrators and/or submitters. Results can be exported into Excel or other spreadsheet applications. Whether used for simple contact forms or complex surveys, this is the module to use and it also provides some basic statistical review and has an extensive API for expanding its features.
XML Site Map
The XML sitemap module creates a sitemap that conforms to the sitemaps.org specification. This helps search engines to more intelligently crawl a website and keep their results up to date. The sitemap created by the module can be automatically submitted to Ask, Google, Bing (formerly Windows Live Search), and Yahoo! search engines. The module also comes with several submodules that can add sitemap links for content, menu items, taxonomy terms, and user profiles.