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