Skip to main content
Drupal is a registered trademark of Dries Buytaert
Release: Cms 2.1.4 Update released for Drupal core (2.1.4)! Release: File Entity (fieldable files) 8.x-2.9 Minor update available for module file_entity (8.x-2.9). Release: Moderated Content Bulk Publish 2.0.53 Minor update available for module moderated_content_bulk_publish (2.0.53). Release: Mailchimp 2.2.9 Minor update available for module mailchimp (2.2.9). Release: Mailchimp 3.1.4 Minor update available for module mailchimp (3.1.4). Release: Seven 1.1.0-beta5 New beta version released for theme seven (1.1.0-beta5). Release: Domain 301 Redirect 2.0.7 Minor update available for module domain_301_redirect (2.0.7). Release: Moderated Content Bulk Publish 3.0.0-rc8 New release candidate for module moderated_content_bulk_publish (3.0.0-rc8). Usage Milestone: Simplify Module simplify crossed 10,000 active installs. Module Revived: Menu tree 2.1.2 Module menu_tree updated after 13 months of inactivity (2.1.2).

Content Freshness Report

No security coverage Drupal 10–11
View on drupal.org

Content Freshness lists nodes older than a cutoff so editors can find and update stale pages. Reports are grouped by type and month, with optional organisation reports via Group.

On a Drupal site, content can sit unpublished or published for years without anyone noticing. This module adds a report at /admin/content/freshness that lists nodes older than a specific calendar date or a relative period (for example one year ago). You can compare the cutoff with the updated date or the created date. Counts and rows only include nodes the current user is allowed to view.

Features

  • A summary report grouped by content type and calendar month, with totals and links to each type on the same page.
  • A detail table for a type and month showing title, created date, last updated, status, and Edit when the user can update that node.
  • Cutoff as a specific date or a relative period of years (0–10), months (0–12), and days (0–31). The settings form shows today’s date minus that combination and updates as soon as any of the three values change. The default is one year.
  • Compare the cutoff with the node updated date or created date.
  • Include published content, unpublished content, or both. When both are included, published and unpublished counts are shown separately.
  • Exclude content types that are allowed to go stale (for example publications). The install defaults exclude publication and external_publication.
  • Optional content_freshness_group submodule for organisation-scoped reports on Group sites, plus an Organisation column on the site-wide detail page.
  • Separate permissions to view the report and to administer settings. Both are marked restrict access. The site-wide report permission also allows opening any organisation report.

Use this module when editors need a dedicated stale-content report rather than a custom View, for example policy pages, guidance, or any type that must be reviewed on a schedule.

Post-Installation

  1. Enable Content Freshness.
  2. Grant Access content freshness report to roles that should view the report, and Administer content freshness to roles that should change the cutoff and excluded types.
  3. Confirm settings at Configuration → Content → Content Freshness (/admin/config/content/freshness). Defaults are a relative period of 1 year (0 months, 0 days), updated date, published content only, with publication and external_publication excluded.
  4. Open Content → Content Freshness (/admin/content/freshness).

If the core Help module is enabled, the same README text is shown at /admin/help/content_freshness.

On sites that already use Group for organisations, enable Group, the group node plugin (gnode) for the types you report on, and the Content Freshness Group submodule. Grant the group permission Access content freshness report on the relevant group roles (or rely on the site-wide report permission for site admins). Organisation reports are on the Content Freshness tab of a group, or at /group/{group}/freshness. Sites without Group should enable content_freshness only.

Additional Requirements

Drupal 10, 11, or 12, and the core Node module.

Group and Group Node (gnode) are required only if you enable the content_freshness_group submodule. That submodule can be installed on Drupal 12 when Group itself supports Drupal 12.

  • Group and Group Node (gnode), for organisation-scoped reports and an Organisation column on the site-wide detail page.
  • The core Help module, so the README is available at /admin/help/content_freshness.

Similar projects

You can build a View filtered on node changed date. Content Freshness is a ready-made report with monthly grouping, type exclusions, a relative or specific cutoff, status filters, and optional Group scoping, without requiring a View to be maintained.

Scheduler and Node expire publish, unpublish, or expire content on a date. Content Freshness does not change node status. It only lists content that is already older than the cutoff so editors can update it.

Supporting this Module

Please file bugs and feature requests in the Drupal.org issue queue for this project.

Community Documentation

The project README.md is the source of truth for setup, settings, permissions, and tests. With the Help module enabled, that text is also shown at /admin/help/content_freshness.

Depends on

Dependencies of the latest stable release

  • node Drupal core

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
6 hours ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Releases

Version Type Core Release date
1.0.1 Stable 10–11 Sep 2, 2026