Skip to main content
Image
Blog%20banner.png

Key Modules to Start with Drupal 9 Website

article publisher

Maitreayee Bora

Drupal

It is very obvious ! 

You want every single one of the fantastic Drupal 9 features you've heard about. When you talk about features, you're referring about modules too. And because selecting modules is the first thing you do after installing Drupal 9, it's one of the first big decisions you'll have to make. Therefore let's dive deep into  the blog to know which modules to look for in 2022.

Devel Generate Commerce

Devel Generate Commerce is a development purpose solution that is used for the auto-generation of products, product types, product variations, and orders. It’s features includes:  

  • There is a possibility to delete all the data before generation and also to set up the specific amount of each of the commerce entity types. 
  • There is also a possibility to set how old products, product types, product variations, and orders might be. 

It has got 2 dependencies i.e., Devel and Commerce Core. And it is also compatible with Drupal 9.

Commerce Timeslots

Commerce Timeslots can be considered a commerce solution that provides the possibility to set a specific time frame for an order to be picked up or delivered. It’s features includes:  

  • You get fully customizable time slots by giving a configurable set of days and the given slot capacities.
  • You can configure 1 or more time slot entities for different purposes and effortlessly switch between them on the client's requirements.
  • You get a configurable maximum number of days to display for the date picker. You can configure the date when the end-user can start booking a time frame.
  • You can configure the checkout flow visibility.
  • You can attach the desired time slot to the order information in the "Other" section.
  • The shop admin gets access to a booking page where they can view the booked time slots and the corresponding status (active/processed).

It has got three dependencies i.e., Commerce, Commerce Shipping, Jquery UI Datepicker.  And it is also compatible with Drupal 9.

Commerce View Receipt

Commerce View Receipt adds a "Receipt" tab to admin commerce order pages. The tab provides the order using the commerce order receipt template that is emailed to customers. It proves to be very useful while customizing the receipt template. You can view your changes without sending an email.

It is also compatible with Drupal 9.

Pathauto preview

Pathauto preview module enables a user to preview the URL alias without having to save the entity. With this particular module it is possible to preview the URL alias that would be generated by the pathauto module if the entity were saved with the current values in the entity form.

It even supports multilingualism. And it is also compatible with Drupal 9 and Drupal 10. 

Logout after password change

Once the user changes the password, the user is logged out and redirected to the login page. Only the page user/{uid}/edit can be visited, otherwise, the user is logged out. The user can simply change the password. 

It isn’t covered by the security advisory policy. And the Logout after password change is compatible with Drupal 9.

CKEditor 5 Font plugin

This module integrates the Font plugin directly inside CKEditor 5 for Drupal 9 and 10. It enables the user to control the text and background color directly inside the CKEditor 5 interface and even allows the user to customize the color palette. 

In the CKEditor 5 Font plugin module no dependencies are required, and the plugin is integrated directly via DLL Builds.

It isn’t covered by the security advisory policy. And it is compatible with Drupal 9.

Sitewide Alerts

Sitewide Alerts module gives the ability to display site-wide alerts. Multiple alerts can be configured at once per language. Alerts can be merged into one if set. If the Domain module is enabled, you can set which domain you would want the site alert to appear on. It’s features includes:

  • Display alerts site-wide.
  • Alerts can be positioned in the header or footer of the site.
  • Alerts can expire via cookie.
  • Multiple alerts can be configured at once.
  • Alerts can be merged into one.
  • Alerts can be configured per language.
  • Alerts can also be filtered out by domain, if the Domain module is enabled.

It is compatible with Drupal 9.

SmartWeather

SmartWeather can be considered a smart module that provides current weather details and forecasts for up to 7 days. Display of forecast is optional.

It is smart enough to detect website visitor locations and get the weather details from OpenWeatherMap.org. The main features of this module are:

  • Get current weather details on the basis of website visitor location.
  • Display weather forecast upto 7 days. This is optional.
  • Display weather on the basis of fixed latitude and longitude of area/location of your choice, in case you do not want the module to detect visitor location.
  • Display weather in Celsius or Fahrenheit.
  • Includes relevant CSS classes and id's to customize the design per your website.

