It's that time again! Like the list of Drupal modules for 2021, we have made our list of top Drupal modules for 2022. This year's picks include migration power tools to help you prepare for Drupal 7's upcoming end of life, modules to improve accessibility, and user experience, and modules to boost your website security and SEO.
Some of our favourite modules are Drupal mainstays, while others are lesser-known. They range from very simple to rather elaborate, but they're all worth considering as you plan your next project. So now, let's check our list of top Drupal modules for 2022.
This Year's List
- Migrate Plus
- Migrate Tools
- Location Migration
- Editoria11y Accessibility Checker
- View Password
- Entity Save and Add Another
- Schema.org Metatag
- Search 404
- Password policy
- Two-factor Authentication
The Migrate Plus module is a pretty standard tool for migrating to Drupal 9. It allows migration plugins to be implemented as configuration entities, eliminating the need for server access to make adjustments.
These configuration entities can be grouped and managed using GUI and command-line tools (such as those provided by Migrate Tools below). Grouping lets developers and administrators store common configurations in a single file and reuse them across multiple migrations and makes it easier to organize and manage complex projects with multiple migration types.
Migrate Plus also provides a catalogue of migration plugins:
- Match source data to existing Drupal 8 or Drupal 9 entities
- Generate entities from source data
- Merge multiple source arrays into one array
- Set value matching rules to skip rows
- String transliteration to remove language decorations and accents such as in file names
- Migrate source data directly into SQL table
- Manage source URLs and fetchers to support file- and stream-based content
- Data fetching and parsing
- Other migration processes and tasks
Submodules provide detailed, documented examples for implementing Drupal migrations.
The Migrate Tools module provides a variety of drush commands for managing and executing migrations, including imports and rollbacks, messages, and status reports. A user interface is also included for several of its drush commands and running migrations defined as configuration entities (see Migrate Plus above).
The Location Migration module migrates data from the CCK and entity fields previously enabled in Drupal 7 by the Location module and its submodules. Data including street addresses, phone numbers, email addresses, web addresses, and geocodes are mapped to the appropriate Drupal 8 or Drupal 9 field types:
- Street addresses to Address module fields
- Geocodes to Geolocation module fields
- Web addresses to the core link field
- Phone and fax numbers to core telephone fields
As of this writing, the Location module statistics page shows over 32,000 sites still using the Location module. Migrating all those sites would mean a LOT of developer hours spent mapping the same fields from Drupal 7 to Drupal 9 over and over again. This module saves those hours and creates a standardized migration path for Location data on Drupal sites.
Editoria11y Accessibility Checker
There are several contributed modules available to help improve Drupal site accessibility. The Editoria11y Accessibility Checker got our attention for its easy integration into a content workflow and editor-friendly features.
Editoria11y runs automatically, so editors do not have to remember to use it consciously. When a Node, View, Page Layout, or other entity is saved, Editoria11y scans the result for issues and flags potential errors. This method catches errors in the context of rendered pages rather than only at the field level. For example, a heading structure that appears correct in the node WYSIWYG can result in a messy document outline when added to the other page pieces; analyzing the rendered page makes it easier to discover and fix these conflicts.
Flagged issues are limited to things editors can quickly fix themselves, like alt tags, link text, and heading structure. The interface uses icons to visually highlight where problems are found, and helper text clearly explains why this might be a problem and what a better solution would be. Users can toggle between highlighted issues, visual markup icons, and a clean document view.
The View Password module is one of those simple little things that makes a big difference. It provides the familiar "eye" icon on password fields, allowing the user to click and see their password as they've entered it.
This may not suit specific systems, like those protecting sensitive financial and health information. In most cases, though, it's a helpful feature and is especially appreciated by mobile users prone to typos.
Entity Save and Add Another
The Entity Save and Add Another module addresses minor, almost invisible annoyances that can drag on the editor user experience. When saving their entity, rather than going back to the main listing screen for that type, the user can stay put and go straight into creating another entity of the same type. The module supports Node, Taxonomy, Block, and Menu entities.
This is a lesser-used module, so you'll want to test your use cases thoroughly.
Scheduler has been around for a long time and does one thing: it schedules node publishing and unpublishing. The module integrates with Rules and Devel Generate and provides drush commands and date tokens. On Drupal 8 and 9, it integrates with the core Content Moderation module via the Scheduler Content Moderation Integration sub-module.
Auditing and removing outdated content is critical for user experience and SEO. The Scheduler module allows editors to make this an ongoing part of their routine instead of a messy and time-consuming project.
For more content auditing, check out our blog post on what you can learn from Marie Kondo about running a content audit.
We're building on that idea in this year's list with the Schema.org Metatag module.
If you aren't familiar with Schema.org, it provides a widely adopted set of standardized properties that help define your content's structure. That structure can be read by compatible systems like search engines, portals, mapping tools, social media platforms, and various other apps and tools.
Adding this externally standardized structure to your site makes content more readily shareable and easier for users to find and can give your SEO a major boost.
The Schema.org Metatag module provides tools to generate JSON LD code for your page headers. This code extracts associated data from your content with the correct Schema.org properties; these associations are configurable with tokens and managed by the Metatag module. In addition, this module supports mapping against an extensive list of common Schema.org data properties.
The 404 page can be a dead end, or it can be a helpful guide. The Search 404 module analyzes the bad URL for keywords and returns relevant internal search results. Users who click outdated or broken links from other sites and search indices receive helpful suggestions instead of being presented with the equivalent of a shrug and a "sorry."
Generic 404 pages are an enormous missed opportunity to retain visitors and provide them with what they need. Thoughtful design and messaging and smart modules like Search 404 change the 404 page from a frustrating error message into a helpful resource.
Unsurprisingly, the Password Policy module allows you to set a custom password policy for your site users. It allows for typical constraints, including length, alphanumeric rules, special characters, and recently used passwords. The module also provides password expiration and update requirements and forces users or roles to change their passwords on their next login.
Senior Drupal Developer Kevin Porras provides Drupal security recommendations (including password policy) and a downloadable security checklist in Our Guide to Securing a Drupal Installation.
The Two-factor Authentication (TFA) module provides another security mainstay. Most people know that passwords are far too easy to crack or match against data breaches. Moreover, strong password practices might be impractical for the average user. Adding TFA helps protect against unauthorized access via automated cracking and simple password theft.
The module provides an interface for integrating Drupal with a number of standard TFA tools, including temporary passwords, SMS and email codes, and third-party services.
What Are Your Favourite Modules?
So, that was our list. What about yours? What contrib modules are must-haves for your projects and migrations in 2022? Drop them in the comments and tell us how they make your projects better!