Migrate From Wpengine To Siteground

This is a summary of the process from migrating from Wpengine to Siteground. Although this works from Wpengine to most other hosting vendors that use Cpanel.

Wpengine offers the best WordPress hosting. I strongly recommend it and they offer great warp speed support.

This procedure is based on this article.

I moved some of my sites to Siteground as I am building some experimental sites that don’t require such premium WordPress hosting.



1. FTP to Wpengine

Using Filezilla connect FTP to Wpengine hosting. Copy all files to your local computer.

This obviously requires to have an FTP user account for the Wpengine domain.

  • host: sftp://ipnumber
  • user: your-ftp-user
  • pwd: your-ftp-usr-pwd
  • port: 2222



2. Add on Domain

Given that you have a main domain. Let’s call it awesomedomain.com.

In Siteground or your other hosting. Go to Cpanel.

Go to “addon domains”

Create an addon domain. I added some examples, so don’t copy/paste the same thing 🙂

  • New domain name: otherdomain.com
  • FTP username: ftpuser
  • pwd: ftp-pwd



3. FTP to Siteground

  • host: ftp.awesomedomain.com
  • user: ftpuser@awesomedomain.com
  • pwd: ftp-pwd
  • port: 21

Copy all the local files to Siteground



4. Create a DB in Siteground

Go to Cpanel, MySQL Database Wizard.

(These values are examples, don’t copy/paste the same)

  • Create a database: dbname
  • Create a user: dbusr
  • Create a pwd: dbpwd

Select ALL privileges and “next” to finish.

This is important. The values that you enter above will now have a prefix that might be a shortened version of your main domain.

If your main domain is: awesomedomain.com

The prefix could be shortened to 8 characters such as: awesomed

The datatabase name would be: awesomed_dbname

The database user would be: awesomed_dbusr. Although I have seen that when I previously entered a long user name. The user becomes shortened here. It is important to be aware of this as you will need these values later.



5. Download the mysql database from Wpengine

Go to the domain. Then to the menu “backup points”. Select the last backup and “download zip”. It will say that you will be notified when the file is ready. They will send it to your main email.

This file could be small or very large depending on your site.

Using Chrome. In some cases I have seen the file downloading almost all the way to be done and suddenly gets stuck and I have to start all over again. This wastes a lot of time and there is no option to download this file using FTP. It seems to download better using Firefox.

Open the zip file. Go to the directory wp-content and extract the file that says mysql.sql



6. Import this file to Siteground

Go to Cpanel and PhpMyAdmin

On the left side, select the database, in our example: awesomed_dbname

Click on “Import”.

  • Choose file
  • Character set: utf-8
  • Allow the interruption…: Checked
  • Skip this number of queries: 0
  • Format: SQL
  • SQL compatibility mode: None
  • Do not use AUTO_INCREMENT: Checked

Click on “Go”



7. Update wp-config.php

Go to your local files and rename the file wp-config.php to wp-config-wpengine-old.php

Open the file wp-config-sample.php.

Change the values after:


In our example we previously did this:

  • Create a database: dbname
  • Create a user: dbusr
  • Create a pwd: dbpwd

And we saw that:

If your main domain is: awesomedomain.com

The prefix could be shortened to 8 characters such as: awesomed

The datatabase name would be: awesomed_dbname

The database user would be: awesomed_dbusr

The values in wp-config-sample.php would be:

define(‘DB_NAME’, ‘awesomed_dbname’);
define(‘DB_USER’, ‘awesomed_dbusr’);
define(‘DB_PASSWORD’, ‘dbpwd’);

Review this twice. I once made a mistake adding an extra space on one of these values.

Create the authentication Unique Keys using this site:


Then just replace the whole lines of code with those that are seen on the website above.

When you paste these lines they won’t look pretty. This doesn’t matter 🙂

Keep in mind that every time you reload the above site, it will generate new keys. This why they are unique values. You won’t have the same values as someone else.

Remember the file you have open is wp-config-wpengine-old.php. Rename it to wp-config.php. “Save as”.

Go to Filezilla. Make sure you have the proper credentials or if you still have the previous session open. Click on “Refresh the file and folder lists”.

Move wp-config.php to your Siteground hosting.

It will ask if you want to overwrite the current one. Accept.



7b. Review your .htaccess file

The default .htaccess looks like this:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]


# END WordPress

I remember installing a plugin to import a massive number of posts and this required to add more lines (not shown above) to htaccess at the end. This caused me trouble testing the site (as seen below). I had to remove those lines.



7c. Siteground My Account

Verify that your domain is added to Siteground under My Account/Installation.

Since the installation is manual and not using the wizard. It doesn’t add the domain right away. According to tech support. The information in this section is updated in 12 to 24 hour intervals.

You can also go to Cpanel. Then WP Toolkit. The site should be listed there.



8. Test Your Site in Siteground

Follow this to test your site before it goes live.



9. Change your DNS

Once you tested your site. Change the A record of your DNS.

Please enter questions or comments after the related posts. I will try to reply as soon as I can



Related Post

Display Post Excerpts in WordPress WordPress is the simplest way to create a website or a blog. I have used Squarespace, Drupal, Octopress and built from scratch. These have their pr...
Go to the Previous Directory in Vim I use Vim. Vim is the most productive text editor if you know some vim commands When I open a file and I am done with it. I often want to go...
Export Data From Firebird Database to CSV File Background Some software applications use a database called Firebird. This is an open source database. If the software application is compiled you ca...
Installing Ruby on Ubuntu Installing Ruby on Ubuntu As seen on RVM... Go to the terminal in Ubuntu. Add the public key from RVM $ gpg --keyserver hkp://keys.gnupg.n...

Leave a Reply