{"id":397564,"date":"2026-11-02T07:36:31","date_gmt":"2026-11-02T07:36:31","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/axle-block-restore\/"},"modified":"2026-11-02T07:36:06","modified_gmt":"2026-11-02T07:36:06","slug":"axle-block-restore","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/axle-block-restore\/","author":20612273,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"3.0.0","stable_tag":"3.0.0","tested":"7.1.4","requires":"6.6","requires_php":"7.4","requires_plugins":null,"header_name":"Axle Block Restore","header_author":"Aryan Jasala","header_description":"Restore a single block from an old revision instead of rolling back the whole post. Bring back a deleted paragraph, or an earlier version of one section, without losing later edits.","assets_banners_color":"977ecd","last_updated":"2026-11-02 07:36:06","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/axle-block-restore\/","header_author_uri":"https:\/\/profiles.wordpress.org\/aryanjasala\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":120,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"3.0.0":{"tag":"3.0.0","author":"aryanjasala","date":"2026-11-02 07:36:06","revision":3779160}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3779160,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3779160,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3779160,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3779160,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["3.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3779160,"resolution":"1","location":"assets","locale":"","width":2560,"height":1600},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3779160,"resolution":"2","location":"assets","locale":"","width":2560,"height":1600},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3779160,"resolution":"3","location":"assets","locale":"","width":2560,"height":1600}},"screenshots":{"1":"Restoring a deleted paragraph from a revision.","2":"Picking an earlier version of one block, with its changes highlighted.","3":"Finding deleted text across revisions."}},"plugin_section":[],"plugin_tags":[148857,4121,152,6243,18329],"plugin_category":[],"plugin_contributors":[289675],"plugin_business_model":[],"class_list":["post-397564","plugin","type-plugin","status-publish","hentry","plugin_tags-block-editor","plugin_tags-blocks","plugin_tags-restore","plugin_tags-revisions","plugin_tags-undo","plugin_contributors-aryanjasala","plugin_committers-aryanjasala"],"banners":{"banner":"https:\/\/ps.w.org\/axle-block-restore\/assets\/banner-772x250.png?rev=3779160","banner_2x":"https:\/\/ps.w.org\/axle-block-restore\/assets\/banner-1544x500.png?rev=3779160","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/axle-block-restore\/assets\/icon-128x128.png?rev=3779160","icon_2x":"https:\/\/ps.w.org\/axle-block-restore\/assets\/icon-256x256.png?rev=3779160","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/axle-block-restore\/assets\/screenshot-1.png?rev=3779160","caption":"Restoring a deleted paragraph from a revision."},{"src":"https:\/\/ps.w.org\/axle-block-restore\/assets\/screenshot-2.png?rev=3779160","caption":"Picking an earlier version of one block, with its changes highlighted."},{"src":"https:\/\/ps.w.org\/axle-block-restore\/assets\/screenshot-3.png?rev=3779160","caption":"Finding deleted text across revisions."}],"raw_content":"<!--section=description-->\n<p>WordPress revisions are all or nothing. If someone deleted a paragraph last week and the post has been edited ten times since, \"Restore This Revision\" brings the paragraph back but throws away the ten edits. The usual workaround is copying text out of the revisions screen by hand, which loses the block's formatting and settings.<\/p>\n\n<p>Axle Block Restore works inside the block editor and restores single blocks, with all their settings.<\/p>\n\n<p><strong>Restore one block to an earlier version<\/strong><\/p>\n\n<ol>\n<li>Select the block and open its menu (\u22ee).<\/li>\n<li>Choose <strong>Restore from a revision\u2026<\/strong><\/li>\n<li>Pick a revision. You see the versions of that block in it, best match first.<\/li>\n<li>Click <strong>Replace current block<\/strong>, or <strong>Insert below it<\/strong> to compare them side by side.<\/li>\n<\/ol>\n\n<p><strong>Bring back a deleted block<\/strong><\/p>\n\n<ol>\n<li>Open the editor's main menu (\u22ee at the top right).<\/li>\n<li>Choose <strong>Restore blocks from a revision<\/strong>.<\/li>\n<li>Pick a revision. Its blocks are labelled <strong>Not in the post now<\/strong>, <strong>Changed since<\/strong> or <strong>Same as now<\/strong>.<\/li>\n<li>Click <strong>Restore it here<\/strong> to put a deleted block back where it was.<\/li>\n<\/ol>\n\n<p><strong>Find text you deleted<\/strong><\/p>\n\n<p>Can't remember which revision had the sentence you need? Type a few words into \"Find text in old revisions\". Every block that contained them is listed, with how many revisions it appears in. Click one to jump to it.<\/p>\n\n<p>Every restore is a normal edit: press Ctrl+Z (\u2318Z on a Mac) to undo it, and nothing is saved until you update the post.<\/p>\n\n<ul>\n<li>\"Show changes\" highlights the words that differ between the block now and its old version.<\/li>\n<li>Previews show each block as it looked in that revision.<\/li>\n<li>Each revision shows who saved it and how many blocks differ from now. Autosaves are labelled, and the window opens on the newest revision that actually differs.<\/li>\n<li>Works with any block, including blocks from other plugins, and with every post type that has revisions.<\/li>\n<li>Revisions are loaded without rendering them on the server, so posts with many revisions open quickly.<\/li>\n<\/ul>\n\n<p>No settings and nothing stored in the database.<\/p>\n\n<p>Free and open source under the GPL. No pro version, no upsells, no ads in wp-admin, no tracking. And it stays that way.<\/p>\n\n<p>Part of Axle by AryanX, a family of plugins for running WordPress sites safely.<\/p>\n\n<p><strong>Try it before you install.<\/strong> <a href=\"https:\/\/try.axlewp.com\/axle-block-restore\">try.axlewp.com\/axle-block-restore<\/a> opens a private WordPress in your browser with this plugin and some demo content.<\/p>\n\n<p>Part of <a href=\"https:\/\/axlewp.com\/\">Axle<\/a>, a family of free plugins for running WordPress sites safely.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20does%20it%20find%20%22the%20same%20block%22%20in%20an%20old%20revision%3F\"><h3>How does it find \"the same block\" in an old revision?<\/h3><\/dt>\n<dd><p>Blocks have no permanent ID between saves, so it compares blocks of the same type, preferring the one at the same position and with the most words in common. You can always pick a different version from the list.<\/p><\/dd>\n<dt id=\"where%20is%20the%20option%3F%20i%20can%27t%20see%20it.\"><h3>Where is the option? I can't see it.<\/h3><\/dt>\n<dd><p>It appears in the block editor for post types that keep revisions, such as posts and pages. If revisions are turned off for the site (<code>WP_POST_REVISIONS<\/code> set to <code>false<\/code>), there is nothing to restore from.<\/p><\/dd>\n<dt id=\"does%20it%20work%20in%20the%20site%20editor%3F\"><h3>Does it work in the Site Editor?<\/h3><\/dt>\n<dd><p>Not yet. Templates have revisions too, and support is planned.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>3.0.0<\/h4>\n\n<ul>\n<li>Changed (breaking change): rename to Axle Block Restore for WordPress.org<\/li>\n<li>Fix: keep the selected revision's details readable<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix: load revision content on WordPress 6.6 to 6.9<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Changed (breaking change): rename to Axle Block Restore for WordPress.org<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Fix: make the abilities visible to MCP agents<\/li>\n<li>New: add abilities so AI agents can find deleted blocks and restore one block from a revision<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>New: add PHP and JavaScript hooks for post types, which blocks can be restored, and each restore<\/li>\n<li>Fix: make the restore window translatable and keyboard friendly<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>New: search old revisions for text.<\/li>\n<li>New: \"Show changes\" word-level diff between the current block and an old version.<\/li>\n<li>New: revision list shows the author and the number of differences, and works with the arrow keys.<\/li>\n<li>Rewritten as PSR-4 classes and separate scripts; the matching logic has unit tests.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<\/ul>","raw_excerpt":"Bring back one block from an old revision, such as a deleted paragraph or an earlier version of a section, without undoing every edit since.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/397564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=397564"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/aryanjasala"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=397564"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=397564"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=397564"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=397564"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=397564"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=397564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}