Recently, I had to migrate our WordPress Site from WP Engine to Siteground Webhosting. Upon researching how to do this, there was never a single resource that showed exactly how to do this successfully, at least in my case.
I did find an obvious solution though, which I’ll share below at the end.
**Some Background:**
Before starting, I researched backup plugins like Duplicator, etc. Unfortunately, that won’t run on WP Engine, and all other attempts to use a backup plug-in were a major failure because of how WP Engine is set up to run.
**So the only option that looked somewhat reasonable is a manual migration.**
Let me briefly explain what I did.
**Basic description of my business WordPress Site:**
* WordPress 6.5.3 with Elementor.
* Around 8 Plugins Installed (nothing too complex.)
* The total size of the site when exported is roughly 250MB in size (75MB MySql DB.)
* About 5 published pages and 10 published blog posts.
* Roughly around 200 image files in our media directory.
**After doing various research on how to manually migrate WordPress from WP Engine To Siteground, I found the following steps:**
1. On the old site (WP-Engine), export your entire “Public\_Html” folder via FTP to a local directory on your desktop.
2. On the old site (WP-Engine) go into PHPMyAdmin and select your database, then do a minimal export of your database to a SQL file.
3. Then (on your new web-hosting provider) you upload the “Public\_Html” folder via FTP from your local desktop.
4. Then (on your new web-hosting provider) you create a new MySQL DB and configure a new DB Username with a Password.
5. After the new WordPress DB is set up, go to PHPMyAdmin and import your SQL file.
6. Configure a new wp-config.php file with the new DB Name, DB Username, and DB Password. Update the encryption keys. I used a fresh wp-config.php file by renaming a copy of the wp-config\_sample.php file.
7. At this point, you update (search and replace) the string values for your domain name if moving to a different domain or leave that alone. Since I migrated to a staging environment I updated the name accordingly.
8. Lastly, you redirect your DNS.
NOTE: In my migration I never actually cut over the DNS, instead I set up a staging environment on Siteground so we could make sure everything would load properly, before actually cutting over the DNS.
**Optional Export for WP Engine, Besides FTP**
Also, for WP Engine, you can download a Zip file of your entire WordPress Site and DB from your backup checkpoints.
In my several failed attempts, I did both the FTP download and tried the exported backup file. The outcome was the same, which I describe below.
Last Detail Relating to Wp Engine
Because I was moving from WPEngine, I also followed these steps to remove the additional files specific to WPEngine’s environment like MU Plugins, etc.
[https://wpengine.com/support/best-practices-uploading-wp-engine-site-another-environment/](https://wpengine.com/support/best-practices-uploading-wp-engine-site-another-environment/)**The End Result:**
Using the basic steps above to manually migrate, I made several attempts at migrating my business website from WP Engine to Siteground, and the following was true for each outcome.
1. I could log in to a running WordPress Site but all the reference points from WP Admin to my Pages, Posts, Images, and WP Theme were NOT showing up. Even though they show up in the database under PHPMYADMIN.
2. All the plugins were inactive, but did show up OK in WP Admin under Plugins.
3. I would assume there are probably other issues going on as well, that were not observable through WP Admin.
Overall, the WordPress site ran like a new site, not a migrated one.
**The End Solution: The Siteground Migration Plug-In**
After further research, I discovered that Siteground has a migration plug-in. After following the steps for installing the migration plug-in on my WordPress Site with WP Engine, it automatically completed the migration and everything is 100% up and running with no issues!
In all of my research online, I did not come across the Siteground Migrator Plug-in as an obvious option when doing various Google searches with my intended keywords, ‘Migrate WP Engine WordPress site to SiteGround”.
So I wanted to share my experience here, in case anyone else has these issues which I mentioned above.
**Some Additional Findings:**
1. I did some further testing for the manual migration of WordPress and found that the steps above do work, if you are doing it just on WP Engine or SiteGround. To test this I just used a staging environment.
2. It does not seem to work when going from WP Engine to SiteGround. This tells me that either though WordPress is running on each of these web hosting solutions, the underlying server environments must be very different. Or the Database structures are very different.
3. WP Engine is clearly different because it’s a Managed WordPress platform, but SiteGround?
4. Also, I did another test where I manually had to migrate a single-page WordPress site from SiteGround to Orange Web Hosting which uses CPanel as the backend, and I had the same exact problem where my theme, images, pages, or posts would not show up, but WordPress was running. And you could see the pages and posts in the database.
So I’m just curious, what’s the deal with doing a manual WordPress Migration?
Why does it work on the same platform but not across different web-hosting platforms?
If someone with developer experience could chime in, I’d be extremely grateful.
I’m sure anybody else looking to migrate WordPress from their existing platform, whether it be WP-Engine, SiteGround, etc, would be extremely grateful too.
Thanks, and going forward I guess the lesson here is always to use your web hosting platform’s migration tool, if they have one. This would have saved me a lot of time!
[ad_2]
Just use a backup plugin to move the site. Even hosts that offer free migration do it this way.
WPvivid is a free plugin and will work for moving your site.
>Why does it work on the same platform but not across different web-hosting platforms?
Because you didn’t do it right. I always migrate wp sites manually, using SSH and wp cli and rsync, it takes a couple of minutes and always works. Exporting and importing the database takes literally seconds using the wp cli
The good thing is that you spent time investigating and doing tests, by doing that now you probably have more knowledge than 90% of “WordPress Specialists” that can’t do anything without a plugin.
I recommend that you keep learning, don’t settle, learn about SSH, wp cli and rsync.
Siteground uses a custom prefix for the db tables. You likely just needed to change that value in wp-config.
Something was wrong in your steps.
1. What was the DB prefix on the tables vs what was in wp-config?
2. Were file permissions correct on the destination server?
3. What exactly did you do for the search/replace. Where/how did you perform that function?
4. “but all the reference points from WP Admin to my Pages, Posts, Images, and WP Theme were NOT showing up” – what does that mean exactly? What is a “reference”? Perhaps your htaccess did not exist, which often happens with a manual migration, as htaccess is a hidden file – so you just need to resave permalinks.
One of the above steps wasn’t done correctly. Plugins not being active suggests permissions or the site had been accessed before the plugin files were copied across (WP will automatically deactivate plugins if it can’t find/access them).
One of the great things about WordPress is that it is very exportable. There should never be any server differences that affect a migration.
> had the same exact problem where my theme, images, pages, or posts would not show up, but WordPress was running. And you could see the pages and posts in the database.
Search&Replace is rescue. (old_site.tld > new_site.tld). You can do it with plugin, wp_cli, phpmyadmin, sql script, and SiteGround’s “Search and Replace” tool.