{"id":360230,"date":"2026-09-03T11:45:48","date_gmt":"2026-09-03T11:45:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/update-safeguard\/"},"modified":"2026-09-03T11:45:36","modified_gmt":"2026-09-03T11:45:36","slug":"ukh-pre-update-backup-rollback","status":"publish","type":"plugin","link":"https:\/\/es-pr.wordpress.org\/plugins\/ukh-pre-update-backup-rollback\/","author":23556573,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.3","stable_tag":"1.0.3","tested":"7.1","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"UKH Pre-Update Backup Rollback","header_author":"Khamami","header_description":"Backup otomatis file + database SEBELUM WordPress update, dan 1-klik rollback kalau site bermasalah setelah update. Mencegah \"site down after update\".","assets_banners_color":"736c55","last_updated":"2026-09-03 11:45:36","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.ukhtechnologies.my.id\/ukh-pre-update-backup-rollback","header_author_uri":"https:\/\/www.ukhtechnologies.my.id","rating":0,"author_block_rating":0,"active_installs":0,"downloads":55,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.3":{"tag":"1.0.3","author":"khamami","date":"2026-09-03 11:45:36","revision":3679657}},"upgrade_notice":{"1.0.1":"<p>Security and naming fixes per WordPress.org Plugin Review Team feedback.<\/p>","1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3679657,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon.svg":{"filename":"icon.svg","revision":3679657,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3679657,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3679657,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3679657,"resolution":"1","location":"assets","locale":"","width":1265,"height":937},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3679840,"resolution":"2","location":"assets","locale":"","width":1265,"height":1288}},"screenshots":[]},"plugin_section":[],"plugin_tags":[151,13383,10708,227701,2552],"plugin_category":[59],"plugin_contributors":[279012],"plugin_business_model":[],"class_list":["post-360230","plugin","type-plugin","status-publish","hentry","plugin_tags-backup","plugin_tags-recovery","plugin_tags-rollback","plugin_tags-safeguard","plugin_tags-update","plugin_category-utilities-and-tools","plugin_contributors-khamami","plugin_committers-khamami"],"banners":{"banner":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/banner-772x250.png?rev=3679657","banner_2x":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/banner-1544x500.png?rev=3679657","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/icon.svg?rev=3679657","icon":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/icon.svg?rev=3679657","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/screenshot-1.png?rev=3679657","caption":""},{"src":"https:\/\/ps.w.org\/ukh-pre-update-backup-rollback\/assets\/screenshot-2.png?rev=3679840","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>UKH Pre-Update Backup Rollback<\/strong> prevents the most common WordPress disaster: a site going down after an update.<\/p>\n\n<p>Every time you update WordPress core, a plugin, or a theme, this plugin automatically creates a snapshot of your <code>wp-content<\/code> directory and database first. If anything breaks, restore your entire site to its pre-update state with one click \u2014 no technical skills needed.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Automatic pre-update backup<\/strong> \u2014 snapshot taken before every core, plugin, or theme update<\/li>\n<li><strong>Manual backup<\/strong> \u2014 create a backup anytime from Tools \u2192 UKH Pre-Update Backup<\/li>\n<li><strong>One-click rollback<\/strong> \u2014 restore files and database to any previous snapshot<\/li>\n<li><strong>Full snapshot<\/strong> \u2014 complete <code>wp-content<\/code> (themes, plugins, uploads) + full database dump<\/li>\n<li><strong>Multiple backups<\/strong> \u2014 keep several restore points, delete old ones when not needed<\/li>\n<li><strong>Protected storage<\/strong> \u2014 backups are stored in <code>wp-content\/upbk-backups\/<\/code> and blocked from direct web access<\/li>\n<\/ul>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>Before an update runs, the plugin automatically creates a snapshot (files + database)<\/li>\n<li>If your site has problems after the update, go to Tools \u2192 UKH Pre-Update Backup<\/li>\n<li>Click \"Rollback\" on the latest backup \u2014 your site returns to its exact pre-update state<\/li>\n<\/ol>\n\n<h4>Who needs this?<\/h4>\n\n<ul>\n<li>Sites that cannot afford downtime (business, e-commerce, membership)<\/li>\n<li>Developers testing plugin\/theme updates on production sites<\/li>\n<li>Anyone tired of manually restoring backups after a bad update<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>ukh-pre-update-backup-rollback<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install via the WordPress plugin screen<\/li>\n<li>Activate the plugin through the 'Plugins' menu<\/li>\n<li>Open Tools \u2192 UKH Pre-Update Backup<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"are%20backups%20created%20automatically%3F\"><h3>Are backups created automatically?<\/h3><\/dt>\n<dd><p>Yes. A backup is created automatically before every WordPress core, plugin, or theme update. You can also create manual backups anytime.<\/p><\/dd>\n<dt id=\"where%20are%20backups%20stored%3F\"><h3>Where are backups stored?<\/h3><\/dt>\n<dd><p>In <code>wp-content\/upbk-backups\/<\/code>, protected from direct web access by <code>.htaccess<\/code>.<\/p><\/dd>\n<dt id=\"how%20large%20are%20backups%3F\"><h3>How large are backups?<\/h3><\/dt>\n<dd><p>The size depends on your site. The snapshot includes your full <code>wp-content<\/code> directory and a complete database dump. Delete old backups from the admin page to save disk space.<\/p><\/dd>\n<dt id=\"can%20i%20restore%20a%20single%20file%20only%3F\"><h3>Can I restore a single file only?<\/h3><\/dt>\n<dd><p>No. Rollback restores the complete snapshot (files + database) so your site returns exactly to its pre-update state.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Fixed Plugin URI to resolve correctly (ukhtechnologies.my.id).<\/li>\n<li>Replaced any remaining extractTo usage with manual per-file extraction and strict path validation.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Updated Plugin URI and Author URI to live landing domain (ukhtechnologies.my.id).<\/li>\n<li>Landing page redesigned with standalone navbar, bilingual toggle (ID\/EN), and professional layout.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Renamed plugin to a distinctive, brand-prefixed name (UKH Pre-Update Backup Rollback).<\/li>\n<li>All functions, classes, globals and option names now use the <code>upbk_<\/code> prefix to avoid collisions.<\/li>\n<li>Fixed path-traversal hardening in rollback\/restore (strict backup-ID sanitization + realpath containment + zip-slip guard).<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Automatic pre-update backup for core, plugins, and themes.<\/li>\n<li>Manual backup and one-click rollback.<\/li>\n<li>Full wp-content + database snapshots.<\/li>\n<\/ul>","raw_excerpt":"Automatic backup of files and database BEFORE WordPress updates. One-click rollback if your site breaks after an update.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360230","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360230"}],"author":[{"embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/khamami"}],"wp:attachment":[{"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360230"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360230"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360230"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360230"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360230"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/es-pr.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360230"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}