How to transfer or migrate your WordPress website (also MODX, Drupal, Joomla)

migrate wordpress to websavers

This guide is written for WordPress and web hosting companies using Installatron (like us), however the steps below can be used to import, transfer, or migrate any website using nearly any content management system (CMS) or web app like Drupal, MODX, and Joomla. When you see “WordPress” in this guide, you should be able to simply swap that out for the web app you’re migrating.

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), steps describing how to do a manual website transfer can be found in our general migration guide. You can also use that article to learn how to migrate your email; this guide covers only a web-app based website.

Our 1-click web apps utility – powered by Installatron – is really smart! It will automatically package up the database and files, copy them to your account with us, create the new database and if you’re changing domains it’ll even make necessary changes to the database configuration. This is why we recommend using it to handle the migration of any website that utilizes a database, like WordPress.

Domain Set up

Is this your first/primary domain?: Please ensure there are no existing apps installed. If you chose to pre-install WordPress during your order, or had already installed WordPress or another app, be sure to remove it now by finding the app in 1-click web apps (within Plesk) and clicking the X button beside it.

Is this a secondary/add-on domain or subdomain?: If you’re setting up an additional domain (called add-on domain) or a sub-domain, then you’ll need to login to Plesk and choose “Add Domain” or “Add Subdomain” to have Plesk set up its hosting and create its web root folder. Please ensure there are no existing apps installed there.

Avoiding migration issues

It’s best to disable any security plugins (like WordFence or Sucuri) prior to migration. Do the same for any admin folder changing plugins. You may re-enable them after the migration is completed, but since our shared servers all come with lower-level bruteforce login blocking for WordPress, so you likely do not require a security plugin any longer.

If the website you’re migrating is coming from one of the hosts listed below, click on its name to learn how to avoid common migration issues.

Bluehost

Bluehost security systems block the Installatron migration utility from functioning. To ensure this process works, before proceeding with the steps below, you must contact BlueHost and ask them to disable ModSecurity for your site. Once disabled, the migration should proceed smoothly.

MediaTemple

Netfirms

How to migrate a WordPress site using WordPress login details

If this process fails or you’re not using WordPress, try the FTP method instructions below. If you’re migrating from and to a Websavers server (or any server using Imunify360) please ensure you’ve disabled the necessary security rules at the source. This is described in the section above entitled “Avoiding migration issues at specific hosts”

  1. Log in to Plesk
  2. Choose 1-click web apps or Installatron.
  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. If you see a button on the right that says “Import Existing Install”, click it. If not, you’ll see a button that says “Install this application” with a downward pointing arrow on its right side. Click the down arrow, then choose “Import Existing Install”.
  6. Under the “From different account” part of the page, click the Continue button.
  7. Migration Settings (anything not described here should be left at its default value):
    • Source URL: is 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.
    • Protocol: WordPress
    • Username: enter the WordPress admin username you use to login
    • Password: enter the WordPress admin user password
    • Destination: Choose the domain to which you’ll be migrating your website.
    • Directory: You’ll likely want to keep the directory field blank unless you are planning on having your website visible at a subdirectory like this: yoururl.com/directory and not just yoururl.com.
  8. Click Import

Congrats, you’re done! If you encountered any errors or problems, see the troubleshooting section below to learn how to fix the most common issues with migrations.

If you needed to deactivate security rules at the source host, please reactivate them now for optimal security.

Want more to do? See our guide on securing WordPress for the best next steps to keep WordPress secure on Websavers hosting.

How to migrate a website using FTP

You will require FTP (or SSH/SFTP) credentials to access your former hosting company, including:

  1. Server hostname or IP: often ftp.yourdomain.com or you can use IP address or hostname of the source web server. If the source host uses cPanel this is ususally shown at the top of the dashboard.
  2. The username and password
  3. The ‘path’ or web root to the WordPress files at the old host.

How to create a new FTP account

If you can, it’s much simpler to create a new FTP account at the source host, than it is to try to use an existing account. When you create the FTP account, you’ll be provided the option to select the FTP User/Account Home Path. Be sure to set this path to the web root folder: the folder where WordPress is installed for this website.

How to determine the FTP web root path

If your source host has a file manager tool, open it, then navigate your way to where WordPress is installed, making note of the folders you opened to get there. When you see files and folders that begin with “wp-“, like the wp-config.php file and folders wp-admin and wp-includes, this will be the folder where WordPress is installed.

The folders you opened to reach those WordPress files will be your web root path and will look something like this: /folder1/folder2/folder3. Therefore, when creating the FTP account, set the home folder to this path.

