Steps to migrate sites from another server/host to BP.
- Install new site on BP – from your server page
- Copy over the files – using SFTP or SSH.
- Import database – using phpMyAdmin on BP. Delete existing tables and then import tables from your backup.
- Update htaccess/wp-config as needed – paying attention to the new database credentials and also database table prefix.
Or sure, you can skip this manual method and simply restore using backup plugin. That works, too.
Common issues:
- Reset file permissions (Site settings > Tools) – you should always do this after migrating sites.
- Update lines in server config files
.htaccess
,.php.ini
,.user.ini
– especially important if you have outdated directory paths for WordFence or other apps. It’s usually easier to just delete php.ini and user.ini, and then update your htaccess. I’ve noticed that renaming php.ini and user.ini might still not work, you have to delete them if you don’t want them to affect your site. - Restart OpenLiteSpeed – after any changes to
.htaccess
or other server configuration files (likephp.ini
anduser.ini
). - WordFence – this plugin often adds files to your site that make it not function in the new host. It’s recommended to deactivate this plugin before migration, then re-activate after migration.
- Database import issues – can’t import database because of weird errors or timeouts? Try exporting in compressed format. When you export, pick “Custom” then scroll down to the compression dropdown and pick TAR GZ. Might also help to select all tables and from drop-down at the very bottom, try OPTIMIZE then REPAIR then ANALYZE.
Tips for migrating with (almost) ZERO downtime:
- At least 1 or 2 days before the migration, change the DNS records TTL for the
domain.com
andwww
records to as low as possible (5 mins or less). - Install new WP site on new server (BP).
- Copy files from old server to new server. Overwrite the new BP site files, but take note of the DB name/user/pass…and copy that into the restored wp-config.php.
- Copy database from old server to new server. If you’re handy with CLI, use the mysql shell. If you’re not a Linux pro…then change the IP on your local computer “hosts” file to point your domain to the new server. Then load up phpMyAdmin from your BP server and import the new database.
- Then switch your DNS records (domain & www) to the new IP.
- Generate SSL and you’re done!
If you have a busy site with lots of dynamic activity, you should wait until off-hours and even take the site down with a “maintenance” message so no one can buy or add content/comments, etc.