250 Modules match your search

Extend and customize Drupal functionality with contributed modules. If a module doesn't quite do what you want it to do, if you find a bug or have a suggestion, then join forces and help the module maintainer. Or, share your own by starting a new module.


Metatag | Drupal 7 test site.png

The Metatag module allows 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 usually referring to the meta description tag and the meta keywords tag that may help improve the rankings and display of a site in search engine results. In addition, the 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.


Search 404

Instead of showing a standard "404 Page not found", this module performs a search on the keywords in the URL, e.g. if a user goes to http://example.com/does/not/exist, this module will do a search for "does not exist" and shows the result of the search instead of the 404 page. This should help retain visitors coming in from old URLs linked from other sites or from search indices.

It also includes search engine keywords detections as well as regular expression based term filtering from the URL.


SEO Checklist

SEO Checklist tasks

Drupal SEO Checklist - What is it?

The Drupal SEO Checklist uses >Drupal SEO best practices to check your website for proper search engine optimization. It eliminates guesswork by creating a functional to-do list of modules and tasks that remain. Updated regularly with the latest techniques, it makes on-page Drupal search engine optimization hassle-free.

It breaks the tasks down into functional needs like Title Tags, Paths, Content and many more. Next to each task is a link to download the module from D.o and a link to the proper admin screen of your website so that you can configure the settings perfectly.

Drupal SEO Checklist also keeps track of what has already been done. It places a date and time stamp next to each item (when you click save). That provides a simple report that you can share with others showing what's been done.

You need Drupal SEO Checklist if

  • You know SEO basics pretty well
  • You work on a lot of different websites and need help keeping track of what you've done on each
  • You know how to properly configure modules for SEO needs
  • You are a list-maker! Or, you simply enjoy checking things off when they're done.

Drupal SEO Checklist does not:

  • Provide good SEO strategy


Share Buttons by AddToAny

AddToAny Logo

Share buttons for Drupal including AddToAny's universal sharing button, Facebook, Twitter, Google+, Pinterest, WhatsApp and many more.

Large vector share buttons use AddToAny SVG sharing icons. AddToAny vector icons load efficiently, are mathematically precise, scalable to any size, and stunning on High-PPI screens such as Retina and Retina HD displays.

Share buttons

  • Universal sharing button
  • Modern SVG sharing buttons
  • Traditional PNG sharing buttons
  • Elegant Drupal integration
  • AJAX support
  • Display on articles
  • Display on article teasers
  • Display on pages
  • Display in blocks
  • Display in custom nodes



Crumbs, the Breadcrumbs suite

Crumbs calculates breadcrumbs for your site.
It does so by finding the parent of the current page, then the parent of the parent, etc, until it arrives at the home page.

Crumbs comes with a bunch of built-in plugins, that can be individually enabled, disabled and prioritized, and some of which provide further configuration options.

Built-in plugins

Crumbs plugins have two responsibilities: (1) to determine the parent path for a given path, and (2) to determine the title for a specific breadcrumb link.

Built-in plugins exist for: Menu, Taxonomy, Entity reference, Organic groups, Path aliases, Entityreference prepopulate, Text fields, Forum, Commerce checkout, etc.

Besides, there are configurable token-based patterns to find the parent for entity pages per bundle.

As a fallback behavior, it will always try to find a parent by chopping off the last part of the path. And for the link title, the fallback is whatever was specified with hook_menu().

Fine-grained priority control

Most plugin priorities are further subdivided, to allow even more fine-grained control: By menu name (menu), vocabulary name (taxonomy), field name and entity bundle (entity reference), group content type (organic groups), etc.


Easy Breadcrumb

Easy Breadcrumb Screenshot

The Easy Breadcrumb module provides a plug-and-play block to be embedded in your pages, typically at some place near the page's header. Easy Breadcrumb takes advantage of the work you've already done for generating your paths' alias, while it naturally encourages the creation of semantic and consistent paths. This modules is currently available for Drupal 6.x and 7.x.

Easy Breadcrumb uses the current URL (path alias) and the current page's title to automatically extract the breadcrumb's segments and its respective links. Easy Breadcrumb is really a plug and play module, it auto-generates the breadcrumb by using the current URL, the user needs to do anything to get it working.

For example, having an URL like gallery/videos/once-a-time-in-cartagena, Easy Breadcrumb will automatically produces the breadcrumb Home >> Gallery >> Videos >> Once a time in Cartagena or Home >> Videos >> Once a Time in Cartagena. Again, the breadcrumb presentation will vary depending on your module's settings.


