{"id":377846,"date":"2026-10-04T12:11:48","date_gmt":"2026-10-04T12:11:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/fruti-revision-footprint-audit\/"},"modified":"2026-10-04T12:11:37","modified_gmt":"2026-10-04T12:11:37","slug":"fruti-revision-audit","status":"publish","type":"plugin","link":"https:\/\/pcd.wordpress.org\/plugins\/fruti-revision-audit\/","author":23575675,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1.2","requires":"6.0","requires_php":"8.1","requires_plugins":null,"header_name":"Fruti Revision Footprint Audit","header_author":"Fruti Labs","header_description":"Read-only report of how many revisions each post carries and how much space they hold. Never deletes or limits anything.","assets_banners_color":"","last_updated":"2026-10-04 12:11:37","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":48,"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":"frutilabs","date":"2026-10-04 12:11:37","revision":3727403}},"upgrade_notice":[],"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[153,23519,247,6243,3972],"plugin_category":[54,59],"plugin_contributors":[283185],"plugin_business_model":[],"class_list":["post-377846","plugin","type-plugin","status-publish","hentry","plugin_tags-database","plugin_tags-diagnostics","plugin_tags-performance","plugin_tags-revisions","plugin_tags-tools","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-frutilabs","plugin_committers-frutilabs"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/fruti-revision-audit.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Fruti Revision Footprint Audit lists the posts and pages that carry revisions, ranked by revision\ncount, and shows for each one the number of revisions, a lower-bound size of the revision content, the\ndate of the newest revision and a link to the post. A CSV export covers the window you just scanned.<\/p>\n\n<p>It is a report. It never deletes revisions, never changes how many revisions WordPress keeps, never\nedits your content and never writes to your database.<\/p>\n\n<p>Typical use: you suspect a few posts have accumulated hundreds of revisions, or you are about to change\nrevision handling and want to see the real footprint first. The report tells you what exists; the\ndecision about retention stays with you and is made elsewhere.<\/p>\n\n<p>The scan is bounded and manual: each run walks a configurable number of posts, revision detail per post\nis capped so a single huge history cannot dominate the run, and the screen states exactly which window\nwas scanned and that byte totals are a lower bound when a cap was reached. There is no cron job, no\nbackground worker and no queue.<\/p>\n\n<h3>Usage<\/h3>\n\n<ol>\n<li>Open Tools -&gt; Fruti Revision Footprint Audit.<\/li>\n<li>Leave the defaults (200 posts per run) or lower the window on very large sites.<\/li>\n<li>Press <strong>Run audit<\/strong> and read the ranked table.<\/li>\n<li>Raise the post offset and run again to cover the rest of the site.<\/li>\n<li>Press <strong>Download CSV for this window<\/strong> to export what you just scanned. The CSV is generated on the\nfly and is never stored.<\/li>\n<\/ol>\n\n<h3>Privacy<\/h3>\n\n<p>Everything runs locally inside your own admin request. Titles, ids, counts and dates are never\nuploaded, never sent to any external service, never logged and never stored in the database. The plugin\nmakes no network requests and collects no telemetry.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin folder to <code>\/wp-content\/plugins\/<\/code>, or install the ZIP through\nPlugins -&gt; Add New -&gt; Upload Plugin.<\/li>\n<li>Activate the plugin.<\/li>\n<li>Go to Tools -&gt; Fruti Revision Footprint Audit and press \"Run audit\".<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20delete%20revisions%20or%20change%20my%20settings%3F\"><h3>Does this plugin delete revisions or change my settings?<\/h3><\/dt>\n<dd><p>No. It only counts and reports. It does not delete revisions, does not change <code>WP_POST_REVISIONS<\/code> or any\nother setting, and does not modify content.<\/p><\/dd>\n<dt id=\"why%20is%20the%20size%20column%20a%20lower%20bound%3F\"><h3>Why is the size column a lower bound?<\/h3><\/dt>\n<dd><p>Per post, revision detail is capped so that one enormous history cannot make the run explode. When the\ncap is reached the row is marked as capped and the byte total for that post is a lower bound, not an\nexact figure.<\/p><\/dd>\n<dt id=\"does%20it%20scan%20every%20post%20type%3F\"><h3>Does it scan every post type?<\/h3><\/dt>\n<dd><p>No. This version reports published and unpublished posts and pages, the two types that carry the vast\nmajority of revision history.<\/p><\/dd>\n<dt id=\"what%20happens%20on%20very%20large%20sites%3F\"><h3>What happens on very large sites?<\/h3><\/dt>\n<dd><p>Each run is bounded to the number of posts you choose, and the window that was scanned is printed with\nthe results. Nothing is processed in the background.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release: bounded read-only revision footprint report with ranking, lower-bound byte totals, CSV\nexport and an informational heavy-post label.<\/li>\n<\/ul>","raw_excerpt":"Read-only report of how many revisions each post carries and how much content they hold.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/377846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=377846"}],"author":[{"embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/frutilabs"}],"wp:attachment":[{"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=377846"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=377846"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=377846"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=377846"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=377846"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pcd.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=377846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}