Here are some common examples of web root paths:

  • Hostinger
    • When the FTP username has the domain name in it: /public_html
    • When the FTP username does not have the domain name in it (it’s the root user): /domains/{your_domain}/public_html
  • MediaTemple: /home/domain/{your_domain}/html
  • MODX Cloud: only provides SSH access, use path: www or if that fails try /www The server hostname, username, and password can all be found under the “SSH/SFTP Connection Information” in your MODX Cloud panel.
  • Hosts that use Plesk Panel:
    • When it’s the primary domain: /httpdocs
    • When it’s an addon domain: /{your_domain}
  • Hosts that use cPanel:
    • When it’s the primary domain: /public_html
    • When it’s an addon domain: /public_html/{your_domain}
    • Note: sometimes addon domains are /{your_domain} – we don’t know why it differs sometimes and not others.

No home path option when creating FTP account, or using Hostinger? If your host doesn’t have the ability to set the home path for your FTP or SFTP user, or if the host is Hostinger, enter this path when initiating the migration within 1-click web apps instead.

Switching to an SSH/SFTP connection? The web root path may be different for an SSH connection, so if you decide to try the SSH type migration, the path you found here might not work. See Troubleshooting below for details on this.

Use an FTP app to test a login?

If you have an FTP app on your computer, you can verify you have the right details by logging in to the source host to test that the connection works. This also makes it a bit easier to figure out what your ‘path’ value should be.

Initiate FTP Migration from Destination

  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. If you see a button on the right that says “Import Existing Install”, click it. If not, you’ll see a button that says “Install this application” with a downward pointing arrow on its right side — click the down arrow, then choose “Import Existing Install”.
  6. Under the “From different account” part of the page, click the Continue button.
  7. Migration Settings (anything not described here should be left at its default value):
    • Source URL: is 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.
    • Protocol: Choose the “FTP with TLS/SSL” option as it’s secure and it is the type of connection that is most commonly accepted by hosting providers. If it does not work, then you will need to use regular insecure FTP. If you instead opt to use SFTP or SSH, be sure to check out the troubleshooting section below on this topic
    • FTP Server or IP: either try ftp.{domain} or use the server host name or IP as found in the source host’s control panel.
    • Username + Password: Be sure to supply the correct FTP connectivity details from your source hosting provider.
    • Path: If you were able to configure the FTP Home path to your WordPress install using the instructions above, then you must leave this value blank. If you were not able to specify an FTP Home path, use this field to enter the path you found using the instructions above.
    • Destination: Choose the domain to which you’ll be migrating your website.
    • Directory: You’ll likely want to keep the directory field blank unless you are planning on having your website visible at a subdirectory like this: yoururl.com/directory and not just yoururl.com.
  8. Click Import

1-click web apps will now complete the import of your external WordPress installation into your account on your new web hosting provider.

Congrats, you’re done! If you encountered any errors or problems, see the troubleshooting section below to learn how to fix the most common issues with migrations.

Want more to do? See our guide on securing WordPress for the best next steps to keep WordPress secure on Websavers hosting.

Troubleshooting

The Migration Assistant plugin could not be installed automatically

WooCommerce Product Options by Barn2 data missing

Path error, directory error, or unable to find WordPress error (and how to find your web root path)

This is the issue if Installatron says “A test of the selected domain has failed (HTTP error 404).” And then at the bottom of the error it says something like “Technical Error: [1] Written file: /web_root_path/deleteme.random.php‘ not accessible at `http://{domain}/deleteme.random.php’.

If it doesn’t say HTTP error 404, the path might not be the issue. Different error codes like 403 or 416 typically mean the source host’s firewall is blocking the migration.

IF USING FTP OR FTP WITH TLS

Double check that you configured the FTP user/account home folder to match the web root path for the website. If you have, then the solution should be to simply leave the path field blank (remove its contents) when entering the import details in 1-click web apps.

Try logging in with an FTP app on your computer. If, immediately after logging in, you see the standard WordPress files (ex: wp-config.php), then you can set the path folder to be empty in 1-click web apps. If you host multiple websites, make sure it’s also the path to the *correct* WordPress website! 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 the path to enter in 1-click web apps. 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

IF 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 or SFTP 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 one reason why we recommend using FTP with TLS mode.
  2. 1-click web apps 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

Compression Failed Error

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

Posted in ,

Jordan Schelew

Jordan has been working with computers, security, and network systems since the 90s and is a managing partner at Websavers Inc. As a founder of the company, he's been in the web tech space for over 15 years.
WS-Logo-only-image-large

About Websavers

Websavers provides web services like Canadian WordPress Hosting and VPS Hosting to customers all over the globe, from hometown Halifax, CA to Auckland, NZ.

If this article helped you, our web services surely will as well! We might just be the perfect fit for you.

Leave a Comment