Recommended modules



    Visitors module

    This module used for displaying a visitors info.


    • View pages that have recently been visited.
    • View pages that have been hit frequently.
    • View pages count per month.
    • View pages count per day of month.
    • View pages count per day of week.
    • View pages count per hour.
    • View pages count per host.
    • View access log.
    • View user activity report (hits, nodes, comments).
    • View referer list.

    Integration with whois lookup module.

    Visitors Block

    • Total Visitors.
    • Unique Visitor.
    • Registered Users.
    • Last Registered User.
    • Published Nodes.
    • Your IP.

    Visitors GeoIP module

    Add country reports.

    1. Countries report. View pages count per country.
    2. City report. View pages count per city.
    3. City visitors report. View city hits.

    GeoIP installation

    1. Install geoip pecl extension. For installation instructions see http://www.php.net/manual/en/geoip.installation.php.

    2. Download Geo Lite City database.
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
    gunzip GeoLiteCity.dat.gz
    mv GeoLiteCity.dat /usr/local/share/GeoIP/GeoIPCity.dat


    Facet API Pretty Paths

    Facet API Pretty Paths illustration

    Enables pretty paths for searches with Facet API. You will likely use this module in combination with either Search API or Apache Solr Search Integration.

    Functionality overview

    • Pretty paths will be generated as "search/url/segment1/segment2/".
    • By default, a segment will look like: "<alias>/<value>".
    • Custom coder plugins, allow to override the default segment representation.
    • The taxonomy coder outputs the id: "<alias>/<term-name>-<term-id>".
    • The taxonomy pathauto coder leverages pathauto aliases to create even prettier paths: "<alias>/<term-alias>".
    • Pager & breadcrumbs supported.
    • Supports the optional Current Search Blocks "current_search" module of Facet API.



    Yandex.Metrics Logo

    The Yandex.Metrics project helps to integrate a website with Yandex.Metrica.


    Google Analytics Tokenizer

    Google Analytics information appended to the bottom of a Contact Form email

    Haven't you always wanted immediate access to the Google Analytics information about your visitors? Now you can! This module will extract the information found in the __utmz and __utma cookies and neatly package them into tasty little tokens.

    Installation Instructions:
    1. Enable Google Analytics. (Duh!)
    2. Enable the Token module. (It is a token-izer, remember?)
    3. Enable this module. (Wow, could it be any simpler?)

    List of Tokens:

    Token ID Purpose
    D6: [ga-source]
    D7: [ga_tokenizer:ga-source]
    Search engine, domain name, newsletter name, or other source.
    D6: [ga-campaign]
    D7: [ga_tokenizer:ga-campaign]
    To identify a specific product promotion or strategic campaign.
    D6: [ga-medium]
    D7: [ga_tokenizer:ga-medium]
    A medium such as organic, referral, twitter, email, feed, or cost-per-click.
    D6: [ga-content]
    D7: [ga_tokenizer:ga-content]
    Used for A/B testing. To differentiate ads or links that point to the same URL


    Path redirect import

    Import redirects from CSV

    This module allows to include path redirection in a simple way. Provides a simple way to bulk import redirects for Redirect (Drupal 7) or Path Redirect (Drupal 6) modules from a CSV file.

    All the necessary redirections can be done at the same time from a CSV file.
    Very useful module for moving your website from one path structure to another.

    Drupal 6

    CSV structure:
    'old url', 'new_url', 'redirect_code' = 301


    Internal Links

    Enable the filter(s) for an input type and run filters in appropriate order.

    The Internal Links module, Intlinks, is a simple set (currently two) of input filters which modify the output of internal, root-relative links in any text input format for which they are enabled. The title filter allows you to have the node titles of linked content automatically inserted into the link as the HTML "title" attribute, with "node/123" -type href paths converted to URL aliases, too. It is especially useful for streamlining the editorial workflow and improving SEO. You can also use the "Hide bad" filter to "unlink" unpublished content so visitors don’t encounter "page not found" errors.


    Maintainer and Author: Lowell Montgomery.


    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:

    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


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


    Internationalization contributions

    Internationalization contributions is a set of modules that are add ons for Internationalization module to provide compatibility with other contributed modules or some other features.


    i18n page views


    This module provides a new display of views, where you can select different paths for each language enabled on your site, so a view has a localized route for each language.

    6.x-1.x initial development sponsored by Alquimia Proyectos Digitales and Emergya Consultoría.

    7.x-1.x initial port sponsored by ymbra.


    Alternate hreflang


    Search engines use <link rel="alternate" hreflang="x" /> tags to serve the correct language or regional URL in search results.

    Alternate hreflang is a simple module that automatically adds these tags to your pages. It has no dependencies, but works well with Entity Translation.

    More info about hreflang can be found at the article Use hreflang for language and regional URLs.


    Smart Paging

    Smart Paging settings

    Provides splitting up long Drupal content into sub pages by number of characters/words or by a placeholder HTML tag for node, user and taxonomy term entities.


    Semantic Fields

    Semantic Fields lets you add more logic to the output of the fields

    Semantic Fields (formerly Semantic CCK in Drupal 6) was created to give users the abilility of customizing and enhancing the HTML output of a field. With Semantic Fields enabled, users can specify the HTML wrapper element and classes for:

    • The entire field
    • The labels -- above and inline
    • All field items
    • Each individual field item

    This allows users to quickly create semantically rich and meaningful HTML markup for fields, such as:


    Shareaholic | share buttons, related posts, social analytics & more

    Shareaholic for Drupal

    The easiest, most effective way to grow your website traffic, effectively engage your audience, monetize, and gain insights for free.

    Shareaholic is an all-in-one content amplification and monetization platform, that includes related content recommendations, promoted content, social sharing, following, site monetization apps such as affiliate linking, and social analytics. This module makes it a snap for any website — big or small — to engage and grow their traffic, market their content, gain insights, and monetize their traffic, all from one powerful but easy-to-use dashboard.

    This module is actively developed (GitHub), maintained and supported with much love by Shareaholic.

    Recent Updates:


    Drupal SEO Friend (Tools & Reports)

    Main SEO Report


    The Drupal SEO Friend module is meant to be used along side existing Drupal SEO modules to make them more effective. This module does not replace functionality available in the SEO Checklist and SEO Compliance Checker modules.


    Reports (admin/reports/seo)

    • Main Report - shows a summary of all available reports and a list of Drupal SEO-related modules and if they have been installed and enabled
    • Meta Tags (nodes) Report - shows a summary of your meta tags for all nodes and makes note of missing and duplicate content
    • Meta Tags (path) Report - shows a summary of your meta tags for all paths and makes note duplicate content
    • Page Title Report - shows a summary of your page titles for all nodes and makes note of duplicate content
    • Referrer Report - shows a summary of referrers to your site - THANKS TO NancyDru for the code contribution!
    • Hooks - provides hook_seo_reports and hook_seo_modules hooks so that additional reports and seo modules can be added by other modules


    Metatag Views Overview

    Metatag provides the Metatag Views submodule which enables a views plugin for users to add metatags to views pages. However, those metatags are not exposed to the Metatags Overview page (admin/config/search/metatags) and users are required to have the permisson to "administer views" in order to set the metatags in the views_ui.

    This module exposes views metatags on the overview page and allows users with the "administer metatags" permission to update the metatag specific portion of the view.


    Views 404

    Are your views returning a 200 when it should return a 404? Views404 is the answer! This is very helpful for any caching layer and it will help SEO.

    Do I Really Need This?

    In short yes, you do.
    Live Example
    http://drupal.org/project/modules/google.com <- This should return a 404; 200 given. Duplicate content penalty!


    CRM Core

    CRM Core

    CRM Core is a set of modules for managing contacts, activities and relationships within your Drupal website. It is designed to provide a basic framework for managing these items and interacting with other components of Drupal.


    CRM Core allows you to manage contacts, activities and relationships in your Drupal website. It provides extensive support for these entities, and includes a number of tools to make them easier to support in your Drupal website.

    • User Sync allows contacts to be paired with user accounts.
    • Match provides support for deduplication.
    • Reports provides a central repository for reports.
    • CRM Core Settings allows administrators to control the UI for managing contacts.

    In addition to these basic features, CRM Core integrates with a number of other components within Drupal, including views, VBO, ctools, rules, solr, services, field api and search api.

    Why use CRM Core?

    An extensive discussion of why you would want to use CRM Core can be found in the handbook. This page details the design philosophy behind CRM Core and other things to consider when trying to make the case for why you would want (or not want) to use it.


    AGLS Metadata

    This module provides meta tag support for the AGLS Metadata Standard. The AGLS Metadata Standard provides a set of metadata properties and associated usage guidelines to improve the visibility, manageability and interoperability of online information and services.

    Details about the scheme can be found at the AGLS Standards site.


    Drupal 8
    The Drupal 8 version has an initial release but is still in development.


    Word Link


    The Word Link module allows you to automatically convert specific words into links. It works as text filter.
    This can be useful for crossposting your site's pages, or for the contextual advertising of your partners (SEO).


    • Convert word in content with a link.
    • Convert word to link in comments.
    • Can set on which content types and which fields it will be affected.
    • Can set the limit of words to be converted.
    • Can set a list of HTML tags that will be ignored.
    • Can specify case sensitivity.
    • Can set a path on which words will not be converted or path only on which it will be converted.
    • Works for Cyrillic (PCRE 8.10 or higher).
    • Import words from taxonomy terms.
    • Import words from CSV file.
    • Export words to CSV file.
    • Bulk delete operation.
    • Sortable tableselect with pager.

    Need to know: