Add functionality and customize your Drupal application with thousands of projects contributed by our amazing community.

789 modules match your search

A module is code that extends Drupal's by altering existing functionality or adding new features. You can use modules contributed by others or create your own. Learn more about creating and using Drupal modules.

Raven: Sentry Integration

Raven by Hugh D’Andrade (Creative Commons Attribution License)

Raven module provides integration with Sentry, an application monitoring and error tracking platform, allowing your Drupal site to send log events an

Fast Token Browser

Fast Token Browser extends the Token module with a faster and more usable interface for browsing and inserting Tokens.

Modernizr

Modernizr - Frontend development done right

Respond to your user’s browser features.

Modernizr tells you what HTML, CSS and JavaScript features the user’s browser has to offer. It makes the results available to you in two ways: as properties on a global Modernizr object, and as optional classes on the <html> element. This information allows you to progressively enhance your pages with a granular level of control over the experience.

This Drupal module provides deep integration with the Modernizr JS library, allowing other modules or themes to register tests, load additional assets as needed, and even create new copies of the Modernizr library when a website's requirements change. Read more below.

GraphQL

This module lets you craft and expose a GraphQL schema for Drupal 9 and 10.

Image Lazyloader

Lazyloader Settings

This is a small helper module which will automatically lazyload all images for sites with multiple images, which will make the site load faster.

All images will only load when it's visible to the browser window.

Available Settings:
1) Enable/Disable
2) Distance - image distance from the viewable browser window before the actual image loads
3) Placeholder Image - stand-in image
4) Loader Icon - animating icon (shamelessly borrowed from ajaxblocks module)
5) Excluded Pages - page paths to be excluded from image lazyload

For other images:
You can also manually lazyload your other images not processed by Drupal image module by formatting your img markup to this:

Attributes:
1) src = path to placeholder image
2) data-src = path to actual image
3) width = add width for best result
4) height = add height for best result
5) Add a container block

Example:

<div class="image-container"><img src"/sites/default/files/image_placeholder.gif" data-src="/sites/default/files/actual_image.jpg" alt="Image" /></div>

HTTP Parallel Request & Threading Library

Blocking vs Non Blocking

This is a library module. It provides no out of the box functionality other then providing an API that other modules/code can use. Other projects might require/recommend this module. Install HTTPRL only if other modules recommend or require it.

What does httprl do?

Using stream_select() it will send http requests out in parallel. These requests can be made in a blocking or non-blocking way. Blocking will wait for the http response; Non-Blocking will close the connection not waiting for the response back. The API for httprl is similar to the Drupal 7 version of drupal_http_request().

As a bonus, a simple threading library is built on top of the parallel http requests functionality. This allows you to split a job and have multiple http "workers" running this split job in parallel. Anything that takes a long time to do can greatly benefit from using threads.

Benchmarks

Minify JS

The Minify JS module allows a site administrator to minify all javascript files that exist in the site's code base and use those minified files on the front end of the website.

Minify

Minify is designed to improve the website performance.

Sessionless BigPipe

Accelerates Page Cache misses using the BigPipe technique.

Install it and it works. There's no configuration, no UI.

CDN

CDN UI module version 3.0-rc2 on Drupal 8

This module provides easy Content Delivery Network integration for Drupal sites.

CloudFlare

CloudFlare is a FREE reverse proxy, firewall, and global content delivery network and can be implemented without installing any server software or hardware.

On average, CloudFlare-powered websites load 30% faster, use 60% less bandwidth, and process 65% fewer requests. CloudFlare-powered websites are protected from many forms of malicious activity including: comment spam, email harvesting, SQL injection, cross-site scripting, and DDoS (denial of service) attacks.

8.x Features

  • Cache clearing by Tag (Recommended) and Path.
  • Restore client's original IP address.

7.x Features

  1. Corrects $_SERVER["REMOTE_ADDR"] so it contains the IP address of your visitor, not CloudFlare's reverse proxy server.
  2. Integrates with CloudFlare's Threat API so you can ban and whitelist IP addresses from the Drupal Comment administration screen.
  3. Integrates with CloudFlare's Spam API.
  4. Integrates with CloudFlare's Client Interface API (planned).

How do I get started with CloudFlare?

  1. Visit http://www.cloudflare.com to sign up for a free account.
  2. Follow their 5-minute configuration wizard.

