=== Sitemovr ===
Contributors: dawerdrew
Tags: migration, clone, backup, move, duplicate
Requires at least: 5.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Clone and migrate your WordPress site to another server. Package files and database in parts and reinstall on the destination with no data loss.

== Description ==

Sitemovr packages your entire WordPress site (files and database) into downloadable parts and reinstalls it on another server through a standalone installer, with no need to have WordPress pre-installed on the destination.

It is designed to be safe and stable even on shared hosting: all the heavy work (database dump, file compression, import) is done in batches, avoiding the execution time and memory errors that break other migrations.

= Features =

* Batched export of files and database (no memory or time exhaustion).
* Configurable part size (50 / 100 / 200 MB / 1 GB or custom) to match the destination upload limit.
* Configurable rows per batch for the database (500 / 1000 / 2000 or custom).
* SHA-256 checksums per part: integrity guaranteed after transfer.
* Package history: download the parts now or come back another day to continue.
* Standalone installer (single file) uploaded by FTP to the destination.
* Safe serialized search and replace: updates URLs and paths without corrupting widgets, theme or plugin settings.
* Configurable destination URL: migrate to another domain, not just another folder.
* Destination server compatibility check (PHP, MySQL, extensions, disk space, permissions).
* Deletion warning if the destination database already contains data.
* Auto-cleanup: the installer and package files are removed when finished.

= How it works =

1. On the SOURCE site, install Sitemovr and generate the package. Download its parts and the installer.php file.
2. Upload to the DESTINATION server (without WordPress) by FTP: installer.php, the parts and parts.json.
3. Open installer.php in the browser: it checks compatibility, asks for the new database, and migrates.

== Installation ==

1. Upload the `sitemovr` folder to `/wp-content/plugins/` or install it from the WordPress dashboard.
2. Activate it from the Plugins menu.
3. Go to the Sitemovr menu to generate your first migration package.

== Frequently Asked Questions ==

= Do I need WordPress installed on the destination server? =

No. The installer is standalone and creates everything (files, database and wp-config.php) from scratch.

= How do I upload the parts to the destination? =

By FTP. Upload installer.php, the parts and parts.json to the same folder on the destination server.

= Does it work with large sites? =

Yes. Everything is processed in batches. For multi-gigabyte sites, increase the part size and use a download manager (resume is supported).

= Does it break serialized data (widgets, theme settings)? =

No. Sitemovr uses a search and replace engine that unserializes, replaces and re-serializes recalculating lengths, so serialized data stays valid.

= Does it support Multisite? =

Not yet. This version targets single-site installations.

= Is it secure? =

Yes. The installer requires a password (brute-force protected with lockout), packages are stored in randomly-named folders with directory listing disabled, and the installer plus all package files are auto-removed when the migration finishes. On Nginx servers (where .htaccess is ignored), delete the package files after migrating or restrict the folder, since access protection there relies on the random folder names.

== Screenshots ==

1. Export tab: configure rows-per-batch, part size and installer password.
2. Site analysis: files, database size and compatibility checks.
3. Generated package: parts with SHA-256 checksums, ready to download.
4. Package history: download the parts now or come back later.
5. Standalone installer: password protection.
6. Installer: package detected and integrity verified.
7. Installer: destination compatibility check (PHP, extensions, disk, permissions).
8. Installer: destination database configuration.

== Changelog ==

= 1.0.1 =
* Internationalization: source strings are now in English (en_US) so the plugin can be translated into Spanish and other languages.

= 1.0.0 =
* Initial release: batched export, standalone installer, serialized search and replace, compatibility check and auto-cleanup.

== Upgrade Notice ==

= 1.0.0 =
First release of Sitemovr.
