Skip to content

Before you migrate: requirements and target folder scenarios

Who can use the self-service migration wizard, what you need from the new host, and what happens when the target folder is empty, already holds WordPress, or holds something else.

Self-service migration copies a backup of one of your sites to a new hosting account, checks the copy page by page, and completes the move once your domain points at the new server. Your current site is never written to: visitors keep using it until you change DNS.

What the migration does — and does not do

  • Copies the files and the database from the backup you choose to the folder you name on the new host, over SFTP or FTPS.
  • Rewrites site address and file paths inside the database (including serialized settings) when the site moves to a new domain or a new folder.
  • Checks the copy: after the transfer, ten pages are opened on the new server and compared with your current site.
  • Watches DNS and finishes on its own once the domain reaches the new server. From then on WP Safer manages the site on the new host.
  • Does not touch your current site. Nothing is deleted or changed on the old host; you close that account yourself when you are happy with the new one.
  • Does not move e-mail accounts, DNS zones, SSL certificates or anything outside the WordPress folder. Arrange those with the new host.

Who can use the self-service wizard

The wizard is included with annual Starter, Pro and Agency plans. If your plan is billed monthly or you are on the Free plan, the wizard shows "Migration is not available for this site right now" with two options: switch to annual billing, or order the concierge migration service, where our team moves the site for a fixed price.

Two more conditions apply to the site itself:

  • The site must be connected to WP Safer (the WP Safer plugin is installed and reporting). The wizard uses the site's backups, so a site that has never backed up cannot be migrated yet.
  • No restore may be running for the site. Wait for it to finish and open the wizard again.

What you need before you start

From the new host

  • SFTP or FTPS access: server host name or IP address, port (22 for SFTP, 21 for FTPS), user name and password. Plain, unencrypted FTP is not accepted. Enter the server address the host gives you, not your domain name — your domain still points at the old host.
  • The folder that will serve the site (the web root, often public_html or httpdocs). Leave it empty in the form to use the folder the login lands in.
  • PHP 7.4 or newer with the zip, pdo_mysql and curl extensions. Almost every host has these; the wizard checks and tells you if something is missing.
  • Free disk space of at least twice the size of your backup (the archive plus the extracted copy). Three times is comfortable, because the previous state of the folder is kept for 24 hours so the move can be undone.
  • For an empty folder only: an empty MySQL database created in the new host's panel, with its host, name, user and password.

From your side

  • A backup of the site in WP Safer. Any backup works — an incremental backup is resolved to its full chain automatically — but the freshest copy comes from a full backup taken right before you start. The wizard can take one for you.
  • Access to your domain's DNS (registrar, Cloudflare or the old host) for the last step. If the site moves to a new domain, you point that domain instead.
  • About 20 minutes at the keyboard. The copy itself runs in the background and takes from a few minutes to a few hours depending on the size of the site.

The target folder: three scenarios

When you test the connection, the wizard looks into the folder you entered and decides which of three situations it is in. Files that hosts leave behind by default — a placeholder index.html, cgi-bin, .htaccess, .well-known, log folders and similar — are ignored, so a fresh hosting account counts as empty.

A. WordPress is already installed

The folder holds a WordPress installation (a wp-config.php and the core files). This is what you get when the new host installed WordPress for you with a one-click installer. The wizard shows: "WordPress is already installed in this folder — it will be REPLACED entirely by your site".

  • The database connection is read from that site's wp-config.php. Only the tables with that installation's prefix are replaced; anything else in the same database is left alone.
  • The replaced files and tables are kept for 24 hours so the change can be undone if a check fails and you cancel.
  • Because a real site is being overwritten, the wizard shows the name and post count of what is in the folder and asks you to type that site's name before you can continue. If the name you see is not a throw-away site, stop and check the folder path.
  • If wp-config.php cannot be read automatically, the wizard asks you for the database details of that installation instead.

B. Empty folder

The folder has no site in it (or only the host's placeholder files). The wizard shows: "Empty folder — a fresh WordPress will be created".

  • Create an empty MySQL database on the new host first (hosting panel → Databases) and enter its host, name, user and password in the wizard. The connection is tested on the new server, so use the host name the panel shows for scripts running there (often localhost).
  • The wizard writes a new wp-config.php with those details and fresh security keys, then imports your site into the database.
  • Your current table prefix is kept. If the backup you chose is an older one without a manifest, the wizard asks you to type the prefix (it is the $table_prefix value in your current site's wp-config.php, usually wp_).

C. Folder with other files — not supported

The folder already holds files that are not a WordPress installation: another application, a static site, an old backup, or a half-removed install without wp-config.php and core files. The wizard refuses at the connection step, before anything is uploaded, with the message "The folder already holds files that are not a WordPress installation" and lists what it found.

You have three ways forward:

  1. Point the wizard at a different, empty folder (or a sub-folder created for the site) and test the connection again.
  2. Clean the folder on the new host yourself, then test again.
  3. Order the concierge migration: our team looks at the folder and moves the site by hand.

A related check protects you from one more mistake: if the folder turns out to be your current site itself (same site key), the wizard stops with "This folder holds your current site itself" — enter the new server, not the old one.

Special cases

  • WooCommerce. Orders, customers and stock changes made on the current site after the selected backup are not carried over. The wizard asks you to acknowledge this before starting and offers a Final sync right before you change DNS, which copies a fresh full backup. Consider pausing checkout during the switch.
  • Multisite networks are not supported by the wizard. The concierge service can move them.
  • Cloudflare or another CDN/proxy in front of the site. The move still works; in the last step you set the proxy's origin to the new server's IP. WP Safer detects the switch through the site itself, not by reading the A record.
  • New domain. Choose "New domain" in the wizard and enter the new address. Links and settings inside the site are rewritten to it, and the new site is added to your sites list next to the old one. The old domain keeps working on the old host until you decide otherwise.