HTTP Cache Control

HTTP Cache Control module helps fine grain control of Drupal's Cache Control headers.

Quicklink

Quicklink Logo

This module provides an implementation of Google Chrome Lab's Quicklink library for Drupal.

Dotenv

A dotenv file allows you to remove hardcoded credentials or config from your code. For an extensive explanation on why this is a good thing, check out the Config chapter of the Twelve-Factor App website.

PWA - Progressive Web App

Progressive Web Apps provide a native-like experience using web technology. They are reliable, fast, and engaging, resulting in a robust offline experience that can be saved to homescreen.

Varnish

This module provides integration between your Drupal site and Varnish cache, an advanced and very fast reverse-proxy system.

Cache Actions

Cache actions provides rules actions for clearing drupal caches.

It currently provides actions for:

  • Clearing Drupal cache bins
  • Clearing CSS/JS cache
  • Clearing The cache of specific views
  • Clearing The cache of specific panel pages
  • Clearing The cache of specific mini panels

Dependencies

Cache actions only depends on the rules module. If you don't have views or panels, you only get the option of clearing the drupal cache bins and the CSS/JS cache. When views or panels are present, you get actions for clearing the cache of specific views and panels as well.

Compatibility

This module is compatible with:

  • Panels 3
  • Views 2 and 3. The views 2 support is the best tested currently, but everything seems fine
    with views 3 as well.

Version 2

The new version of cache actions offers a lot of new features:

  • Clearing The cache of more than one view at a time
  • Clearing The cache of specific panel page variants
  • Clearing The cache of specific panel page panes
  • Clearing The cache of specific mini panel variants
  • Clearing The cache of specific mini panel panes
  • Unit tests

Queue Mail

Queues email sending from your site so that instead of being sent immediately it is sent on cron or via some other queue processor.

Useful for high traffic sites that can send a lot of emails on individual page requests.

Drupal 7

The Drupal 7 version supports sending with any email framework, i.e. it works perfectly with Mime Mail module or any other of framework that handles the actual sending of emails. It also uses a standard Drupal queue to do the queuing of emails. It requires at least Drupal 7.12.

The Drupal 7 version is actively maintained.

Drupal 8

The Drupal 8 version is based on the Drupal 7 one and has all the same features/benefits.

The Drupal 8 version is actively maintained.

Drupal 6

Queues any email sent from your Drupal site and then uses the Job queue module to send them via cron. Emailing only supports the PHP mail function.

The Drupal 6 version is in feature freeze, and only serious bug fixes and security issues will be fixed.

Image Style Warmer

The Image Style Warmer module provides options to create image styles during upload or
via queue worker. So configured image derivates already exists when they are requested.

Advanced Page Expiration

Advanced control of your cache-control header

Advanced Page Expiration addresses the use cases of needing certain pages on the site to expire faster than other pages when cached in an edge cache like Varnish or Fastly. For example, all pages on the site could be cached for 24 hours except for the homepage which could be cached for five minutes.

Akamai

The Akamai modules provides integration with the Akamai Content Control Utility (CCU) Web Service.

Simple Cron

Simple cron jobs list

The Simple Cron is a light-weight module for cron job management.

Previous/Next API

An API for browsing next/previous nodes without overloading your database server.

Description

This module allows you to know the previous or next nodes for any given node. This is very useful for providing navigational links to the user without the expensive queries required to dynamically deduce such information on the fly.

The use case is two fold:

Usability/Navigation

For example, on a site with a gallery of images, you want to show a next/previous link with a thumbnail under each image. Your site's visitor click on the link to show new content or browse it.

Scalability

Although the previous and next nodes can be deduced with some SQL work, the queries to do so are very heavy on the database, and can bring a site to its knees. This module solves this problem by storing the previous/next node in a table so lookups are fast. Once the module is installed, it will build this index backwards via cron until all nodes have been indexed. See the "More Info" section below for a detailed post on the positive scalability impacts of implementing this module.

Configuration

The module can be restricted to certain content types to be included in the previous/next indexing. For example, you want the site's visitors to browse through video and image nodes only, but not blogs and regular pages.

Handy cache tags

Provides some handy extra cache tags, so you can for example tag a block that deals with a certain node type, with the cache tag of that node type.

Pages