15 Awesome Drupal 8 Modules You Should Be Using
The beauty of Drupal lies in being an open-source platform where developers can continue to build and test new modules that will improve any digital experience. And, with the recent launch of Drupal 8, there are lots of new modules available to web developers. With so many to choose from, we've made things easier for you and rounded up the best drupal 8 modules for 2019.
This D8 module is an author-friendly extension which allows non-developers to bring balanced content to their site. By pre-defining more complex elements, the extension allows content to be added as individual paragraphs. Instead of having to write HTML in a WYSIWYG field, Paragraphs allows you to now combine several different fields into a custom reusable element with drag-and-drop functionality.
As an example, you can create a 'paragraph' that combines an image field and a textfield that will then display them side-by-side for a ‘50:50 image + text balance’. This paragraph will then be available for re-use anywhere.
Ultimately this means you can create an individual paragraph type for plain text, quoted text, code blocks, popup elements with links or any other more complex pieces on a page. All of these elements can then be added any number of times and re-arranged, allowing you to compose flexible pages. This is useful for more complex element creation, not just for bloggers and makes up one of the most important elements of versatile site-building.
Paragraphs can also nest infinitely within themselves. And you can nest them as much as you need, allowing you to add elements that might have other elements inside them. As an example, you can create a custom section that contains an unlimited number of file download links. This section can be re-used anywhere on the site, and once added, will give you a clean interface for repeatedly adding file downloads.
- A more flexible version of standard fields
- Combine multiple fields into complex elements
- Infinite nesting
- Makes content editing more user-friendly with ‘Add a Quote’ and ‘Add a popup’ buttons and more
- The number of options you can set up is unlimited
- Everything needs to be set up by the developer
- The biggest benefit will be seen when you have a site with many reused and re-arranged elements with different content that look the same - such as blog paragraphs.
2. Paragraphs Library
Paragraphs Library is an amazing way to manage smaller pieces of content on your website - it extends the core ideas of component based design and re-usability that came with the original paragraphs module, and pushes them a little bit further. With this module, you can create a database of paragraphs, and then re-use them with a special field all across the website. This is very similar to entity reference, however, a single Paragraphs item takes less effort to configure, and there are additional features that make this a better version.
One of these is that you can 'promote' any existing paragraph on your website into the library; that means all of the individual pieces of content you have written can become available immediately to the rest of your site, down to the smallest component you have defined. The other benefit is the opposite - you can 'detach' any individual instance of a library item that is being used on the site, and then create a unique version of the same content.
Not only does this offer greater flexibility, it also means you can create 'templated content', use it from the library, and then detach it to make small edits without having to build up the entire component from zero. The content doesn't have to be text only - it may be a slideshow, a section of a page or even an entire page with pre-filled content!
- Can be a huge time saver in the right situation
- Fully customisable interface
- Breaks down content into re-usable components
- Can take some time to understand the chain of connections that end up rendering the content, as it abstracts it away with an additional step
- All of the Library items are in one place, which might complicate the interface depending on the number of items
- Extremely flexible
- Nice, clean and easy to use interface; with the most important options exposed in the UI (and a customer property override field in the form of YAML for the rest).
- More difficult to operate / takes long to master than other modules
4. Display Suite + Display Suite Switch View Mode
Display Suite is a useful display module, integral to the layout of your site. It allows you to arrange content with easy-to-use templates. By simply dragging and dropping fields in different regions of a page, you can create the layout you need.
- Flexible layout module
- Add classes to individual regions and the template wrapper through Drupal user interface, no need to edit the template itself.
- Easy-to-find template suggestions for website developers.
- The module still has a few minor UI and functionality bugs.
The new hot one in town! Everyone in the Drupal community is talking about Decoupled Drupal and all the awesomeness it brings. GraphQL is one of the technologies that allows you to fetch content from your Drupal website and hand it off to any of your front-end applications. The biggest strength of GraphQL is that it gives the requesting application the power to ask for things from the Drupal website, rather than the website declaring what is available.
- Gives power to the front-end of your choice to request data
- Automatic caching
- Automatically minimises the time taken to request data by grouping queries together
- The Drupal version of GraphQL is currently limited in functionality (it will mainly be used to fetch data rather than create a fully fledged application)
6. Rabbit Hole
With Drupal, there are many content entities to manage. This not only includes individual posts, but also categories and content entities that don't need to be visible to the visitors of the site. Nevertheless, Drupal automatically creates a URL’s to those entities, leading to some empty / incomplete looking pages that only host partial content which in reality is only utilised somewhere else.
Rabbit Hole allows you to easily create redirecting or blocking behaviour that makes this content inaccessible, making your site so much cleaner, for crawlers and users, should they happen to stumble upon one of the pages they weren’t meant to.
- Provides easy-to-use functionality with overrides that a developer will want on almost every Drupal installation.
- Takes additional setup time, though not much; in theory, if the content isn't linked to anywhere on your site, neither crawlers nor users will ever be able to find it unless they guess the URL, or you have a faulty link.
7. Field Group
Field Group is a module which cleans up content types and does not overwhelm content editors. It allows you to group similar fields into tabs which makes it easier for people to visualize and deal with the content on the page. The App groups similar fields together, such as optional fields, fields for SEO purposes, images, dates, etc.
- The content editor won’t be overwhelmed when editing the page It makes everything much easier to find
- Takes extra time to set up any individual content type.
- There’s a bug where it doesn't notify you that you didn't fill in a required field that's in a different tab.
8. Pathauto & Redirect
The Pathauto module allows you to bulk generate URL’s based on specific rules about your page and is the fastest and the right way to take care of URL’s. on the site. As an alternative to manually stipulating every URL that you generate, this can be a time saver and can be particularly efficient as the extension will follow a pattern that you set in the creation of new URL’s.
The feature also automatically creates a 301 redirect whenever the URL of a page is unavailable due to modification. It also auto-redirects internal D8 URL’s.(/node/xxx) to the aliased URL version.
- It is a very flexible system which uses fields of a node or any other Drupal provided tokens to generate the URL for a site.
- Bulk URL generation and update.
- Redirect automatically generates 301's when a page has its URL changed.
- For multilingual URL alias support, Pathauto can be considered as unstable
MMenu is a great responsive menu module, which allows you to set up a mobile off-screen menu which appears at the click of a button. Mmenu is among the leading Drupal 8 menu modules and is a cost-effective plugin. It is easy to use and offers an array of great features. A two-menu combination means that coding experience isn’t essential and it offers great touchscreen support.
- Easy to set up and use with your existing menu entities within Drupal
- Can combine two different menu entities
- Awesome touchscreen support with hammer.js and superfish.
- It costs. But for a great plugin that solves a common issue, we think it is worth the nominal amount
- Requires a library to be kept up to date and installed in a place separate from the module.
It combines and caches each resource category, which means your visitors use less data to download the page. Now with mobiles making up over 50 % of internet usage, it is doubly important to ensure a fast loading speed and responsive site. Essentially it will remove white space, newline characters, and block delimiters and comments. Minifying your code without the use of this D8 module can be time-consuming and particularly erroneous.
- A few tickbox checks in the admin interface can bring a significant improvement to the speed of a site.
11. Twig Tweak
Twig Tweak allows you to print blocks and D8 entities within Twig templates. With the added flexibility of creating layouts that otherwise would be very tedious to make with Drupal UI, it allows you to print blocks within the content region.
- Can make difficult layouts a piece of cake
- All blocks cannot be printed unless you place them in the block layout
- Need additional parameters to print blocks that have been disabled. Can be hard to find.
Like the Mac OS feature Spotlight, Coffee allows you to navigate the admin area with your keyboard. With the simple keyboard shortcut (alt + D) or (alt + shift + D) depending on your internet browser you are then able to search for the page you are looking to visit, and it will source it in the fewest characters possible.
- Gives you full keyboard navigation of the D8 User Interface, which is always much faster than using a mouse.
- Just like actual coffee, you either love it or you hate it. We love it.
13. Adminimal Admin Toolbar
Drupal 8 navigation becomes a breeze with this minimalistic toolbar at the top of the page. With Adminimal Admin Toolbar, you can use simple icons with quick shortcut links to make for a more mobile-friendly and receptive experience.
- A no-question upgrade over the default D8 admin menu.
- There are no real drawbacks to installing this aside from the site having to load another module and therefore taking longer.
14. Viewfield + Block field
Embedding blocks and views into content make for more flexible layouts, it also has great synergy with the rest of D8 functionality that depends on individual pages being nodes (such as Pathauto and Metatag). If all of your pages are built from a content type, your editing experience becomes consistent and there is no ambiguity for content authors and editors about what element is coming from where.
- Viewfield has a default and uneditable option which means you don't have to use it for each page you wish to use the view for.
- Block field has some bugs that need to be patched, such as editing a block field and allowing more block options after it has been saved previously
- Block Field cannot have a default + uneditable option
15. File Entity Browser/Media
File Entity browser allows you to change your standard file upload fields into a gallery-style file management interface. Images you upload become re-usable and a way to upload multiple files at once becomes available. This is a huge time saver that will allow your editors to drag and drop a bunch of photos instead of uploading them one by one, then have access to them later on in different parts of the site. Includes a search functionality!
- A great choice for file / image management
- 100% worth the time and sanity it saves!
- Takes time to set up all the configuration
- Can be quite difficult to install the first time on later Drupal version, as some parts of this module have been included in the Core functionality of Drupal, creating installation clashes, but also not including all of the file management features