Top Drupal 8 Modules
INTRODUCTION TO JAY’S MODULE LIST
Welcome back to another Top Modules blog post from Mediacurrent. Last year, I wrote the final top Drupal 7 modules list but never fear, we are back again with some great modules for Drupal 8. These are modules I strongly recommend because I use them on most new builds.
One thing worth mentioning is that this list is shorter than usual. One reason being that Drupal 8 is still fairly new (about a year old) and there aren’t as many stable modules in the wild as there are for Drupal 7. For a more extensive list, you can search most installed modules on Drupal.org.
The other reason for this being a shorter list is a good one - Drupal 8 provides a lot more functionality out of the box. With Drupal 8 you can launch production-ready sites with fewer contributed modules than ever. This is a win in my view.
For some context, I added some notes towards the end of the post that mention why some modules were left off this list. Some modules were ported to Drupal 8, some are in D8 limbo, others didn’t make the list for other reasons.
Finally for this blog I added Beginner/Intermediate/Advanced labels to each module listed to help you sort through which modules are the best fit for your own level of expertise.
Enjoy! Send your feedback and hate mail to my Twitter account @drupalninja or leave a comment below. Thanks!
- Admin Toolbar (Beginner) - The admin toolbar module effectively replaces the popular admin menu module in Drupal 8. You will still get your rollover menus but now the entire menu is responsive.
- Backup and Migrate (Beginner) - Backup and migrate is still a useful module to easily schedule database backups for your Drupal site.
- Components (Intermediate) - If you are doing any Twig theming this module is going to help you with your Twig file includes.
- Config Installer (Advanced) - The config installer module allows you to install a new site using existing configuration. Without this module Drupal would complain about UUIDs not matching. If you are an experienced developer writing custom install profiles this module will be very useful for you. Eventually this logic will be moved into core.
- Devel (Intermediate) - Devel has been around a long time and is still a great module for developer debugging.
- Field Group (Beginner) - This is a helpful module for cleaning up your content types. You can organize fields into tabs, accordions, etc. to give your content editors a better experience.
- Google Analytics (Beginner) - This simple module allows site admins the ability to easily configure Google Analytics in Drupal.
- Linkit (Beginner) - Still a great module for linking content with a nice interface for editors.
- Metatag (Beginner) - Maintained by Mediacurrent’s very own Damien McKenna, this module is a must have for configuring your site’s meta tags.
- Panels / CTools / Page Manager (Intermediate) - Panels has been around for quite a while and has now been completely rebuilt for Drupal 8. If you are going to use one of these modules you are probably using all three. Panels gives you more control over page layouts than you are going to get with the core block layout page.
- Paragraphs / Entity Reference Revisions (Intermediate) - The paragraphs module is a Mediacurrent favorite for a couple of reasons. First, it will let you wave goodbye to field collections. Second, it will let you build a more robust content architecture. Paragraphs are like mini-content types that can handle a variety of use cases.
- Pathauto / Token (Beginner) - The pathauto module is a must-have module for configuring page path patterns.
- Redirect (Beginner) - Almost every new site needs to incorporate 301 redirects for old page URLs. The redirect module gives site admins an easy interface for creating those redirects in Drupal.
- Search API (Intermediate) - The Search API suite of modules is a fantastic way to configure your site searches. Now the Drupal 8 module includes the DB API which makes it even easier to get started.
- View unpublished (Beginner) - This is a small but handy module that fills a common permissions void in Drupal. Almost every site we do has a role without complete content editing privileges. That role still needs to be able to view unpublished content which you can’t really configure out of the box in Drupal 8.
- Simple Sitemap (Intermediate) - A pretty easy to configure module for creating XML sitemaps for search engines.
Modules removed from previous list
The following modules were either ported to Drupal 8 core or replaced by similar functionality in core:
No Drupal 8 stable module yet but would like one:
Other notable mentions
Commerce - Still a must-have module for commerce sites. I haven’t done as many e-commerce sites lately.
Features / Strongarm - With Drupal 8 configuration management you don’t really need the Features module. There is still a Drupal 8 module but we have replaced it on our projects with D8 configuration and the config_installer profile.
File entity - Still available in Drupal 8. A must-have if you need to add fields to files like images.
Global Redirect - No Drupal 8 module. Some functionality has been ported to the Redirect module.
Image Link Formatter - No Drupal 8 version.
jQuery Update - No Drupal 8 module, could be useful as jQuery will nearly always pace well ahead of D8’s bundled jQuery package.
Media - Broken up into smaller modules in Drupal 8.
Menu Block - Still very handy if you need a slice of a menu.
Nodequeue - No Drupal 8 version and we have used Paragraphs to provide a better experience for content editors.
Panelizer - Another Drupal 7 favorite maintained by Damien McKenna. So far in Drupal 8 we have been able to provide similar functionality with other solutions (e.g. Paragraphs).
Rules - The Rules module is an interesting one. While it does give you a UI for configuring actions and triggers, the same functionality can usually be added via other means.
Stage file proxy - Still available in Drupal 8, just not using as much.
Webform - No Drupal 8 version and core contact form module gives you similar (although less robust) functionality. One contrib module that is similar in D8 is YAML Form. I haven’t used it yet but it looks like a good replacement for Webform.