It isn’t covered by the security advisory policy. And it is compatible with Drupal 9.

Sendgrid Mailer

Sendgrid Mailer offers a Mail class to be used with the MailSystem module to send HTML emails using SendGridAPI, and SendGrid API module. It’s future features includes:

  • Send email using Dynamic Transactional Templates.
  • Implement Contacts API - Recipients.

It is compatible with Drupal 9.

Component Libraries Server

Component Libraries Server allows you to use component libraries such as Storybook, in your Drupal project, without Twig.js! 

Admin Toolbar

Admin Toolbar module aims to enhance the default Toolbar (the administration menu at the top of your site) to transform it into a drop-down menu, providing fast access to all administration pages.

This module works on the top of the default toolbar core module and is, therefore, a light module and keeps all the toolbar functionalities (shortcut/media responsive).

And it is compatible with Drupal 9.

Metatag

Metatag module enables you to automatically provide structured metadata, aka "meta tags", about a website. In the context of search engine optimization, when people refer to meta tags, they are generally referring to the meta description tag and the meta keywords tag that might help enhance the rankings and display of a site in search engine results.

Additionally, this particular module provides support for meta tags (Open Graph Protocol from Facebook, Twitter Cards from Twitter) that allow control of how content appears when shared on social networks.

It has three dependencies:

The main features of this module includes:

  • Works on Drupal 7, 9.0+! As of 8.x-1.17, Drupal 8 is no longer supported.
  • Supports a large number of commonly used meta tags, including the page title, canonical URL, description, etc, and for Facebook's Open Graph, Twitter Cards and Dublin Core via included submodules (see full list).
  • Global settings to control meta tags on all pages.
  • Per entity and per entity bundle to control default meta tags for all items of a certain type, e.g. all nodes of a certain content type.
  • Ability to override meta tags on each entity object, e.g. to override meta tags on an individual node.
  • Multilingual support using the Entity Translation module and translation support using the Internationalization (i18n) module.
  • Full support for entity revisions and workflows based upon revision editing, including compatibility with the Revisioning and Workbench Moderation modules.
  • D7: Customize meta tags for specific paths (or other conditions) using Context and include the Metatag:Context submodule.
  • D7: Customize meta tags for custom pages built using Panels and Views using included submodules.
  • D7: Individual permissions for each meta tag can be enabled (see README.txt).
  • D7: Meta tags can be optionally added to admin pages.
  • Exportable default meta tag configuration.
  • Extendable and flexible API for defining new meta tags.
  • D7: Support for Devel Generate (sub-module).

And it is compatible with Drupal 9.

Redirect

Redirect module gives the ability to create manual redirects and maintain a canonical URL for all content, redirecting all other requests to that path. The main features includes:

  • Common API for loading, saving, and deleting redirects.
  • Case-insensitive redirect matching with a hook to allow other modules to narrow-down the candidate redirects.
  • Redirect counter and last used timestamp, with automatic cleanup of inactive redirects. (Provided by Redirect Metrics in D8)
  • Integration with Drupal's page cache to optimize redirects and performance.
  • Complete individual redirect access API.
  • Views API integration.
  • D8: Maintaining a canonical path and redirecting alternative URLs like non-aliased path, path without language prefixes and so on (Previously provided by Global redirect)
  • D8: Separate Redirect 404 module that logs aggregated 404 request (can suppress them in the default log) and allows to create redirects from them
  • D8: Separate Redirect Domain module allows wildcard and domain redirects

And it is compatible with Drupal 9.

Backup and Migrate

You can Back up and restore your Drupal MySQL database, code, and files or migrate a site between environments. Backup and Migrate provide support to gzip, bzip, and zip compression as well as automatic scheduled backups.

With this module, you can dump some or all of your database tables to a file download or save to a file on the server or offsite, and restore from an uploaded or previously saved database dump. You can even select which tables and what data to backup and cache data is excluded by default.

