All manual sections

DocumentationMigration from a WordPress site

Migration from a WordPress site

With Migration › From a WordPress site you bring onto this server a WordPress site from any host (SiteGround, Hostinger, Bluehost, GoDaddy, OVH…), even without SSH access and without downloading backups: all it takes is the site address and the user and password of a WordPress administrator, the ones you use to sign in to wp-admin.

How it works

  1. Enter address, user and password (administrators and resellers also choose the account to import into).
  2. The panel signs in to wp-admin, installs a temporary plugin (“KoaPanel Migration”) and hands it a key valid for 12 hours: the plugin answers only to this panel, with signed requests.
  3. The panel reads the site (WordPress and PHP versions, files, database tables) and shows you what it found and the space needed.
  4. Choose the domain on this server (usually the same; you can also change it) and the PHP version.
  5. The panel copies the files in batches and the database table by table, creates the site with a new database and a new password, rewrites wp-config.php, checks that the site answers and adds it to the WordPress section.
  6. At the end it deletes the plugin from the old site. The old site stays as it was and keeps working: you switch the DNS yourself when you're ready.

If you change domain, the addresses of the old domain are replaced with the new one in the whole database (plugin data included) and in WP_HOME / WP_SITEURL if they are written in wp-config.php. If the old host used an object cache (Redis or Memcached, object-cache.php file), it is turned off because that service is not here: turn it back on from WordPress › Cache, with the site's private Redis.

Password and security

The password stays only in the panel's memory for the time of the migration: it is never written to disk, to the logs or to the activity log. The temporary plugin works only with the panel's key, which expires after 12 hours; if for any reason it stays on the old site, it stops answering and deletes itself a day later. Users and resellers can migrate only sites reachable on the Internet; connection attempts are limited (10 every 10 minutes per person).

When the panel stops and asks you something

The guided migration does not get stuck: when it cannot go on by itself it tells you what happened and what to do, and starts again from the same point when you press Try again.

What you see What to do
User or password not accepted Try to sign in to wp-admin from the browser with the same details; if they don't work, reset the password with “Lost your password?”. You can use the username or the email.
WordPress asks for a verification code The site has two-step sign-in: enter the code of the authenticator app (or received by email/text message). App codes change every 30 seconds.
The sign-in page cannot be found The site uses a custom sign-in address (a plugin that hides it, or a security plugin): enter the address you usually use to sign in to wp-admin.
The sign-in page has a captcha Turn off the captcha on the sign-in page for a few minutes and turn it back on afterwards, or install the migration plugin yourself.
Too many attempts: sign-in is blocked Wait the time the security plugin says or unblock this server's IP, then try again.
The old host's firewall blocks the panel Cloudflare or the host's firewall asks for a browser check: turn off the anti-bot protection for a few minutes, or allow this server's IP; or use the SSH migration.
This user cannot install plugins Use a user with the Administrator role (wp-admin › Users).
Plugin installation is turned off / WordPress asks for FTP details / The upload of the plugin was refused Install the migration plugin yourself (see below).
The plugin did not activate Activate it from wp-admin › Plugins and press Try again. PHP 7.0 at least is needed on the old host.
The old site blocks the plugin A security plugin or the host's firewall blocks admin-ajax.php: allow this server's IP or put the firewall in learning mode for a few minutes.
WordPress multisite Not supported yet: use the SSH migration or a backup file.

Installing the plugin yourself

If the panel cannot install the plugin by itself, press I'd rather install the migration plugin myself (also from the start, without giving the password):

  1. download koapanel-migration.zip from the panel;
  2. on the old site: wp-admin › Plugins › Add New › Upload Plugin, then Activate (or extract the zip into wp-content/plugins with the host's file manager or FTP and activate it from Plugins);
  3. open Tools › KoaPanel Migration and paste the code that starts with KPM1-;
  4. come back to the panel and press I pasted the code.

Limits

  • One site at a time, single WordPress (not multisite), up to 20 GB and 500,000 files: for bigger sites use the SSH migration or a backup file.
  • The files of the WordPress folder and the tables of its database are copied (not views); cache folders and backup folders of other plugins (for example wp-content/cache, ai1wm-backups, updraft) are skipped.
  • Mailboxes, DNS and scheduled tasks of the old host are not copied: for mail see Mail.