{"id":301153,"date":"2026-05-27T07:03:19","date_gmt":"2026-05-27T07:03:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/backup-nota\/"},"modified":"2026-05-27T07:02:57","modified_gmt":"2026-05-27T07:02:57","slug":"nota-backup-restore","status":"publish","type":"plugin","link":"https:\/\/ido.wordpress.org\/plugins\/nota-backup-restore\/","author":23481962,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.1.3","stable_tag":"2.1.3","tested":"6.9.4","requires":"5.6","requires_php":"7.4","requires_plugins":null,"header_name":"Nota Backup & Restore","header_author":"wp-nota.com","header_description":"Full site backup plugin. Backup files + database with one click. Cloud storage and restore features available in the premium version.","assets_banners_color":"8c76b4","last_updated":"2026-05-27 07:02:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/www.wp-nota.com","header_author_uri":"https:\/\/wp-nota.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":29,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"2.1.3":{"tag":"2.1.3","author":"wpnota","date":"2026-05-27 07:02:57"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3550164,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3550164,"resolution":"772x250","location":"assets","locale":"","width":1600,"height":505}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["2.1.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3550164,"resolution":"1","location":"assets","locale":"","width":1430,"height":806},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3550164,"resolution":"2","location":"assets","locale":"","width":1431,"height":437},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3550164,"resolution":"3","location":"assets","locale":"","width":1140,"height":817},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3550164,"resolution":"4","location":"assets","locale":"","width":1138,"height":777}},"screenshots":{"1":"Main backup page \u2014 select backup type, see estimated size, and start a backup with one click.","2":"Backup history \u2014 list of all backups with status, size, creation time, and download\/actions buttons.","3":"General Settings \u2014 configure chunk size, files per chunk, and AES-256 database encryption.","4":"Exclusions \u2014 exclude cache directories, server config files, or any custom folder from backups."}},"plugin_section":[262246],"plugin_tags":[151,153,4155,152,7343],"plugin_category":[59],"plugin_contributors":[264592],"plugin_business_model":[],"class_list":["post-301153","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-backup","plugin_tags-database","plugin_tags-migration","plugin_tags-restore","plugin_tags-zip","plugin_category-utilities-and-tools","plugin_contributors-wpnota","plugin_committers-wpnota"],"banners":{"banner":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/banner-772x250.jpg?rev=3550164","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/icon-128x128.png?rev=3550164","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/screenshot-1.png?rev=3550164","caption":"Main backup page \u2014 select backup type, see estimated size, and start a backup with one click."},{"src":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/screenshot-2.png?rev=3550164","caption":"Backup history \u2014 list of all backups with status, size, creation time, and download\/actions buttons."},{"src":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/screenshot-3.png?rev=3550164","caption":"General Settings \u2014 configure chunk size, files per chunk, and AES-256 database encryption."},{"src":"https:\/\/ps.w.org\/nota-backup-restore\/assets\/screenshot-4.png?rev=3550164","caption":"Exclusions \u2014 exclude cache directories, server config files, or any custom folder from backups."}],"raw_content":"<!--section=description-->\n<p><strong>Nota Backup &amp; Restore<\/strong> creates complete WordPress backups (all files + database) in a single ZIP file. Designed for reliability on shared hosting \u2014 chunked processing ensures backups never fail due to PHP timeouts or memory limits.<\/p>\n\n<h4>Free Features<\/h4>\n\n<ul>\n<li><strong>One-click full backup<\/strong> \u2014 all WordPress files + database in a single ZIP<\/li>\n<li><strong>Chunked ZIP creation<\/strong> \u2014 never times out, even on large sites<\/li>\n<li><strong>Configurable chunk settings<\/strong> \u2014 files per chunk and MB per chunk<\/li>\n<li><strong>AES-256 encryption<\/strong> for database backups<\/li>\n<li><strong>Custom exclusion rules<\/strong> \u2014 skip any folder or file path<\/li>\n<li><strong>Backup history<\/strong> with status, size, duration and error details<\/li>\n<li><strong>Estimated backup size<\/strong> before you start<\/li>\n<li><strong>Dashboard widget<\/strong> showing last backup status<\/li>\n<li><strong>Standalone installer<\/strong> \u2014 migrate to a new domain without WordPress<\/li>\n<\/ul>\n\n<h4>Premium Features (Pro Version)<\/h4>\n\n<p>The following features require the <a href=\"https:\/\/www.wp-nota.com\/pricing\/\">Pro version<\/a>:<\/p>\n\n<ul>\n<li><strong>Cloud Storage<\/strong> \u2014 Google Drive, Amazon S3, Wasabi, Dropbox, Microsoft OneDrive, FTP\/SFTP<\/li>\n<li><strong>Automatic scheduled backups<\/strong> \u2014 daily, weekly, monthly<\/li>\n<li><strong>Admin panel restore<\/strong> \u2014 one-click restore directly in WordPress<\/li>\n<li><strong>Emergency Recovery<\/strong> \u2014 standalone restore page that works even when WordPress is broken<\/li>\n<li><strong>Email notifications<\/strong> \u2014 success and failure alerts<\/li>\n<li><strong>Selective backup<\/strong> \u2014 database only or files only<\/li>\n<\/ul>\n\n<h4>How It Works<\/h4>\n\n<ol>\n<li>Go to <strong>Nota Backup<\/strong> in the WordPress admin sidebar<\/li>\n<li>Click <strong>Start Backup<\/strong><\/li>\n<li>The plugin creates a ZIP file of all your files and database<\/li>\n<li>Download the ZIP from the backup list<\/li>\n<\/ol>\n\n<h4>Standalone Installer<\/h4>\n\n<p>The installer is a standalone migration tool that runs without WordPress. It is downloaded separately from the admin panel \u2014 it is not bundled inside the backup ZIP:<\/p>\n\n<ol>\n<li>Download the backup ZIP and the Installer PHP file from the backup list<\/li>\n<li>Upload both files to the new server's web root<\/li>\n<li>Open <code>https:\/\/newdomain.com\/installer_{backup_name}.php<\/code><\/li>\n<li>The installer extracts the ZIP, then prompts for new database credentials and new site URL<\/li>\n<li>Follow the step-by-step wizard \u2014 URLs and paths are replaced throughout the database<\/li>\n<\/ol>\n\n<h3>External Services<\/h3>\n\n<p>This plugin does <strong>not<\/strong> connect to any external APIs or services. No data is transmitted to any third party. All backup processing (ZIP creation, database export, encryption) runs entirely on your own server.<\/p>\n\n<p>The plugin displays a link to <code>https:\/\/www.wp-nota.com\/pricing\/<\/code> in the admin UI. This is a plain HTML hyperlink \u2014 clicking it opens the page in a new browser tab. No data of any kind is sent to this URL by the plugin.<\/p>\n\n<p>Because no external service is used, no Terms of Use or Privacy Policy link is applicable to this plugin.<\/p>\n\n<p>Note: The Pro version (distributed separately, not hosted on WordPress.org) connects to third-party cloud storage services (Google Drive, Amazon S3, Wasabi, Dropbox, Microsoft OneDrive, FTP\/SFTP). That code is not present in this plugin.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>nota-backup-restore<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>Nota Backup<\/strong> in the WordPress admin sidebar<\/li>\n<li>Create your first backup with one click<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20it%20work%20on%20shared%20hosting%3F\"><h3>Does it work on shared hosting?<\/h3><\/dt>\n<dd><p>Yes. Nota Backup &amp; Restore is built specifically for shared hosting. Chunked processing keeps every request well within PHP time limits and memory constraints.<\/p><\/dd>\n<dt id=\"what%20is%20included%20in%20a%20full%20backup%3F\"><h3>What is included in a full backup?<\/h3><\/dt>\n<dd><p>All WordPress files (themes, plugins, uploads, wp-content) plus the complete MySQL database, packaged into a single ZIP file.<\/p><\/dd>\n<dt id=\"can%20i%20schedule%20automatic%20backups%3F\"><h3>Can I schedule automatic backups?<\/h3><\/dt>\n<dd><p>Automatic scheduled backups require the Pro version. The free version supports on-demand (manual) backups.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20a%20backup%20fails%20halfway%20through%3F\"><h3>What happens if a backup fails halfway through?<\/h3><\/dt>\n<dd><p>The plugin detects and cleans up incomplete backups automatically. Error details are logged to backup history.<\/p><\/dd>\n<dt id=\"is%20aes-256%20encryption%20secure%3F\"><h3>Is AES-256 encryption secure?<\/h3><\/dt>\n<dd><p>Yes. The database is encrypted with AES-256-CBC. The encryption key is derived from your password using SHA-256.<\/p><\/dd>\n<dt id=\"can%20i%20restore%20to%20a%20different%20domain%3F\"><h3>Can I restore to a different domain?<\/h3><\/dt>\n<dd><p>Yes. The standalone installer handles full migrations. It replaces all URLs and paths \u2014 including inside serialized PHP data \u2014 so WordPress loads correctly on the new domain.<\/p><\/dd>\n<dt id=\"does%20the%20free%20version%20connect%20to%20any%20external%20services%3F\"><h3>Does the free version connect to any external services?<\/h3><\/dt>\n<dd><p>No. The free version makes no external API calls. The only external link is the \"Upgrade to Pro\" button, which opens <code>https:\/\/www.wp-nota.com\/pricing\/<\/code> in a new tab.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.1.3<\/h4>\n\n<ul>\n<li>New: Settings &gt; Exclusions \u2014 \"Skip .ini files in WordPress root\" option (default on); prevents php.ini \/ .user.ini from being included in backups and causing issues after migration<\/li>\n<li>New: Settings &gt; Exclusions \u2014 Staging tab added with PRO badge<\/li>\n<li>Fix: Installer URL replace infinite loop on tables with non-UTF-8 primary keys (e.g. wp_wffilemods); cursor now base64-encoded in state<\/li>\n<li>Fix: Installer state save failure on non-UTF-8 database content (JSON_INVALID_UTF8_SUBSTITUTE)<\/li>\n<li>Fix: Installer MySQL error 1293 \u2014 TIMESTAMP multi-default incompatibility with MySQL 5.5 now auto-corrected<\/li>\n<li>Fix: Installer progress bar resetting on every replace chunk<\/li>\n<li>Fix: AJAX permission\/nonce error showed generic \"DB init failed.\" instead of actual message<\/li>\n<\/ul>\n\n<h4>2.1.2<\/h4>\n\n<ul>\n<li>New: Site Changes Bar \u2014 shows what changed since the last backup (WordPress update, plugin\/theme changes, new uploads) in the main backup card<\/li>\n<\/ul>\n\n<h4>2.1.1<\/h4>\n\n<ul>\n<li>New: Activity Logs system \u2014 wpbn_logs DB table stores per-backup log entries (info\/warning\/error) for debugging and audit<\/li>\n<li>New: Logs admin page \u2014 backup rows are collapsible, showing timestamps and level badges; system-level logs shown separately<\/li>\n<li>New: Log retention setting \u2014 keep logs for last N backups (default 20), configurable from the Logs page<\/li>\n<\/ul>\n\n<h4>2.1.0<\/h4>\n\n<ul>\n<li>New: Backup Encryption (AES-256) is now a free feature \u2014 password stored securely using WordPress secret keys<\/li>\n<li>New: Remove Encryption button in Settings to clear saved encryption password<\/li>\n<li>Fix: pollBackupStatus() now has a max retry limit (20) to prevent infinite polling on stale state<\/li>\n<li>Fix: ZIP close() failure recovery now rolls back offset to prevent double-processing files<\/li>\n<li>Cleanup: Removed dead and premium-only code from free plugin (restore engine stubs, cloud handlers, duplicate JS functions)<\/li>\n<\/ul>\n\n<h4>2.0.9<\/h4>\n\n<ul>\n<li>New: French (fr_FR) translation added<\/li>\n<\/ul>\n\n<h4>2.0.8<\/h4>\n\n<ul>\n<li>New: Cache directory exclusions moved to Settings \u2014 checkboxes for W3TC, WP Super Cache, WP Rocket, Divi, WP-Optimize, Breeze cache folders<\/li>\n<li>Improvement: Cache exclusion paths no longer hardcoded \u2014 stored in database, configurable per site<\/li>\n<\/ul>\n\n<h4>2.0.7<\/h4>\n\n<ul>\n<li>Fix: Backup directory moved to uploads folder (<code>wp-content\/uploads\/nota-backup-restore<\/code>) per wp.org guidelines<\/li>\n<li>Fix: Removed PclZip fallback and global <code>PCLZIP_TEMPORARY_DIR<\/code> constant \u2014 ZipArchive is required<\/li>\n<\/ul>\n\n<h4>2.0.6<\/h4>\n\n<ul>\n<li>Fix: Orphaned backup state (PHP killed mid-backup) now creates a failed record automatically via hourly cron \u2014 no longer requires opening the admin panel<\/li>\n<\/ul>\n\n<h4>2.0.5<\/h4>\n\n<ul>\n<li>Fix: Removed non-functional notification code (email settings, test email handler) that was included but had no effect in the free version<\/li>\n<li>New: Backup type selector replaced with visual cards (Full, Database Only, Files Only)<\/li>\n<li>Improvement: File sizes in GB now display two decimal places (e.g. 1.34 GB)<\/li>\n<li>Improvement: ZIP chunk size is now auto-calculated based on available server memory<\/li>\n<li>Improvement: Files per chunk automatically scales with chunk size, with optional manual override in Settings<\/li>\n<\/ul>\n\n<h4>2.0.4<\/h4>\n\n<ul>\n<li>Improvement: Smart chunk size auto-calculation based on server memory<\/li>\n<li>Improvement: Files per chunk auto-derived from chunk size (chunk MB \u00d7 40)<\/li>\n<\/ul>\n\n<h4>2.0.3<\/h4>\n\n<ul>\n<li>Fix: Removed scheduled backup cron hook and callback \u2014 scheduled backups are a Pro feature and must not exist as locked code in the free version (Guideline 5)<\/li>\n<li>Fix: Removed <code>wpbn_run_cron_now<\/code> AJAX action that returned a premium-only error<\/li>\n<li>Fix: Removed cron schedule interval definitions (wpbn_daily, wpbn_weekly, etc.) which were only used for scheduled backups<\/li>\n<li>Fix: Removed <code>assets\/icon-128x128.png<\/code> from plugin ZIP \u2014 plugin assets must be uploaded separately via SVN<\/li>\n<\/ul>\n\n<h4>2.0.2<\/h4>\n\n<ul>\n<li>Fix: Estimated backup size now works \u2014 <code>wpbn_size_estimate<\/code> AJAX handler was missing and has been added<\/li>\n<li>Fix: DB health check and test email AJAX handlers were missing and have been added<\/li>\n<li>Security: <code>installer-template.php<\/code> removed from plugin; backup ZIPs no longer contain <code>installer.php<\/code> \u2014 the installer is now generated on demand and downloaded separately from the admin panel as a <code>.php<\/code> file, never written to the server filesystem<\/li>\n<\/ul>\n\n<h4>2.0.1<\/h4>\n\n<ul>\n<li>Fix: Removed bundled-but-locked feature stubs to comply with WordPress.org Guideline 5 (Trialware)<\/li>\n<li>Fix: installer-template.php security hardening \u2014 removed error_reporting(E_ALL), capped max_execution_time to 3600, fixed CSRF token output escaping, sanitized HTTP_HOST<\/li>\n<li>New: Standalone installer is now downloaded separately alongside the backup ZIP \u2014 upload both to the new server, open installer.php, and it extracts the ZIP and migrates the database automatically<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>New: Free version released on WordPress.org as \"Nota Backup &amp; Restore\"<\/li>\n<li>Removed: Freemius SDK \u2014 no longer required in the free version<\/li>\n<li>Removed: Cloud storage code \u2014 available in Pro version only<\/li>\n<li>Removed: Restore engine \u2014 available in Pro version only<\/li>\n<li>Removed: Emergency Recovery \u2014 available in Pro version only<\/li>\n<\/ul>\n\n<h4>1.9.7<\/h4>\n\n<ul>\n<li>New: \"Files Per Chunk\" setting \u2014 configures how many files are processed per ZIP request<\/li>\n<li>Fix: ZIP Chunk Size (MB) setting now correctly limits bytes per request during ZIP creation<\/li>\n<\/ul>\n\n<h4>1.9.6<\/h4>\n\n<ul>\n<li>Fix: Plugin deactivation now clears scheduled cron events to prevent orphaned tasks<\/li>\n<li>Fix: Critical file write operations now return proper errors on failure instead of silently corrupting the backup<\/li>\n<\/ul>\n\n<h4>1.9.5<\/h4>\n\n<ul>\n<li>Improvement: Database export now streams directly to disk in 500-row batches \u2014 prevents out-of-memory errors on large databases<\/li>\n<\/ul>\n\n<h4>1.4.3<\/h4>\n\n<ul>\n<li>Fix: Bootstrap CSS now bundled locally instead of loaded from CDN<\/li>\n<li>Fix: Wrapped all admin_url() calls with esc_url()<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"Full site backup plugin. Back up files + database with one click. Chunked ZIP creation \u2014 never fails due to PHP timeouts.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/301153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=301153"}],"author":[{"embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpnota"}],"wp:attachment":[{"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=301153"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=301153"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=301153"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=301153"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=301153"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ido.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=301153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}