Skip to main content
drupalreleases

Use direct release data with your AI assistant.

Learn more

Crawl Control

Security covered Under active development 4 sites

This module helps prevent search engines and bots from excessively crawling your site's Views listings, especially those with many filter and pagination options. It guides crawlers to index essential content while preventing duplicate or unnecessary page crawling. The module can be configured per view and works with various pager types and embedded views.

Crawl Control stops search engines and simple bots from over-crawling Views listings or not hiding the listed content from search.
Especially useful for public views with exposed filters, sorts, items per page, tracking parameters creating a lot of additional parametrized URLs.

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 dynamic URLS = 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.

Integrations

This module integrates with

  • Views (Core) - Key focus of this module
  • Facets

It does not automatically integrate with Core's 'pager.manager pagers or other non views-based contrib pagers.
See README.md for details. You are welcome to request further integrations if it makes sense.

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.

Ask your assistant about Crawl Control

Check compatibility with your Drupal and PHP version, maintenance and security coverage, from current release data. How it works

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
3
Tracked since
Sep 2026
Latest release
4 weeks ago
Releases (12 mo)
3 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core PHP Release date
1.0.0-alpha2 Pre-release 10–11 Oct 2, 2026
1.0.0-alpha1 Pre-release 10–11 Sep 18, 2026
1.0.x-dev Dev 10–11 Sep 16, 2026