{"id":327904,"date":"2026-06-24T14:34:19","date_gmt":"2026-06-24T14:34:19","guid":{"rendered":"https:\/\/ja.wordpress.org\/plugins\/clean-revisions-manager\/"},"modified":"2026-07-08T05:21:56","modified_gmt":"2026-07-08T05:21:56","slug":"takahiro-revision-cleanup","status":"publish","type":"plugin","link":"https:\/\/test.wordpress.org\/plugins\/takahiro-revision-cleanup\/","author":23518353,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.2.1","stable_tag":"1.2.1","tested":"7.0","requires":"5.9","requires_php":"7.4","requires_plugins":null,"header_name":"Takahiro Revision Cleanup","header_author":"Takahiro Nishii","header_description":"Manage and delete WordPress post revisions easily.","assets_banners_color":"","last_updated":"2026-07-08 05:21:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/takahiro-nishii.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":74,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"takahironishii","date":"2026-06-24 14:33:43"},"1.2.1":{"tag":"1.2.1","author":"takahironishii","date":"2026-07-08 05:21:56"}},"upgrade_notice":{"1.2.1":"<p>Fix WordPress.org upload validation (Plugin URI removed).<\/p>","1.2.0":"<p>Renamed for WordPress.org review. Deactivate the old slug and activate takahiro-revision-cleanup.<\/p>","1.1.2":"<p>Security hardening: form tokens, rate limits, stricter validation, and audit hooks.<\/p>","1.1.0":"<p>Adds revision preview list, database check, and Better Delete Revision compatibility improvements.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.2.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3599775,"resolution":"1","location":"assets","locale":"","width":1280,"height":720}},"screenshots":{"1":"Revision overview and delete actions"}},"plugin_section":[],"plugin_tags":[3786,153,4663,247,3937],"plugin_category":[52,54,59],"plugin_contributors":[268733],"plugin_business_model":[],"class_list":["post-327904","plugin","type-plugin","status-publish","hentry","plugin_tags-cleanup","plugin_tags-database","plugin_tags-delete-revision","plugin_tags-performance","plugin_tags-revision","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-takahironishii","plugin_committers-takahironishii"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/takahiro-revision-cleanup.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/takahiro-revision-cleanup\/assets\/screenshot-1.png?rev=3599775","caption":"Revision overview and delete actions"}],"raw_content":"<!--section=description-->\n<p>Takahiro Revision Cleanup helps site administrators review how many post revisions are stored in the database and remove them safely. It is a modern, secure replacement for abandoned plugins such as Better Delete Revision.<\/p>\n\n<p><strong>Features<\/strong><\/p>\n\n<ul>\n<li>Overview of total revision count and estimated content size<\/li>\n<li>Paginated revision list (preview before delete)<\/li>\n<li>Breakdown by parent post type (posts, pages, custom post types, orphaned revisions)<\/li>\n<li>Delete all revisions or delete revisions for a single post type<\/li>\n<li>Lifetime counter of revisions removed<\/li>\n<li>Confirmation dialog before destructive actions<\/li>\n<li>CHECK TABLE and OPTIMIZE TABLE for <code>wp_posts<\/code> and <code>wp_postmeta<\/code> (safer than optimizing the entire database)<\/li>\n<li>Uses native <code>wp_delete_post_revision()<\/code> so post meta and term relationships are cleaned correctly<\/li>\n<li>NextGEN Gallery compatibility during batch deletes<\/li>\n<li>Security hardened for WordPress.org review: nonces, capability checks, prepared SQL, escaped output, per-user form tokens, rate limiting on destructive actions, strict DB table allowlist, batch size caps, and audit hooks<\/li>\n<\/ul>\n\n<p><strong>Why this plugin<\/strong><\/p>\n\n<p>Unlike older revision cleanup tools, this plugin focuses on a modern admin experience, granular deletion by post type, clear feedback after deletion, and WordPress coding standards compliance.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>takahiro-revision-cleanup<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress.<\/li>\n<li>Go to <strong>Tools &gt; Takahiro Revision Cleanup<\/strong> to review and delete revisions.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20delete%20my%20published%20posts%3F\"><h3>Will this delete my published posts?<\/h3><\/dt>\n<dd><p>No. Only posts with the <code>revision<\/code> post type are removed. Published content is not affected.<\/p><\/dd>\n<dt id=\"how%20is%20this%20different%20from%20better%20delete%20revision%3F\"><h3>How is this different from Better Delete Revision?<\/h3><\/dt>\n<dd><p>Better Delete Revision was closed on WordPress.org in 2022 due to security issues. Takahiro Revision Cleanup provides the same core workflow (review revisions, delete them, check\/optimize tables) plus post-type filtering, pagination, lifetime stats, and modern security practices.<\/p><\/dd>\n<dt id=\"can%20i%20undo%20a%20deletion%3F\"><h3>Can I undo a deletion?<\/h3><\/dt>\n<dd><p>No. Deleted revisions cannot be restored unless you have a database backup.<\/p><\/dd>\n<dt id=\"does%20it%20work%20on%20multisite%3F\"><h3>Does it work on multisite?<\/h3><\/dt>\n<dd><p>Multisite support is not included in version 1.2.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Remove Plugin URI header (must differ from Author URI on WordPress.org upload)<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Rename plugin to Takahiro Revision Cleanup (takahiro-revision-cleanup) per WordPress.org review<\/li>\n<li>Update Author and Plugin URI to https:\/\/takahiro-nishii.com<\/li>\n<li>Remove load_plugin_textdomain() (WordPress.org hosts translations)<\/li>\n<li>Expand function prefix from crm_ to tnrc_ (4+ characters)<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Add centralized TNRC_Security layer (form tokens, action allowlist, rate limits)<\/li>\n<li>Strict allowlist for CHECK\/OPTIMIZE TABLE (wp_posts and wp_postmeta only)<\/li>\n<li>Cap bulk deletes at 2000 revisions per request with user warning<\/li>\n<li>Validate transient notice and db_check payloads before display<\/li>\n<li>Add tnrc_security_event audit hook for monitoring integrations<\/li>\n<li>Block direct directory access via index.php stubs<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Add paginated revision list preview (Better Delete Revision parity)<\/li>\n<li>Add lifetime deleted revisions counter<\/li>\n<li>Add CHECK TABLE before OPTIMIZE TABLE<\/li>\n<li>Use wp_delete_post_revision() for safer meta\/term cleanup<\/li>\n<li>Add NextGEN Gallery batch-delete compatibility<\/li>\n<li>Add Settings link on the Plugins screen<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Manage and delete WordPress post revisions from a simple admin screen.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/327904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=327904"}],"author":[{"embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/takahironishii"}],"wp:attachment":[{"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=327904"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=327904"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=327904"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=327904"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=327904"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/test.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=327904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}