=== Net-Migrate ===
Contributors: netrepreneurs
Tags: backup, restore, migration, database, files
Requires at least: 6.1
Tested up to: 7.1
Stable tag: 1.0.29
Requires PHP: 8.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

WordPress backup and restore — unlimited backups, unlimited downloads, unlimited restores, no registration required.

== Description ==

**Net-Migrate is a straightforward WordPress backup and restore plugin — full functionality, no account required.**

Create a full backup of your WordPress site in one click. Download any backup at any size. Restore with confidence. All free, with no account, no registration, and no catch.

Restore of any size, on any shared host — no artificial limits.

= Free Features =

* **Unlimited backup creation** — back up your entire WordPress site including all files and database, any site size
* **Unlimited downloads** — download any backup at full size, no restrictions
* **Unlimited restore** — restore any backup, any size, no cap
* **URL migration** — automatically detects and replaces old domain URLs when restoring to a new domain, including serialized data
* **Backup integrity verification** — every backup includes a checksum that is verified before restore begins, catching corrupted downloads before they touch your site
* **Activity and error logging** — detailed logs for every operation
* **Automatic cleanup** — stale temporary files removed automatically after one hour
* **Manual cleanup** — on-demand maintenance from the admin interface
* **No account required** — install, activate, and use immediately

= How It Works =

1. Go to **Tools > Net-Migrate** in your WordPress admin
2. Click **Create Backup** — a full backup of your files and database begins immediately
3. Your backup appears in the list with options to **Download**, **Restore**, or **Delete**
4. To restore, click **Restore**, confirm, and watch the step-by-step progress. Net-Migrate handles everything.

= Upgrade to Net-Migrate Pro =

Net-Migrate Pro processes and restores in chunks that stay within server limits on any shared host — no risk of a failed restore leaving your site unavailable.

**[Net-Migrate Pro](https://netrep.uk/net-migrate)** adds:

* Chunked restore — processes large restores in steps that work within PHP limits on any shared host
* Import backup from external file (cross-site migration)
* In-dashboard automatic updates — no manual downloads
* Priority support
* Pro (2 sites) and Developer (20 sites) licences available

= Security =

* Backup directory protected from direct web access via `.htaccess` and directory index files
* Nonce verification on all operations
* Capability checks requiring administrator access
* Input sanitisation and output escaping throughout
* Directory traversal prevention
* Restore session tokens expire after one hour of inactivity
* Temporary restore directories protected from web access immediately on creation
* Backup integrity checksum verified before restore — corrupted backups are caught before your site is touched

= Requirements =

* WordPress 6.1 or higher
* PHP 8.0 or higher
* ZipArchive PHP extension (available on virtually all shared hosting)
* Sufficient disk space for backups

For full documentation and support, visit **[netrep.uk/net-migrate](https://netrep.uk/net-migrate)**.

= About Net-Migrate Pro =

Net-Migrate Pro is the commercial version of this plugin, sold directly at [netrep.uk/net-migrate](https://netrep.uk/net-migrate). It uses chunked processing to restore large sites reliably on any shared host, and adds external backup import and automatic in-dashboard updates. Licences are available per site or for multiple sites.

== Installation ==

= From the WordPress Plugin Directory (recommended) =

1. Log in to your WordPress admin panel
2. Go to **Plugins > Add New**
3. Search for **Net-Migrate**
4. Click **Install Now** then **Activate**
5. Go to **Tools > Net-Migrate** to create your first backup

= Manual Upload =

1. Download the plugin ZIP from WordPress.org
2. Go to **Plugins > Add New > Upload Plugin**
3. Choose the downloaded ZIP and click **Install Now**
4. Activate the plugin
5. Go to **Tools > Net-Migrate**

= Manual FTP =

1. Download and extract the plugin ZIP
2. Upload the `net-migrate` folder to `/wp-content/plugins/`
3. Activate the plugin through **Plugins** in your WordPress admin
4. Go to **Tools > Net-Migrate**

== Frequently Asked Questions ==

= Is this plugin really free? =

Yes. Create backups of any size, download backups of any size, and restore sites of any size — all free, with no account, no registration, and no time limit.

= Where are backups stored? =

Backups are stored in `wp-content/net-migrate-backups/` on your server. This directory is protected from direct web access. You can download backups from the admin interface for off-site storage.

= How large can my site be for the free version? =

You can back up, download, and restore a site of any size for free. [Net-Migrate Pro](https://netrep.uk/net-migrate) processes and restores in chunks that stay within server limits on any shared host — no risk of a failed restore leaving your site unavailable.

= Can I restore a backup from a different site or domain? =

Yes. Net-Migrate automatically detects when the backup was created on a different domain, prompts you to confirm URL replacement, and performs a safe search-and-replace across your entire database — including serialized data and JSON-encoded values. This makes cross-domain migration straightforward.

= Will restoring a backup overwrite my current backups? =

No. The backup directory is excluded from restore operations. Your backup library is preserved throughout.

= What happens if a restore fails? =

Net-Migrate automatically cleans up temporary files if a restore fails. Your original site files remain intact until a restore completes successfully — the plugin writes to a temporary location first.

= What is the integrity checksum? =

Every backup includes a SHA-256 checksum stored alongside the backup file. Before a restore begins, Net-Migrate verifies the backup file against this checksum. If the file is incomplete or has been corrupted in transit, the restore is cancelled before any changes are made to your site.

= Are my backups safe from direct web access? =

Yes. The backup directory includes `.htaccess` protection and `index.php` files to prevent directory listing and direct file access on both Apache and Nginx servers.

= What is excluded from backups? =

Individual files larger than 100MB are automatically excluded from backups to prevent timeouts on resource-limited hosting. Excluded files are logged. The backup directory itself is also excluded to prevent recursive backup archives.

= What does uninstalling the plugin remove? =

Temporary files, session files, and logs are removed on uninstall. Your backup files in `wp-content/net-migrate-backups/` are deliberately preserved to prevent accidental data loss. Delete that folder manually if you no longer need the backups.

= Is Net-Migrate compatible with my hosting provider? =

Net-Migrate works on any hosting environment that meets the requirements (WordPress 6.1+, PHP 8.0+, ZipArchive extension). It has been tested on shared hosting, VPS, and dedicated servers. The only common limitation is PHP execution time on very large sites — consult your host if backups time out.

= How is Net-Migrate Pro different from the free version? =

Net-Migrate Pro uses chunked processing to restore large sites reliably on any shared host, adds the ability to import backup files from external sources (for cross-site migration), and delivers automatic updates directly to your WordPress dashboard. Pro licenses are available at [netrep.uk/net-migrate](https://netrep.uk/net-migrate).

== Screenshots ==

1. Main admin interface — backup list with SHA-256 checksums and download, restore, and delete actions
2. Create backup — progress modal showing each step, from the disk-space check through to the finished archive
3. Restore — every stage tracked to completion, with confirmation when the restore finishes
4. Server environment check — reports the PHP execution time and memory limits detected on your host
