| 开发者 | qaziwebsitewala |
|---|---|
| 更新时间 | 2026年10月6日 22:59 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
manage_options capability.*.log or */node_modules).swiftmigrate folder to /wp-content/plugins/ and activate it on the Plugins screen.On the new site (the destination): generate the migration key there. Then paste the key on the old site (the source) and start the migration from the old site.
Yes. When you restore, the destination's database, themes, plugins and media are replaced by the incoming site. wp-config.php and .htaccess are kept. With "Keep a rollback copy" enabled (the default), you can undo the switch with one click.
The ones from the old site. The destination now contains the old site's database, including its users.
In a private folder inside your uploads directory: uploads/swiftmigrate/data-<random>. The location is determined with wp_upload_dir(), and the folder has a random, unguessable name plus index.php, .htaccess and web.config rules that deny web access. Received files are kept there under hashed names with a .bin extension until the restore moves them into place, so nothing received can be executed from that folder. It is removed when you delete the plugin.
Yes. Over HTTPS, TLS encrypts it. If the destination does not use HTTPS, or you turned off certificate verification, SwiftMigrate encrypts every request and response end-to-end with the migration key (XChaCha20-Poly1305). Using HTTPS on the destination is still recommended.
A security plugin or the host's firewall is probably blocking the REST API or binary uploads on the destination. Try these in order:
/wp-json/swiftmigrate/v1/transfer in your security plugin on the destination. SwiftMigrate authenticates these requests itself with the migration key's signature.Lower "Parallel streams" and "Maximum request size" in Settings on the source site.
Disable "Verify SSL certificates" in Settings on the source site. Only do this if you trust the network between both servers.
Yes. Progress is saved on the server. Open SwiftMigrate → Send this site again and click Resume.
Yes. The site URL and server paths are rewritten during the restore, including inside serialized, JSON-escaped and URL-encoded data, so page builder and plugin settings keep working. A different table prefix on the destination is handled automatically. You can add extra find-and-replace pairs (for example an old CDN address) before you start.
Yes. On the Send screen you choose whether to include the database, media, themes, plugins, WordPress core and other root files. In Settings you can also skip post revisions, transients, spam and trashed comments, specific database tables, and files or folders that match your own rules.
Failed requests are retried automatically. Every chunk carries a SHA-1 checksum that the destination checks on arrival, and after the transfer the destination confirms every chunk. Anything missing or damaged is sent again before the restore button becomes available.
No. Both sites must be single-site WordPress installs.
Deleting the plugin removes its settings, the uploads/swiftmigrate folder and any leftover staging or rollback tables. The migrated site itself is not touched.
wp_upload_dir()).