Right then, I've done a proper unscientific test and the results are embarrassing for plugin devs everywhere.
Setup: WordPress 6.5 on a Hostinger shared plan (2 CPU, 2GB RAM, don't laugh) — https://www.hostinger.com. Source site is 12GB with 80k media files. Destination is identical spec on same network.
Method A: All-in-One WP Migration plugin, "file" export, default settings. Ran on source server.
Method B: my old script: mysqldump, tar the wp-content, scp to destination, extract, sed the URLs, import DB. Ran from my local box.
Results:
- Plugin: 4 hours 17 minutes. Source site threw 502s after hour two. Had to bump PHP timeout twice.
- SCP workflow: 23 minutes. No downtime on source.
The plugin was CPU-throttled by Hostinger's LVE limits within ten minutes. My local script doesn't touch source CPU quotas. This seems obvious in hindsight, but I keep seeing "just use a plugin" in every migration thread.
Cheers lads, ready for the methodology complaints