Zain Hassan Zain Hassan White-label WordPress partner
ZHBackup Icon

ZHBackup

Full-site WordPress backup, restore, and migration with structured database packages, chunked imports, server-side restores, root folder support, and safe cleanup tools.

Version 2.0.0 WordPress.org Ready GPL v2 Licensed PHP 7.4+ WP 5.8 – 7.0

Built for Real WordPress Migrations

Package the database, media, plugins, themes, selected wp-content folders, root files, and optional custom root folders, then restore through small traceable steps.

Structured Database Package

Export schemas, row chunks, and separate large-value files so post meta, options, and page-builder data can be restored in smaller, traceable operations.

🔄

Chunked Export and Restore

Database and file operations run in small AJAX steps to reduce timeout and memory-limit issues on shared, managed, and resource-limited hosting.

🛡️

Browser Upload or Server Restore

Upload backups through the browser in resumable chunks, or place .zip and .zhbackup archives on the server and restore them from an available-backups table.

🔍

Serialized-Safe Find & Replace

Update URLs safely across serialized PHP data, JSON-escaped URLs, Elementor widget data, options, post meta, and other database values after migration.

📦

Full-Site Backup Scope

Back up the database, uploads, plugins, themes, mu-plugins, selected wp-content folders, root files, and optional first-level folders from the WordPress root.

🖥️

Post-Restore Cleanup

Review the restored site first, then run a saved cleanup plan manually to remove stale plugins, uploads, themes, and selected root-folder files.

See ZHBackup in Action

Seven focused admin screens cover backup creation, stored backup management, import, migration, cleanup, server checks, retention, and optional updates.

ZHBackup Export Page
1

Create a Structured Backup

Choose the database, root files, default wp-content folders, optional folder groups, and the archive format before starting a full-site backup. Version, info icons, and grouped options keep the export screen compact.

ZHBackup Existing Backups
2

Manage Existing Backups

Review backup files in a clear table with contents, size, date, and quick actions for download, restore, or delete. Large-file guidance shows the server path for safer direct downloads when needed.

ZHBackup Import Page
3

Restore from Upload or Server

Drag a .zip or .zhbackup file into the chunked browser uploader, or place backups in the server storage directory and restore them from the server import table.

ZHBackup Find and Replace
4

Safe URL Migration

Enter the old and new URLs, then run serialized-safe Find & Replace across WordPress tables. The recommended prefix-table option helps avoid touching unrelated tables during migration.

ZHBackup Restore Cleanup
5

Review, Then Clean Up

Restore cleanup is separated from the restore itself. ZHBackup shows pending cleanup plans only when stale files need review, so administrators can verify the site before removing older files.

ZHBackup Storage and Health Check
6

Check Storage and Server Health

Confirm the backup storage path, outside-webroot status, ZIP engine, PHP limits, upload limits, uploads directory, and free disk space from one settings screen.

ZHBackup Retention Policy and Optional Updates
7

Set Retention and Optional Updates

Configure the WP-Cron retention policy by count or age, then save it from the settings page. The newsletter signup is optional, consent-based, and can be dismissed without limiting plugin features.

Up and Running in 30 Seconds

Install ZHBackup the same way you install any WordPress plugin.

Install the Plugin

Go to Plugins → Add New in your WordPress admin and search for ZHBackup. Click Install Now.

Activate

Click Activate on the plugins page. ZHBackup appears in your admin sidebar immediately.

Create Your First Backup

Navigate to ZHBackup → Export, select what to include, choose .zip or .zhbackup, and hit Create Backup.

Major Restore and Migration Upgrade

Version 2.0.0 adds structured database packages, table-by-table restore checkpoints, root folder support, manual cleanup, improved logs, and a redesigned admin interface.

Plugin Details

  • Stable tag2.0.0
  • Requires WordPress5.8+
  • Tested up to7.0
  • Requires PHP7.4+
  • LicenseGPL-2.0-or-later
  • License URIGNU GPL v2
  • Contributorszainhassandeveloper

