Useful Drupal modules

Click on the module name for notes, comments, patches.
Recommendations (for and against) are my personal opinion only and may be out of date. Feel free to email with corrections/suggestions.

Why doesn't the table mention Drupal 9 or 10?

1. Nowadays, I try and use Drupal as little as possible. Specifically I do not recommend it for a new website. I'd also strongly caution you against choosing Drupal if you're at the beginning of your career and trying to learn web development (front / back / full stack) or just want to manage/maintain a website. More details why by email on request.

2. By February 2022 I'd updated all the sites I look after to Drupal 9 (experience: mixed). As of March 2023, a year later, none of them were fully ready for Drupal 10 (waiting on support for various modules). By 13 Nov 2023 (a week or two after D9 lost support) I had updated a couple of them.

Q: What's the Drupal 9 to 10 upgrade experience like? A: it's what I'd describe as "just bearable", slightly better than D8 to D9, though with plenty of things to still trip you up. There is still deprecated code that needs fixing in D10 modules, and policy changes mean odd things will break (be prepared to turn off Aggregate CSS/JS files if your themes stop working, and note that Drush launcher doesn't work with Drush 12...)

Admittedly the upgrade_status module is the best solution they could have come up with for tracking compatibility. Also watch out for a nasty session headers bug with redirect_after_login.

What about sites still running Drupal 7? In short I still recommend leaving them on Drupal 7 or moving to another platform entirely. My prediction was that Drupal will extend D7 support year after year (note that drupal.org itself is still running D7). It's now been confirmed as 5 Jan 2025. There will have to be some sort of third-party long term support, because of the sheer volume of sites that are not being upgraded.

Your decision is really what specifically you think you will gain from Drupal 8/9/10 - often the answer will be not enough, and one of the main hassles - apart from converting each content type one at a time, and setting up a new theme, will be recreating all your views by hand, as views can't be automatically upgraded.

(134 modules in list)
Module name, text of notes
Name Notes last updated Avoid (imo) "Essential" D8 Sort ascending Personally Tested
Unique field ajax
Mollom - DEPRECATED
Comment Notify
Coder
Devel
Add another
Responsive and off-canvas menu
SEO Checklist
Block Visibility Groups
Configuration Update Manager
Better Exposed Filters
Real Name
Computed Field
Toolbar menu
Views Contextual Filters OR
Coffee
Configuration Override Warn
D8 Editor Advanced link
Snippet Manager
Environment Indicator
Content access
Rules
HMS Field
Two Factor Authentication
AJAX Comments
Automatic User Names
Feeds
Layout builder
Login email or username
Alexa
Field collection
Configuration Read-only
Password policy
Automatic Entity Label
Field Formatter Condition
Webform Views Integration
Menu position
Conditional Fields
Refreshless
Telephone
Field Permissions
Bamboo Twig
ClamAV
Menu Token
CKEditor Wordcount
Save edit
AudioField
TagCloud
Trash
Advanced Page Expiration
Views Secondary Row
Views exposed form layout
Honeypot
Ngrok for drupal
Redirect after login
Exclude Node Title
Twig Xdebug
Redirect
Webform
SMTP Authentication Support
Entity Embed
CKEditor Custom Config
Twig VarDumper
Flippy
Prepopulate
Token
General Data Protection Regulation
Nagios
Twig Extensions
Custom Add Another
Warden
Field Tools
CSS Editor
Required by role
Entity Access Audit
Captcha
Rabbit hole
Group
Features
Web Profiler
@font-your-face
Config Ignore
Google Authenticator login
reCAPTCHA
PDF Reader
IMCE
Module builder
CKEditorHeight
Role Delegation
Simple OAuth
User restrictions
AddToAny Share Buttons
Image Lazyloader
Memcache API and Integration
Role Watchdog
Serial Field
Spambot
Pathauto
Contact Storage
Flag
String Overrides
Allowed Formats
Double Field
Upgrade Status (for Drupal 9)
Entityqueue
Paragraphs
Structure Sync
Permissions Filter
Address
Views taxonomy term name into ID
Username policy
Masquerade
Metatag
Datetime Range
Field group
Raven
Views infinite scroll
Twig Tweak
View Migration
Flood Control
Views Aggregator Plus
Pathologic
Node access user reference
Node Export
Mydropwizard
Restrict Login or Role Access by IP Address
Views PHP
Node Page Disable
Resave nodes
Autofocus
Table trash
Administration Views
Autosave
Automatic Nodetitles