Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Entity Usage 5.0.0 Major update available for module entity_usage (5.0.0). Release: Entity Usage 8.x-2.3 Minor update available for module entity_usage (8.x-2.3). Release: Modeler API 1.1.7 Minor update available for module modeler_api (1.1.7). Release: Excel Serialization 2.2.0 Minor update available for module xls_serialization (2.2.0). Release: Custom Field 4.0.12 Minor update available for module custom_field (4.0.12). Release: Custom Field 5.0.3 Minor update available for module custom_field (5.0.3). Release: GraphQL Compose 2.4.2 Minor update available for module graphql_compose (2.4.2). Release: Freja eID for Drupal 1.0.1 Minor update available for module freja_eid (1.0.1). Module Revived: Two-factor Authentication (TFA) 8.x-1.13 Module tfa updated after 10 months of inactivity (8.x-1.13). Usage Milestone: Easy Email Module easy_email crossed 10,000 active installs.

Crawl Control

No security coverage
View on drupal.org

Crawl Control stops search engines and simple bots from over-crawling Views listings without hiding the listed content from search. Less advanced crawlers can seem like they are attacking your site, particularly if they get stuck in a rabbit hole of indexing pages that list content where near-infinite possibly combinations of filters and pagination can result in huge numbers of crawls. This module helps provide guidance to crawlers around what to follow and index for your Views.

Problem solved

Plain pagination (?page=N) is real content. It stays crawlable, indexable and gets its own canonical URL, so every item in a listing keeps an internal link path. Any other query string variation of a listing (exposed filters, sorts, items per page, tracking parameters) is a variation of the same list. Its pager links get rel="nofollow" and the page is marked noindex, follow, with a canonical pointing at itself.
(Unwanted) crawling / indexing can otherwise become heavy on large views with many pages.

Features

Initially at this stage the module provides these options:

  • Per view display settings in the Views UI Advanced column.
  • Covers the full pager, mini pager and contrib pagers such as infinite scroll and load more.
  • Works for embedded views in blocks, viewsreference fields, and general views pages
  • Adjusts Metatag's robots and canonical tags in place instead of duplicating them. Metatag is optional.
  • A cache context, so the dynamic page cache is not fragmented by unknown query keys.

This primarily affects Views where the URL changes as pagination and filters are applied so typically includes non-AJAX Views, Views with Drupal 11.3+ Core AJAX enabled, and Views with the Views AJAX History module enabled. Multiple Views per page are supported.

What this module is not doing

This module is not providing any flood control or mitigations against malicious attacks and crawling; that is the business of tools like Cloudflare and Protect Views Flood Control.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
1
Tracked since
Sep 2026
Latest release
45 minutes ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.x-dev Dev 10–11 Sep 16, 2026