How to Migrate a Full Server to xCloud from Any Host (WordPress Sites)

Updated September 27, 2026 · 5 min read

With xCloud, you can move every WordPress site on a server to a fresh xCloud server in one run. Full server migration copies the files and databases of all the sites you select, in bulk, without touching each site individually, and without harming the source server or sites the way plugin-based migrations can.

This is the generic flow: it works with any host that gives you root SSH access to the server. There are dedicated guides for hosts that do not, and for other kinds of moves.

Which migration guide do I need?

You are moving Use this guide
Every WordPress site on a server at any host, and you have root SSH This page
Every WordPress site from one xCloud server to another Full server migration between xCloud servers
Every WordPress site from a Cloudways Flexible server (no root, Master Credentials) Migrate from Cloudways to xCloud
One WordPress site from Cloudways, or a Cloudways Autonomous site Migrate a WordPress website from Cloudways
Every WordPress site from a RunCloud server (NGINX or OpenLiteSpeed) Migrate from RunCloud to xCloud
Every WordPress site from a Ploi webserver (NGINX) Migrate from Ploi to xCloud
Every WordPress site from a SpinupWP server (NGINX) Migrate from SpinupWP to xCloud
Every WordPress site from a ServerAvatar server (NGINX or OpenLiteSpeed) Migrate from ServerAvatar to xCloud
Every WordPress site from a FlashPanel server (NGINX or OpenLiteSpeed) Migrate from FlashPanel to xCloud
Every WordPress site from a GridPane server (NGINX or OpenLiteSpeed) Migrate from GridPane to xCloud
One WordPress site from Rocket.net (managed host, no root SSH) Migrate from Rocket.net to xCloud
Everything on an EasyPanel server (Docker services, Traefik routing) Migrate from EasyPanel to xCloud, workload by workload
Sites from a cPanel host Migrate sites from cPanel to xCloud
One WordPress site from Hostinger (or any managed or shared host) Migrate from Hostinger to xCloud
One WordPress site, or a host with no root access Migrate an existing WordPress website in xCloud
An application from Railway or Render Railway · Render
One WordPress site from WP Engine Migrate from WP Engine to xCloud
One WordPress site from Kinsta Migrate from Kinsta to xCloud
A MySQL database to MariaDB Migrate a MySQL database with xCloud

Prerequisites

  1. Server configuration: the source server runs NGINX or OpenLiteSpeed.
  2. Operating system: the source runs Ubuntu 20.04, 22.04, 24.04 or 26.04 LTS x64.
  3. Root access: you can sign in to the source as root over SSH, by password or public key, on port 22. This is essential for the full server migration.
  4. Disable 2FA on the source if there is any.
  5. Disable additional security from your hosting end, such as SiteGround’s Security Optimizer.
  6. Uninstall the host’s must-use plugins.
  7. Clear caches and disable cache plugins such as Object Cache Pro.
  8. Disable Wordfence or any other security plugin.
  9. Provision a fresh server in xCloud as the destination. An existing xCloud server that already hosts sites is not used as the destination for this feature.
  10. Keep at least 1 GB of free storage on the destination beyond the total size of the sites.

New: migration from RunCloud OpenLiteSpeed servers is supported. See the RunCloud guide for the RunCloud-specific steps.

Let’s follow the step-by-step process.

Step 1: Add the source server’s connection details

In xCloud, open the destination server, choose New Site, then Migrate Full Server. Enter the source server’s IP address, the port (22) and the SSH username (root). Your cloud provider’s dashboard has the exact values.

If the source accepts password authentication, choose Password and enter the root password.

If the source relies on public-key authentication, add xCloud’s provided public key to the source server’s root account:

  • Copy the public key from xCloud’s full server migration screen.
  • Access your source server as root via SSH.
  • Paste the public key into the root account’s authorized keys.

After adding the public key on the source server, switch back to xCloud and click Next.

Expected result: xCloud connects to the source and lists the WordPress sites it found.

Step 2: Select the WordPress site or sites to migrate

Once connected, you will see the sites available for migration. Select the ones you want to move, then click Next.

If a site you expected is missing, check that it is a WordPress installation on this server and that its files and database are readable by root before continuing.

Step 3: Go Live or create a Demo Site

For each site, choose Demo Site to land it on an xCloud demo domain for testing, or Go Live to keep the production domain and point DNS at xCloud when ready. Toggle your preferred option and start the migration.

Note: make sure the destination server has at least 1 GB free beyond your total site sizes. Check Server Overview → Disk Usage first.

Your full server migration starts shortly. xCloud copies the files, dumps and imports each database, and updates URLs where the destination address differs. Time depends on the total size of the sites.

Step 4: Verify and go live

Test each demo site as a visitor and as an administrator: pages, media, forms, checkout, plugins, scheduled jobs and email. When a site checks out, point its domain at the xCloud server; see how to set up DNS records for an xCloud server or Cloudflare for DNS management. xCloud provisions SSL after DNS resolves; if it does not, follow enable HTTPS and configure SSL certificates.

Keep the source server unchanged until you are sure everything works on xCloud. For a full checklist with a write freeze, validation list, rollback and troubleshooting, the RunCloud and Cloudways guides apply to any source.

Frequently asked questions

Do I need root access to the source server?

Yes, for this generic flow. If your host does not give you root, use the site-by-site WordPress migration, or the provider-specific Cloudways flow, which works with Cloudways Master Credentials instead of root.

Which source servers are supported?

NGINX or OpenLiteSpeed on Ubuntu 20.04, 22.04, 24.04 or 26.04 LTS x64, with root SSH reachable on port 22. RunCloud OpenLiteSpeed servers are supported. Anything else goes through the site-by-site migration.

Does full server migration move non-WordPress applications?

No. It discovers and moves WordPress sites. Move other applications separately with the workflow for that application, such as the Git or Docker Compose deployment guides.

Should I choose Go Live or Demo Site?

Demo Site for the first run. It creates each site on an xCloud demo domain so you can test before the production domain moves. Choose Go Live only when you are ready to point DNS at xCloud straight after the copy.

Our team will help you perform a full server migration from any server you have root access to. Please reach out to our support team or request migration support for any assistance.