Migrate Guru is a free migration plugin available from WordPress.org. It is relatively easy to use, works well even with larger WordPress sites, and is compatible with Kinsta.
These are the steps you’ll need to take to migrate your WordPress website to Kinsta using Migrate Guru:
- Add a site in MyKinsta
- Install Migrate Guru
- Initiate the migration
- Test the migrated site
- Update your domain and DNS
This guide is provided to help you perform your own migration. However, please note that Migrate Guru may not be fully compatible with some WordPress sites. Our support team is always happy to help with basic migration questions, but cannot assist with failed migrations after the fact, as this falls outside of the scope of our support.
Except for the Starter plan, all of our plans include one or more free migrations. If you’re at all worried about the integrity of your data, we highly recommend using our professional migration team. Single migrations can be purchased for a one-time fee of $100 and we also offer bulk migration pricing.
Add a Site in MyKinsta
Once you’ve signed up for a Kinsta hosting plan, to use Migrate Guru you’ll need to add a site in MyKinsta.
When adding the site be careful to select the option to Add a brand new WordPress install.
Make sure you install WordPress when adding a site to use with Migrate Guru
What Domain Should You Use?
When you add the site you’ll have the option to add a custom domain.
Adding your live domain as a custom domain will result in MyKinsta creating an install that’s set up to use your live domain right from the start. If you don’t add a custom domain the site will be set up to use temporary Kinsta subdomain.
Either option can be used when migrating your site. However, your choice here will have implications later in the migration process.
Using a custom domain will make it a little harder to preview the migrated site but easier to go live with the migrated site when you’re ready to go live. Using the Kinsta subdomain will do the opposite: previewing the migrated site will be easier but going live will require a few additional steps.
Our recommendation is to go ahead and add your live domain as a custom domain when you add the site in MyKinsta.
The rest of the fields in the form in MyKinsta can be filled in however you like. Once the migration has been finished the site name and user created at this point will be overwritten.
Once you’ve filled out all of the fields click Add. MyKinsta will need a few minutes to set up your site. So while that’s happening go ahead and move on to the next step.
Install Migrate Guru
While the site is being created in MyKinsta, log into your existing website. Once you’ve logged in to the WordPress admin area navigate to Plugins > Add New and then search for Migrate Guru.
Once you’ve located Migrate Guru go ahead and install the plugin.
Once you locate the plugin go ahead and install it.
Initiate the Migration
After installing Migrate Guru, activate the plugin. Once activated, you’ll be redirected to the Migrate Guru admin menu. If you happen to click away and need to find your way back, you can find this screen by clicking on Migrate Guru in the WordPress admin menu.
The Migrate Guru menu item will take you to the plugin interface.
From the following menu, select the FTP option:
Scroll to the bottom of the list and locate the FTP option.
Next, go back to MyKinsta and gather the SFTP details for the site you just created:
- The domain that you used when you created the site.
- IPv4 address to use as the destination server IP address.
- The SFTP port number, username, and password.
- The directory site path.
If you’re unsure where to find these details, our article on How to Use SFTP can help you locate them. Once you have the necessary details enter the details into Migrate Guru.
Important Migration Details
- Be sure to select SFTP rather than FTP as the FTP Type.
- If you’re on a Starter or Pro plan make sure to use
/public as the directory path. If you’re on a Business or higher plan, use the full path
/www/sitename_123/public as shown in your MyKinsta dashboard. This is due to how permissions are configured.
Make sure to get all the details correct. Repeated failed connection attempts can trigger an IP ban.
Once you’ve entered the details scroll to the bottom and click Migrate.
Migrate Guru will now test the SFTP credentials you provided. If any problems are encountered Migrate Guru will return to the SFTP details screen and highlight the fields that need to be reviewed. Check the details, correct any mistakes, and click Migrate again.
If you don’t enter the correct path you’ll receive the following error:
Unable to access wpconfig file. Please check if WordPress is installed on the destination address. Also, check if you have permission to access the folder.
If Migrate Guru repeatedly reports issues with the SFTP details please contact our support team for assistance. Multiple failed SFTP connection attempts can trigger an IP ban.
Once the connection is made successfully Migrate Guru will migrate the site and display a page which you can use to monitor the progress of the migration.
Migrate Guru will let you know as soon as the migration is complete. For larger sites this can take quite a while.
Test the Migrated Site
Once the migration is complete you should take a few minutes to inspect the migrated site.
If you used a Kinsta subdomain just visit the subdomain and have a look around. If you used a custom domain and the domain isn’t yet pointed at Kinsta you can edit your hosts file or use the hosts.cx tool to preview the site.
While reviewing your migrated site be sure to navigate to several front-end pages as well as to log into your site and navigate to several pages of the admin area. If your site has a lot of data make sure all of your data is showing up properly.
Go Live From Kinsta
Once you’re confident that your migrated site is ready to go live all that’s left to do is to make sure the site is loading at the right domain and then point your domain at Kinsta.
If you set up the site to use your live domain from the start, then your job will be a little easier as you’ve already confirmed that the site loads at the correct domain.
All that’s left to do is to update your DNS and point your live domain at Kinsta.
On the other hand, if you opted to preview the site using a temporary Kinsta subdomain you will need to switch the site over to use the live domain.
Switching Between Domains
If you used a Kinsta subdomain to preview your site, you can switch the site to use the live domain. Follow these steps:
- Create a manual backup of your site which you can restore if something goes wrong during this process.
- Add your live domain to the site and make it the primary domain.
- Run a search-replace of the site database to update all instances of the URL in the database.
- Clear the site cache.
- Edit your hosts file or use the hosts.cx tool to preview your site and confirm that it loads properly at the live domain.
After confirming that the site loads properly using the live domain update your DNS and point your live domain at Kinsta.
(Optional) Migrate Your SSL Certificate
If your current site uses an SSL certificate and loads over https you will need to install an SSL here at Kinsta to keep the site loading over https. Depending on the type of SSL you’re using there are a few steps that may need to be taken:
- If you have purchased a premium SSL certificate, you can simply install the same certificate here at Kinsta.
- If you are presently using a free SSL at your current host and wish to use Kinsta’s free SSL option, you will need to wait on installing the SSL until the site is loading from Kinsta. Once the site is loading from Kinsta the free SSL can be generated.
Once the SSL is installed you will need to run a search-replace of the site database to update every occurrence of the site URL in the database from http to https. Our post on fixing mixed-content warnings includes a detailed description of how to update these URLs.
Once the site is successfully loading over https, contact our support team and ask to have the site forced to load over https. This will cause all http requests to be redirected to https ensuring your site can only be accessed over https.