Content Freshness Report
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
publicationandexternal_publication. - Optional
content_freshness_groupsubmodule 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
- Enable Content Freshness.
- 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.
- 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, withpublicationandexternal_publicationexcluded. - 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.
Recommended modules/libraries
- 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
Releases
| Version | Type | Core | Notes | Release date | |
|---|---|---|---|---|---|
| 1.0.1 | Stable | 10–11 | Initial release | Sep 2, 2026 |