A powerful CLI tool that works on any shared hosting. Transfer files, databases, and handle URL replacements — all via FTP/SFTP.
$ curl -fsSL https://wp-migrate.dev/install.sh | bash
Most migration tools need shell access that shared hosting doesn't provide.
Plugin-based solutions require working WordPress installations on both ends.
Downloading, uploading, and SQL editing is tedious and error-prone.
Simple find-replace destroys WordPress serialized arrays in the database.
No SSH or special server access required. Just your FTP credentials.
Works even when destination is empty. Perfect for fresh hosting setups.
Automated file transfer, database export/import, and URL replacement.
Properly handles serialized PHP data, keeping your settings intact.
Create a YAML config with your FTP credentials and destination URL, or use the interactive wizard.
Execute wp-migrate and watch as files, database, and URLs are automatically transferred.
Test your migrated site before DNS cutover using the built-in verification tools.
Random agent names, token authentication, 1-hour auto-expiry, and self-cleaning temporary files.
Excludes cache directories, .git folders, and generates fresh wp-config.php with your new credentials.
Verify your migration works before switching DNS using server_ip configuration.
Interactive wizard for beginners, YAML configuration for automation and scripting.
Full export/import with proper handling of serialized data and URL replacement.
Exponential backoff for unreliable connections. Robust error recovery built in.
Start with 3 free migrations. No credit card required.
Any shared hosting with FTP, FTPS, or SFTP access. No SSH required. Works with GoDaddy, Bluehost, SiteGround, Hostinger, Namecheap, and virtually any hosting provider.
Those plugins require WordPress admin access on both sites. WP-Migrate works from your terminal and can migrate to completely empty servers — no WordPress installation needed on the destination.
WP-CLI requires SSH access, which most shared hosting doesn't provide. WP-Migrate uses a temporary PHP agent uploaded via FTP instead, giving you similar power without needing shell access.
We properly unserialize PHP arrays, replace URLs, then reserialize with correct string lengths. This preserves theme settings, widget configurations, and plugin data that would break with simple find-replace.
Yes. The PHP agent uses a randomized filename, requires token authentication, auto-expires after 1 hour, and self-deletes on cleanup. We recommend SFTP for encrypted transfers.
Currently, WP-Migrate supports single-site WordPress installations. Multisite support is on our roadmap for a future release.
You'll need to purchase a license to continue. Your migration history is stored locally, and existing migrations aren't affected. It's a one-time purchase — no subscription.
Yes! Run wp-migrate deactivate on the old machine, then wp-migrate activate YOUR-KEY on the new one. Single licenses allow 2 activations, Agency licenses are unlimited.
Get started with 3 free migrations. No credit card required.
$ curl -fsSL https://wp-migrate.dev/install.sh | bash
Works on macOS · Linux · Windows