And it is compatible with Drupal 9.

GraphQL

GraphQL module helps you to craft and expose a GraphQL schema for Drupal 9. So, basically, it is built around webonyx/graphql-PHP. As such, it supports the full official GraphQL specification with all its features.

You can even use this particular module as a foundation for building your own schema with lots of data producer plugins available and through custom code.

Also, for ease of development, it includes the GraphiQL interface at /graphql/explorer.

And it is compatible with Drupal 9.

Webform

Webform module enables you to build any type of form to collect any type of data, which can be submitted to any application or system. Also, every single behavior and aspect of your forms and their inputs are customizable.

Whether you require a multi-page form containing a multi-column input layout with conditional logic or a simple contact form that pushes data to a Salesforce/CRM, everything is possible using the Webform module for Drupal 9.

This module offers all the features expected from an enterprise proprietary form builder combined with the flexibility and openness of Drupal.

And it is compatible with Drupal 9.

Google Analytics

Google Analytics module adds the Google Analytics web statistics tracking system to your website. It enables you to add the following statistics features to your website:

  • Single/multi/cross domain tracking
  • Selectively track/exclude certain users, roles and pages
  • Monitor what type of links are tracked (downloads, outgoing and mailto)
  • Monitor what files are downloaded from your pages
  • Custom dimensions and metrics support with tokens
  • Custom code snippets
  • Site Search support
  • AdSense support
  • Demographics and Interests support (formerly known as DoubleClick remarketing support)
  • Anonymize visitors IP address
  • DoNotTrack support (non-cached content only)
  • Drupal messages tracking
  • Modal dialog tracking (Colorbox)
  • Access denied (403) and Page not found (404) tracking
  • Cache the Google Analytics code on your local server for improved page loading times
  • Enhanced Link Attribution support
  • User ID tracking across devices
  • Changing URL fragments can be tracked as pageviews
  • Debug mode with analytics_debug.js

Version specific features

  • Universal Analytics (UA) support: 6.x-4.x, 7.x-2.x, 8.x-2.x
  • Global Site Tag (gtag.js) support: 8.x-3.x

And it is compatible with Drupal 9.

CAPTCHA

CAPTCHA is a challenge-response test most frequently placed within web forms to ascertain whether the user is human? The aim of CAPTCHA is to block form submissions by spambots, which are automated scripts that post spam content everywhere they can. This module provides this feature to virtually any user-facing web form on a Drupal site.

And it is compatible with Drupal 9.

Crop API

Crop API module offers basic API for image cropping. This module won't do much by itself. Users need to pick one of the UI modules that utilize this API. It is compatible with Drupal 9.

Coffee

Coffee module allows you to navigate through the Drupal admin faster, inspired by Mac apps Alfred and Spotlight. If you want to navigate in the admin with your keyboard then Coffee is the solution. You just need to type alt+d to start Coffee and type ahead for the page you want to visit.

And it is compatible with Drupal 9.

With the above-discussed Drupal module list, I tried providing you with the important modules that can effectively help your organization in reaching out to the desired Drupal project goals and aspirations. 

So, now it’s time to choose wisely!
 

Subscribe

Ready to start your digital transformation journey with us?

Related Blogs

Migrate To Your Search Engine Optimized Drupal Website

abc

Website migration not only sounds complex but puts at stake the very existence of your website. While SEO is one of the many factors…

Top Reasons You Should Migrate from Drupal 7 to Drupal 10

Top%204%20Reasons%20Why%20You%20Should%20Migrate%20from%20Drupal%207%20to%20Drupal%2010%20%28Blog%20banner%29%20%281%29.png

Drupal 10 released in December 2022 and ever since, the community has been pushing its users to migrate to the latest version. As many as…

6 Reasons Why You Need To Upgrade Your Drupal Website

6%20Reasons%20why%20you%20need%20to%20upgrade%20your%20Drupal%20website%20%28Blog%20Banner%29.png

It goes without saying that (software) upgrades improve the overall performance of websites. Drupal is no exception. Regular updates to…