SEO filters

SEO filters helps you control which filtered listing URLs search engines should index. It sets robots and canonical meta tags through Metatag so multi-filter combinations, sort variants, and internal search results do not create crawl noise, while important editorial filters and pagination stay indexable.

Features

  • Whitelist indexable query filters per listing path (for example /news + topic)
  • index, follow when an approved filter is used alone (optional page kept in the canonical)
  • noindex, follow for multi-filter or non-strategic filter combinations, with canonical back to the main listing
  • noindex, follow for sort URLs; canonical drops sort and keeps an alone indexable filter + page when applicable
  • Internal search paths: noindex, follow when a query string is present
  • Optional always-noindex, nofollow paths and AJAX noindex
  • Optional fallback: noindex any page with counted query parameters
  • Multilingual path prefixes supported (configure /news, matches /en/news)

When to use this module

Use SEO filters on sites with Views (or similar) listing pages that expose filters and sort in the query string, and where you want a clear indexing policy:

  • Index the clean listing and a few strategic single filters
  • Do not index every filter combination or sort variant
  • Keep pagination crawlable

Configuration

  1. Enable the module and grant the Administer SEO filters permission
  2. Go to Configuration → Search and metadata → SEO filters
  3. Add listing rules: path + indexable query parameter names
  4. Optionally configure always-noindex paths, internal search paths, AJAX noindex, and the global query-parameter fallback

The module sets its weight after Metatag when Metatag is installed, so these rules can override Metatag defaults for robots and canonical.

Requirements

  • Drupal 11.1+
  • PHP 8.3+
  • Metatag
  • Path Alias (core)

Similar projects

  • Metatag — manages meta tags in general; SEO filters adds listing/filter/sort indexing rules on top of Metatag
  • Rabbit Hole — controls entity page access/indexing behaviour; SEO filters targets query-string listing URLs

Supporting this module

Please file bugs and feature requests in the issue queue. Patches and merge requests are welcome.

Supporting organizations: 

Project information

Releases