How to transfer your WordPress website

This guide applies specifically to WordPress and web hosting companies using Installatron, like us. That said, most of the steps can be used to import websites using other content management systems like Drupal, Modx, and Joomla.

If you’re migrating a non-app based website or can’t get these instructions to work (possibly due to remote host issues like low disk space), here’s how to do a manual website transfer. You can also use that article to learn how to migrate your email.

Our 1-click web apps utility is really smart! It will automatically package up the database and files, copy them to your account with us, create the new database and even make changes to the database configuration if you’re changing domains in the process. It’s pretty great!

Preparation

Things you will need to proceed:

  • A Domain in Plesk: The domain must be added to Plesk if it doesn’t already exist there. If the destination is your primary domain hosted with us, it will already be there, but if you’re setting up an add-on domain, then you’ll need to login to Plesk and choose “Add Domain” to set it up for hosting.
  • FTP Credentials:  You will require FTP (or SSH/SFTP) credentials to access your former hosting company, including 1) the hostname (often ftp.yourdomain.com) or IP address of the source web server, 2) the username and password, and 3) The ‘path’ or web root to your WordPress files at the old host. If you have trouble with this, you’ll find tips on how to find your FTP path under the Troubleshooting section at the bottom of this article.
  • Empty Destination: It’s best to clear out the web root folder at the destination (your Websavers account). For example if you chose to preinstall WordPress during your order, or had already installed WordPress or another app, be sure to remove it now, otherwise it will tell you that it can’t migrate the site because there’s one already there. It’s also best to remove the index.html file, though the import utility should automatically rename it for you.
  • Security Systems: You should disable any security plugins (like WordFence or Sucuri) as well as admin folder changing plugins in WordPress. These kinds of plugins can interfere with the migration process. Feel free to re-enable them after the migration is completed, but note that our shared servers all come with lower-level bruteforce login blocking for WordPress, so you  may not require that level of security. See our guide on securing WordPress for the things you *should* do. If your security plugin created a file called .user.ini in the web root, then this will very likely interefere with the migration and you should rename it to user.ini (remove the leading dot character) prior to migration.
 If you are familiar with FTP, it’s recommended to log in to your source host with your favourite FTP application to test that the connection works (ie: that the username and password are accurate) and to make it easier to figure out what your ‘path’ value should be (more details on finding the correct path to enter can be found in the troubleshooting section below).

Let’s get started!

  1. Log in to Plesk 
  2. Choose 1-click web apps. If you are not hosting with us, you must find your own way to the Installatron (1-click web apps) utility.
  3. If you already have at least one application installed, you’ll need to choose the “Application Browser” tab in the upper right corner. If not, then you should already be there!
  4. Scroll down until you see WordPress (or use the search box in the upper right corner) and click on it.
  5. You’ll see a button in the upper right that says “Install this application”. Do not click this button, and instead click the downward pointing arrow that’s on the far right side of the button to get additional options. Choose “Import Existing Install”
  6. Under the “From different account” part of the page, click the Continue button
  7. Provide the necessary details to begin the transfer.
    1. The Source URL is simply the URL to the website you’ll be transferring. Visit the site in your browser, then copy/paste the URL from the address bar into this box.
    2. Protocol: we recommend choosing the “FTP with TLS/SSL” option as it’s the simplest to use and is the type of connection that is most commonly accepted by hosting providers. If it does not work, then you may need to use regular insecure FTP. If you choose to use SFTP or SSH, be sure to check out the troubleshooting section below on this topic
    3. Be sure to supply the correct FTP connectivity details from your former host. If you’re not sure what to enter for the path, information on how to find the path can be found in our troubleshooting section below.
    4. Choose the domain to which you’ll be importing WordPress.
    5. You’ll likely want to keep the “Directory” field empty unless you are planning on having your website visible at yoururl.com/directory and not just yoururl.com
  8. Click Import

Installatron will now complete the import of your external WordPress installation into your account on your new web hosting provider.

Troubleshooting

I get a Compression Failed error

This occurs when there are very large files on the source server. So far, in our tests, every occasion for this error arises because of a backup utility being used within WordPress (a plugin like Backup Buddy). To resolve this, it is recommended to download a copy of those backups to your computer, then remove them from the server either by manually removing them via FTP or by using the WordPress admin panel.

Once the large files have been removed, you can complete the steps above once again to successfully complete your transfer.

 An advanced alternative to removing the larger files is to increase the PHP max execution time on the old host. This is often not possible without admin intervention, so it’s considered an advanced solution. We cannot support this, only your old host can, so if you’re unable to easily make such a change, it’s strongly recommended to simply remove the larger files rather than attempting to change this value.

I get a path error, directory error, or unable to find WordPress error when using FTP or FTP with TLS/SSL mode

This occurs when the path is not set correctly. When searching for the path, you’ll know you’ve found it when the files and folders within begin with “wp-“. For example, you should see a wp-config.php file and folders wp-admin and wp-includes — this will be the WordPress folder.

  • If you are creating a new FTP account at the source host, you can make things easier by configuring the FTP user’s home path to be the folder where your WordPress install is located. If your source host has a file manager tool, use it to navigate your way to the WordPress installation.  Then when creating the FTP account, set the home folder to the folder where WordPress is installed. In doing this, you will be able to simply leave the path field empty (or delete its contents, if any exist) during the migration because the FTP user will default to the correct path immediately upon login.
  • If you have an FTP application on your computer, it’s recommended to try logging in with that prior to starting the migration. If, immediately after logging in, you’re greeted with the files to the WordPress install you wish to migrate, then you can set the path folder to be empty during migration. If you have to open up a folder (or two) to find your WordPress files, make note of the folders you have to navigate to get there, and that will be your path. For example if you have to open public_html followed by mydomain.com, then your path is: public_html/mydomain.com whereas if you only have to open up the folder mydomain.com, then your path is simply: mydomain.com

I get a path error, directory error, or unable to find WordPress error when using SSH or SFTP mode

SSH and SFTP transfer methods can be a bit tricky to get right. There’s commonly two reasons why you might have trouble with SSH transfer mode:

  1. The firewall may be blocking port 22 outbound, in which case you’ll need to get this port opened to proceed. This is why we recommend using FTP with TLS mode.
  2. Installatron requires an absolute path to the web root for the transfer to be successful. As an example, if your remote path currently seems to be public_html and it’s not working, try using an FTP app to find the absolute path from root, which should look something like this: /home/{your_ftp_username}/public_html. If your former web host is using Plesk, and the web root is httpdocs. the absolute path is probably /var/www/vhosts/{your_domain}/httpdocs

I get authentication or connection errors after confirming the user/pass works using an FTP app on my computer

This likely means that the source server only supports PASV/Passive mode connections and our firewall is blocking the necessary outbound ports to allow that to happen. To fix this, we’ll need to temporarily whitelist the IP address of the source server:

  • If you’re using Plesk Firewall (like on a VPS), you can do this from within Plesk under Tools & Settings > Firewall.
  • If you’re hosted on a shared server, open a ticket and provide us with the IP or hostname you’re connecting to so that we can whitelist it in csf (our firewall). Be absolutely sure that you can connect with that username and password using an FTP app on your computer before opening a ticket about this.

Jordan is a computer, security, and network systems expert and a lover of all things web and tech. Jordan consults with project management for software companies. Jordan is a founder and managing partner at Websavers Inc.