Linux 软件免费装
Banner图

CodePoint Server-to-Server Migration

开发者 thecodepoint
更新时间 2026年8月28日 03:03
PHP版本: 7.4 及以上
WordPress版本: 7.0
版权: GPLv2 or later
版权网址: 版权信息

标签

migration clone transfer staging move site

下载

3.0.4

详情介绍:

CodePoint Server-to-Server Migration moves a WordPress site from one server to another with the destination driving the process. This matters when: All transfer happens server-to-server in short resumable chunks — nothing large ever passes through your own connection, and no single request runs long enough to hit a typical timeout. Features What it does not do

安装:

  1. Install and activate the plugin on BOTH sites.
  2. On the old site: Tools → CodePoint Migration → "I'm on the OLD site" → copy the connection key. Optionally list folders to skip.
  3. On the new site: "I'm on the NEW site" → paste the key → Connect. Review the comparison and any warnings.
  4. Start migration. You may pause, close the tab, and resume at any point.
  5. Finalize. If "Keep my login" is checked (default), you usually stay signed in; otherwise log in with the OLD site's username and password.
  6. After your domain points to the new site, use the "Change domain name" tab to replace the temporary address with the final domain, then go to Settings → Permalinks and click Save Changes.
  7. Deactivate and delete the plugin on both sites. Drop the rollback tables (your table prefix followed by cps2s_old_, e.g. wp_cps2s_old_options) once the site is confirmed healthy.

屏幕截图:

  • After connecting, a side-by-side comparison shows WordPress, PHP, and
  • Live progress during the copy — files transferred, current file, and a
  • The Finalize step, with a targeted reminder (Elementor-specific, or a
  • The Change domain name tab, with a DNS check and the exact sequence for

升级注意事项:

3.0.0 Renames the plugin's internal storage and pairing namespace. Update BOTH sites before migrating — a 3.0.0 site cannot connect to a 2.9.9 one. Finish or reset any migration already in progress first. 2.9.9 Recommended for anyone whose sites share a database with another WordPress install: staging and rollback tables are now kept separate per site. The switchover is also atomic, and abandoned migrations clean themselves up. 2.8.4 Mirror cleanup now removes orphan upload folders from a previous site as well. 2.8.3 Mirror cleanup now removes leftover plugin/theme folders and old work folders. 2.8.2 Fixes fatals during second migrations when active plugins (e.g. Rank Math) are overwritten mid-copy. Update on the destination before migrating again. 2.8.1 Important fix for second migrations failing with HTTP 500. Update on both sites before migrating again. 2.0.0 Security-hardened release with expiring signed keys and endpoint lockout. Keys issued by older versions are not compatible — regenerate after updating.

常见问题:

When do I change DNS, and does the plugin do it?

DNS changes happen at your domain registrar or hosting/DNS provider — no plugin can do them for you. Ask them to point your domain at the new website (the Change domain name tab shows this server's address if available), make sure a secure certificate (HTTPS / SSL) for the domain is installed on the new server, wait until the change has taken effect while the old site keeps serving visitors, and only then run the domain update. The button checks whether the domain currently points here and warns — without blocking — if it does not yet.

Why am I logged out after finalizing?

Finalizing switches in the old site's database, including its users. If your login could not be kept (same username already exists on the old site, or you unticked "Keep my login"), you need to sign in with the old site's admin username and password. That is normal.

The connection fails with HTTP 404

The old site's REST API is not reachable at /wp-json/. Enable pretty permalinks on the old site (Settings → Permalinks → anything except Plain) and confirm the plugin is active there.

The connection fails with HTTP 403

The key is wrong, expired (72-hour lifetime), or was invalidated by a completed migration. Copy a fresh key from the old site. After 10 failed attempts the old site locks the requesting server out for 15 minutes.

Can I run a second migration to the same site?

Yes. Connect again with a fresh key. Before files are copied, other plugins on the new site are temporarily turned off (and a default theme is used) so overwriting plugins like Rank Math cannot crash the migration mid-run. Before the new database is installed, the plugin also frees space from the previous previous rollback backup. Press Start over first if a previous attempt left the site mid-migration.

What happens to plugins or themes that were only on the new site?

They are not restored. Migrating makes this site match the OLD site's plugins, theme, and active-plugin list — it is a replacement, not a merge. If "Clean up leftovers" is checked (the default), anything this site had that the old site didn't is deleted during the copy. If you uncheck it, those files are left on disk but end up inactive, since the imported database's active-plugin list only knows about the old site's plugins. Either way, reinstall or reactivate anything you want to keep that wasn't on the old site.

Does this preserve database foreign key constraints?

No, by design. A small number of tables (some of WooCommerce's newer order-related tables are the confirmed case) use real foreign key constraints between tables, in addition to the relationships WordPress and its plugins already manage in PHP. Recreating those constraints exactly would require staging every table in dependency order instead of one at a time, and every row of data on both sides of the relationship is copied in full regardless — so the constraint itself is dropped during the copy rather than recreated. The data, and the relationships that data represents, are unaffected.

Can I roll back after finalizing?

Yes — your previous tables are preserved with an cps2s_old_ prefix inserted after your own table prefix (so wp_options is kept as wp_cps2s_old_options). Renaming them back (via phpMyAdmin or WP-CLI) restores the pre-migration database. Files are not backed up automatically; transferred files overwrite in place. The prefix includes your site's own table prefix so that installs sharing a database cannot overwrite each other's rollback copies.

Does it work behind Cloudflare or Wordfence?

Usually, but aggressive rate limiting can interrupt the chunked transfer. If you see repeated failures, allowlist the new server's IP address on the old site for the duration of the migration.

Does it migrate multisite?

No. Single-site to single-site only.

更新日志:

3.0.4 3.0.3 3.0.2 3.0.1 3.0.0 2.9.9 2.9.8 2.9.7 2.9.6 2.9.5 2.9.4 2.9.3 2.9.2 2.9.1 2.9.0 2.8.11 2.8.10 2.8.9 2.8.8 2.8.7 2.8.6 2.8.5 2.8.4 2.8.3 2.8.2 2.8.1 2.8.0