What's New

  • Structured database packages with schema files, table row chunks, and separate large-value files.
  • Table-by-table database restore with checkpoints, validation, URL migration support, and detailed activity logs.
  • Optional custom root folder backup and restore for first-level folders in the WordPress root.
  • Manual post-restore cleanup so administrators can review the restored site before removing stale files.
  • Redesigned admin screens with cleaner backup options, optional item grouping, compact backup tables, icon tooltips, and professional live logs.
  • Improved server-side import with a table of available backups and one-click restore actions for .zip and .zhbackup archives.

WordPress.org-Compliant by Design

ZHBackup is built without obfuscated PHP, hidden tracking, forced accounts, license activation, or external calls during backup and restore workflows.

Security Practices

Inputs are sanitized, outputs are escaped, nonces protect form submissions, and capability checks guard every action. Backup storage is protected with server rules and guard files when stored inside the site.

No backup, restore, migration, import, export, cleanup, or find-and-replace operation requires a license key or account.

Optional External Service

The only external request is the optional newsletter signup on the Settings page. It sends the submitted email address, site URL, plugin slug, and plugin version only after an administrator submits the form.

Terms of service · Privacy policy

Frequently Asked Questions

Quick answers to common questions about ZHBackup.

Does this plugin work on shared or managed hosting?
Yes. ZHBackup uses chunked export, upload, import, and restore steps so each request stays small. The database is restored table by table from a structured package instead of replaying one large SQL file.
How large of a site can this handle?
There is no fixed size limit in the plugin. Very large sites depend on available disk space, PHP limits, and database performance, but ZHBackup is designed to process large file sets and databases in small resumable steps.
How does ZHBackup handle large Elementor or page-builder data?
Large database values are stored separately from normal row chunks and restored in smaller append operations. This helps preserve large _elementor_data, post meta, options, and other oversized rows during restore.
What is the difference between .zip and .zhbackup?
Both formats can contain the same backup data. .zip is a standard archive format. .zhbackup is ZHBackup's optimized archive format for this plugin. Both support the structured database package.
Can I restore a backup uploaded by FTP or File Manager?
Yes. Upload a .zip or .zhbackup file to the backup storage directory shown on the Import screen. It will appear in the server backup table, where you can restore it directly.
Where are backups stored?
The plugin automatically selects the most secure location. It prefers a directory outside the webroot (not accessible via browser), but falls back to wp-content/zhbackup-backups/ if needed, where files are protected by .htaccess rules.
Can I import a backup from a different domain?
Yes. After importing, use the built-in Find & Replace tool to update old URLs to your new domain. It handles serialized data safely, including Elementor widget data.
Can I include custom folders from the WordPress root?
Yes. The export screen can include optional first-level folders from the WordPress root. WordPress core folders such as wp-admin, wp-includes, and wp-content are handled separately or excluded automatically.
What is post-restore cleanup?
Restore copies files from the backup first. If older files or folders still exist on the destination site, ZHBackup saves a cleanup plan. After you verify the restored site, go to ZHBackup → Cleanup to remove stale files that are not present in the backup.
Will cleanup fail the restore if file permissions block deletion?
No. Cleanup is manual and best-effort. Permission-related deletion failures are logged as warnings so the restore can remain complete and you can review any paths that need manual attention.
Will importing overwrite my existing site?
Yes. Importing a backup will replace your database and files. Always create a fresh backup of your current site before importing.
Does this plugin make external API calls?
Yes, but only for the optional newsletter signup on the Settings page after an administrator explicitly enters an email address and submits the form. No data is sent during backup, restore, migration, import, export, or find-and-replace operations.
Is the email signup required?
No. The email signup on the Settings page is completely optional and can be dismissed permanently. The plugin is fully functional without it.
Is the .zhbackup format free to use?
Yes. The .zhbackup export format is included for free and does not require any license key or activation page.

Start Protecting Your WordPress Site

Install ZHBackup 2.0.0 and create structured full-site backups with safer restores, migration tools, and controlled cleanup.

WhatsApp