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

1,080 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.

Cloudflare Sitemap

This module provides a drush command that purges Cloudflare HTML cache for all pages listed in the XML sitemap.

More info: TBD

CloudFront Purger

You can use AWS CloudFront as a reverse proxy in front of your whole Drupal site.

OhDear Integration

OhDear Integration logo

Integrates your Drupal website with the Oh Dear monitoring app. Allows OhDear to fetch application healthchecks from your Drupal site, allows monitoring of scheduled jobs and provides drush commands to see OhDear data, start maintenance windows and more.

Mail Tester

This is a simple module that uses the simplicity of www.mail-tester.com to help you improve the quality of your email system.

Cache Utility

Cache Utility module provides an ability to view status and flush various caches in three ways:

Revisions Cleanup

Deletes old revisions that you likely no longer need, keep newer revisions you likely need, and allows administrators to keep historic revisions, one/x per month, in order to keep your database fro

LightningCSS

This module allows to use LightningCSS to compile styles from themes and modules.
To use it simply put:

XHProf

This module allows you to profile your Drupal application using the XHProf profiler, Tideways and uprofiler (PHP 5 only)

Use community documentation to install/enable required PHP extension

XHProf is a hierarchical profiler for PHP. It reports function-level call counts and inclusive and exclusive metrics such as wall (elapsed) time, CPU time and memory usage. A function's profile can be broken down by callers or callees. The raw data collection component is implemented in C as a PHP Zend extension called xhprof. XHProf has a simple HTML based user interface (written in PHP). The browser based UI for viewing profiler results makes it easy to view results or to share results with peers. A callgraph image view is also supported.

It also provides a native Drupal UI (as opposed to facebook's original php front end) to view the profiling data. Having this in Drupal provides several advantages:

  • Simpler setup
  • No need to setup extra vhosts
  • Limit access via roles and permissions
  • Use alternative storage backends such as MongoDb

D8+ version also supports:

  • Profilers: XHProf, Tideways and uprofiler (PHP 5 only).
  • Append --xh-link and Drush 8 will save a profile to the same directory that this module uses. Browse Drush 8 profile data with this module.

Scheduler Request Cron

This module runs the Scheduler cron job automatically after requests. The interval between executions can be set.

Acquia Purge Varnish - API V2

Acquia Varnish

Clear varnish on Acquia from Drupal site. Utilizes Guzzle HTTP client as opposed to

AVIF fallback

Creates a fallback jpg image from AVIF images for browsers which do not
support AVIF format.

Enviromage

Welcome to Enviromage, a powerful Drupal module designed to unleash the full potential of your website's performance and configuration management.

Views custom cache

Views custom cache: View's all argument enabled

This module provides two new simple caches for views which takes view's arguments into account:

Compressed Database Cache Backend

This module provides a cache backend which leverages gzip compression for the
stored data.

Purge Invalidation Form

INTRODUCTION

This module directly invalidate an item without going through the Purge queue.

Storage API

Storage API

Mission Statement

Storage API is a low-level framework for managed file storage and serving. Module and all the core functions will remain agnostic of other modules in order to provide this low-level functionality. Submodules are welcome to allow Storage API to interact with other contributed modules, but there shall never be a dependencies[] statement in the storage.info file unless it is necessary for the low-level function of this module.

It has the following features:

  • Pluggable architecture - it can be extended to work with any storage service.
  • Redundancy - it can be configured to store your files in multiple services and instantaneously change which one is serving. This means your site will not be brought down by a service having problems.
  • Access control API - can be used for e-commerce.
  • Deduplication - when files that are identical are stored in the same container, only one instance will be created. This saves bandwidth and storage.
  • File and image field integration - enable the "core bridge" sub-module.
  • Audit module - compares a manifest of files with what is recorded in the database to ensure that the record is accurate.

There are some screencasts demonstrating various features of the module.

CSS Embedded Images

How does it work?

According to Wikipedia, "the data URI scheme is a URI scheme that provides a way to include data in line in web pages as if they were external resources." That means that rather than having a URL telling the browser where to find the image you actually have the image data right there on the page so the browser does not have to make an extra request to get it. This particular module is only concerned with images referenced in CSS, so for an example let's look at a declaration in Garland's CSS:

ul li.expanded {
  background: transparent url(images/menu-expanded.gif) no-repeat 1px .35em;
}

When we embed the image into the CSS, it becomes:

ul li.expanded {
  background: transparent url(data:image/gif;base64,
  R0lGODlhCgAKAMQUAM/Q0vT09Ojr7s7Q0dLU1f7+/u/z9+Dj5tfX1+Dg4MrKyu
  fq7tfZ27m5uba2tsLCwvv7+7W1tbS0tP////P3+wAAAAAAAAAAAAAAAAAAAAAA
  AAAAAAAAAAAAAAAAAAAAACH5BAEAABQALAAAAAAKAAoAAAU0ICWOZGkCkaRKEU
  AtTzHNU/Es1JDQUzKIggZkBmkIRgTEDEEgGRyBgMNQYigUDBPlcCCFAAA7) no-repeat 1px .35em;
}

The actual process is a bit more involved than that, but this is the general concept. By default, embedded images are placed in a separate CSS file to allow for parallel rendering of other site styles while the relatively large image data is being downloaded.

Boost Expire

[NOTE: This module has been deprecated as of June 2013 in favor of Cache Expiration. If you're currently using Boost Expire, please follow these directions to switch from Boost Expire to Cache Expiration on your site!]

A cache expiration module to go with Boost for Drupal 7.

Currently, Boost for Drupal 7 doesn't do any active cache expiration (see #1069438: How to Flush Boost Cache in Drupal 7.x), and this means that when you update a node, post a comment, etc., Boost will continue serving stale content from its static HTML cache until the file is finally cleaned up on a cron run.

For many sites, especially smaller sites where content is updated infrequently and cron may be run hourly or even less frequently, this means stale content will be served for quite some time, unless someone visits the Performance page and clears all the site's caches manually.

This module alleviates that problem by simply flushing Boost's static HTML cache every time a node or comment is posted or updated. You can set the module to respect your site's Minimum cache lifetime so it doesn't flush the cache until the minimum lifetime has passed.

This module may become deprecated in favor of a more universal solution (like Boost integration with the Cache Expiration module).

Partytown

A module to integrate partytown to drupal sites.

Bootstrap optimizer

Before optimization

Switching to Drupal 7.50 makes this module obsolete, the performance issue was fixed in that version of Drupal core.

Cache tag expire

This module will allow Drupal to set a timestamp for a cache tag to expire / invalidate.

PHP Preloader

Preloader script

Generate a preload script for PHP 7.4's opcache.preload setting.

Memory limit policy

Memory limit policy is a base module to override the default php memory_limit based on various constraints.

Pages