migrate wordpress to websavers

This guide applies to WordPress and web hosting companies using Installatron, like us. That said, most of the steps below 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), 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 even make necessary changes to the database configuration if you’re changing domains in the process. It’s pretty great!

Avoid Known Problems

If the source host is BlueHost

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

If the source host is MediaTemple

They use a custom wp-config.php where the database server name is an environment variable:$_ENV{'DATABASE_SERVER'}. This variable cannot be detected properly by our migration utility.

To prepare for this, use the MediaTemple File Manager and, in the web root (typically /home/domain/{domain}/html), create a file called dbserver.php and put within it: <?php echo $_ENV{'DATABASE_SERVER'}; ?> then use your browser to visit http://{domain}/dbserver.php. In the file manager edit wp-config.php and replace $_ENV{'DATABASE_SERVER'} with the value you saw in the browser wrapped in single quotes. The line should look similar to this: define('DB_HOST', 'internal-db.sXXXXXX.gridserver.com'); You can now safely proceed with the migration.

Security Systems

It’s best to disable any security plugins (like WordFence or Sucuri) prior to migration. Do the same for any admin folder changing plugins. 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 from a plugin.

If your security plugin created a file called .user.ini in the web root, then this will very likely interfere with the migration and you should rename it to user.ini (remove the leading dot character) prior to migration.

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?: If you’re setting up an additional domain (called add-on domain), then you’ll need to login to Plesk and choose “Add Domain” to set up its hosting and define its web root folder. Please ensure there are no existing apps installed there.

FTP Credentials

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

  1. FTP 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.

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.

To determine the web root folder location: 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:

  • MediaTemple: /home/domain/{your_domain}/html
  • Hosts that use Plesk Panel: /httpdocs
  • Hosts that use cPanel: /public_html/{your_domain}

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. 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. 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. Provide the necessary details to begin the transfer. Anything not described here should be left at its default value.
    • 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.
    • Protocol: we recommend choosing the “FTP with TLS/SSL” option as it’s the simplest to use, it is 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: enter the path you found using the instructions above.
    • Choose the domain to which you’ll be importing WordPress.
    • You’ll likely want to keep the “Directory” field empty unless you are planning on having your website visible at a subdirectory liek this: 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.

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

I get a Compression Failed error

This occurs when there are large files on the source server and the source server’s max execution time is low (like 30 seconds or less) or when there isn’t enough space on the source server to create the necessary backup files to transfer the site.

It is recommended to proceed through these solutions in order, one at a time, then attempt the transfer after each, as any one of the solutions could resolve the problem for you. They are listed in order of most likely solution to least likely solution to resolve the problem:

Solution 1: Remove Large Backups. Larger files (typically > 500MB) will create problems for our migration utility. Please delete any backups found within backup plugins like BackupBuddy, All In One Migration, etc. unless their combined size is less than 50MB. If you need the backups, download them to your computer before removing them. This is just one reason why we don’t recommend using plugins to backup your site.

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

Solution 2: Free Up Space. This error will also occur (less frequently) if your source host is out of disk space. You must have sufficient disk space on your source hosting account to create a copy / backup of your site files. If you do not, you will need to ask your host to increase the storage temporarily or remove some files before proceeding. Alternatively you can migrate your site manually.

Solution 3: Change PHP Settings. increase the PHP max execution time on the old host. If the source host is using Plesk, navigate to the PHP Settings button for the domain and change the values to the list below. If the source host is using cPanel, go to the “PHP Selector” button (hopefully your host allows this), then either choose the link on the far right to configure the PHP Settings, OR you may instead be presented with the option to create a custom PHP INI — do this. Once changed to the values shown below, don’t forget to use the button at the bottom of the page to save your changes.

  • max_execution_time = 600
  • memory_limit = 256M,
  • post_max_size – 64M

If you don’t have an option within the control panel, you could try adding the three lines above to a .user.ini file in the root OR a php5.ini file (either existing, or create a new one via FTP or file manager). See GoDaddy’s PHP config here.

If the host is using php as an apache module (this is unlikely unless your host uses very old systems), you can add the above directives in the following format to the root .htaccess file (use the file manager):

php_admin_value max_execution_time 600
php_admin_value memory_limit 256M
php_admin_value post_max_size 64M

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

WHEN USING FTP OR FTP WITH TLS:

This occurs when the path is not set correctly.

If you created a new FTP account at the source host and you’re 100% certain that you configured the FTP user/account home folder to match the web root path for the website, then you need to ensure to leave the path field blank (remove its contents) when entering the import details in 1-click web apps.

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 see the files for 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 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

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.

About 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.

Leave a Comment