Node Cleanup
Node Cleanup offers a safe and efficient way for site administrators to manage Drupal content. It allows users to review and remove unpublished content, restore items from a trash bin, and identify duplicate nodes, all without affecting live published content.
Node Cleanup provides site administrators with a centralized interface to manage Drupal content safely and efficiently. Review nodes by content type and publication status, remove outdated unpublished content, restore items from a built-in trash bin, and identify duplicate content—all without risking published content.
Unlike Drupal core's bulk Delete content action, Node Cleanup is designed with safety in mind. Every bulk cleanup operation is restricted to unpublished content, ensuring that live pages can never be accidentally removed.
Features
-
Centralized content management
Browse all nodes from a single interface with filters for content type and publication status. A reset option appears automatically whenever filters are applied. -
Trash Bin with Restore
Instead of permanently deleting unpublished nodes, move them to a dedicated Trash Bin. Trashed content is removed from the main listing but remains in the database until permanently purged. Restore any node at any time while preserving its original publication status. -
Scheduled Auto-Purge
Configure a retention period (in days) to automatically remove expired items from the Trash Bin during cron runs. Administrators can also manually trigger the cleanup process using the Purge Expired Trash Now action. -
Duplicate Content Detection
Detect potential duplicate nodes by grouping content with matching titles within the same content type. Nodes with identical body content are highlighted as stronger matches, allowing duplicates to be reviewed and moved to the Trash Bin directly from the interface. -
Built-in Safety Protection
All cleanup operations are performed exclusively on unpublished nodes. Validation is enforced server-side, even if published nodes are accidentally selected. Bulk cleanup actions are only available when unpublished content exists in the current listing. -
Ideal for Content Housekeeping
Quickly remove outdated drafts, recover accidentally trashed content, and identify duplicate pages created during migrations, imports, or collaborative editing.
Post-Installation
No additional content types, fields, or text format configuration is required.
-
Grant the Administer content permission to the appropriate roles
(Administration → People → Permissions). The module reuses Drupal core's existing permission and does not introduce a new one. -
Navigate to
Administration → Content → Node Cleanup
(/admin/content/node-manager).
The module provides four administrative tabs:- List
- Trash
- Duplicate Content
- Settings
-
Visit
Administration → Configuration → Content Authoring → Node Cleanup
(/admin/config/content/node-cleanup) to configure automatic trash cleanup. Auto-purge is disabled by default. Enable it and specify a retention period if you want expired trash to be permanently removed during cron execution. - Once enabled, the module is ready to use with no further configuration.
Additional Requirements
No additional requirements beyond Drupal core's Node module. There are no contributed module dependencies, external libraries, or JavaScript build tools required.
Recommended Modules
- Automated Cron (Drupal core) or Ultimate Cron — recommended if you enable scheduled auto-purge, as permanent cleanup is performed during cron execution.
- Admin Toolbar — provides quicker navigation between the module's administrative pages.
Similar Projects
- Trash — intercepts delete operations across multiple entity types and makes them recoverable. Node Cleanup focuses exclusively on nodes, provides dedicated management screens for listing, trash, and duplicate detection, and does not override Drupal's default delete behavior elsewhere.
- Diff — compares revisions of an individual node but does not detect duplicate content across the site.
Supporting this Module
This project is maintained as an open-source contribution. Bug reports, feature requests, patches, and community feedback are always welcome through the Drupal issue queue.
Community Documentation
Additional documentation and examples are available in the project's README. If you have questions or suggestions, please use the Drupal issue queue to get in touch with the maintainers.