Need to migrate from to (AKA self-hosted WordPress)? Usually, this means you’re ready to take your blog or business to the next level! Going with a self-hosted solution opens up a whole new realm of customization options and possibilities for your website.

In this article, we’ll show you step-by-step how you can migrate your existing site to a self-hosted WordPress site at Kinsta.

Kinsta does offer free migrations, but this doesn’t include migrations from other platforms such as These are two very different solutions. Confused? Read more about the differences in our article on vs

You’ll need to utilize the self-hosted solution to use Kinsta’s hosting.

What You Need to Get Started

In order to follow this tutorial, we’ll assume that you’ve already signed up for hosting with Kinsta. If not, you can head here to learn more about Kinsta’s plans.

Beyond hosting for your new site, you’ll also need a domain name.

If you purchased a custom domain from (e.g. instead of, you’ll also need to point that domain to Kinsta.

To do that, you can either edit your DNS information at and point it to Kinsta:

Or, you can opt to transfer your domain to another registrar and then point it to Kinsta.

If you don’t have a custom domain name yet, you’ll need to purchase one from a third-party service – we recommend a provider like Namecheap. Having trouble coming up with a good domain name? Check out a few tips on how to choose a domain name.

Once you’ve signed up for Kinsta hosting and have your top-level domain set up, here’s how to migrate to

Steps to Migrate to

Unfortunately moving from to can’t be done the standard way. Why? Because they don’t let you use a migration plugin, and they also don’t offer SSH access or phpMyAdmin.

To give you an idea of what it takes to migrate to, here’s a high-level look at the steps that you’ll need to take:

  1. Create a fresh WordPress install at Kinsta and perform some basic housekeeping
  2. Export your content from
  3. Import your content to with the WordPress Importer tool
  4. If using URL, redirect visitors to your new domain (optional)

Step 1: Create a New WordPress Site at Kinsta

To get started, you’ll need to create a fresh install.

At Kinsta, you can do that by going to the Sites tab in your MyKinsta dashboard and then clicking the Add Site button:

How to create a new WordPress installation
How to create a new WordPress installation

Then, follow the steps in the popup to install your site:

Fill in information for your WordPress install
Fill in information for your WordPress install

You can view a more detailed tutorial here.

Once you’ve created your new installation, you’ll want to do a little housekeeping before you import your content.

Set Permalinks

Your WordPress site’s permalinks affect the structure of your site’s URLs.

In order to ensure a seamless transition, you’ll want to make sure that your new self-hosted installation uses the same permalink structure as your website.

By default, websites use the Day and name permalink structure.

To mimic this permalink structure on your site, log in to your self-hosted WordPress dashboard and go to Settings → Permalinks.

Then, choose the option for Day and name and save your changes:

Set your permalink structure to match
Set your permalink structure to match

If you want to change your permalink structure in the future, you can always set up a 301 redirect later on. If needed, Kinsta support staff can help you set up a 301 redirect to safely change your permalink structure.

Install Your WordPress Theme

Unfortunately, there’s no way to export your theme straight to your site.

However, many (though not all) of the themes that you’ll find at are also available to self-hosted WordPress sites.

For example, the AltoFocus theme is available at both and

That means that, if your theme is also available at the theme directory, you can simply install a fresh copy of the theme on your new site.

To do that, go to Appearance → Themes in your site. Then, click Add New:

How to install a new WordPress theme
How to install a new WordPress theme

From there, you can search for your theme by name and install it:

Example of installing a WordPress theme
Example of installing a WordPress theme

Step 2: Export Content from

Next, you need to export your site‘s content. Then, in the next step, you’ll import that content into your new site at Kinsta.

To export your site’s content, go to the dashboard for your site. Click the Settings option in the sidebar. Then, scroll down to the bottom and find the Export option under Site Tools:

Access the Export settings
Access the Export settings

On the next screen, click the Export All button next to Export your content:

Export your content from
Export your content from

You should then receive a download link in your email. Or, you can click the Download link in the interface:

Download the file with your content
Download the file with your content

This will download a ZIP file to your desktop. Once the download finishes, you need to extract the ZIP file. If you’re using Windows, you can do that by right-clicking and choosing Extract All:

Extract the ZIP file that you downloaded
Extract the ZIP file that you downloaded

Once you’ve extracted the ZIP file’s contents, you should be able to open a folder that contains an .xml file. Keep this file handy because you’ll need it in the next step.

Step 3: Import Content to New Site

Next, go to the WordPress admin dashboard for the site you created in Step 1.

Then, go to Tools → Import. Find the WordPress tool and click Install Now:

Install the WordPress Importer tool
Install the WordPress Importer tool

After a brief wait, you should see a new link to Run Importer. Click that link to continue the process:

Run the WordPress Importer tool
Run the WordPress Importer tool

On the next page, you’ll be prompted to upload the .xml file that you downloaded from in the previous step:

Upload the .xml file from
Upload the .xml file from

Once you’ve selected the .xml file, click Upload file and import.

If you have a lot of content, you might need to wait a short time. Then, you’ll see two options to:

  • Assign Authors
  • Import Attachments

For the Assign Authors section, we recommend choosing the option to assign posts to an existing user and selecting your username from the drop-down.

Then, check the box to Download and import file attachments. This will ensure that your site imports all of the images from your site.

Configure the import settings
Configure the import settings

Then, click Submit.

Once the process finishes, you should see a success message:

The import success message
The import success message

Now, go to your site and poke around. If all went well, your content should look and function just like it did at

If something seems wrong – like broken URLs or missing images – here’s how to fix it:

Fixing Broken URLs After Migration

If you changed URLs as part of your migration (like moving from to, you might end up with “broken” URLs in your content.

For example, if you wrote a blog post that included a link to a different blog post on your site, that link might still take people to when really it should go to that same blog post on your site –

To fix this, you can use Kinsta’s Search and Replace tool (available from the Tools tab in your MyKinsta dashboard):

Kinsta Search And Replace tool
Kinsta Search And Replace tool

Enter your old URL in the Search box and your new URL in the Replace box. In this example we are using your temporary Kinsta URL. If you already have a domain name, you will want to use that instead. Leave the Dry Run box checked and then click Replace:

How to configure the Kinsta Search And Replace tool
How to configure the Kinsta Search And Replace tool

You should see a summary of how many potential replacements the tool found. Ideally, it should be a positive number:

Look for the success message before unchecking the "Dry Run" box
Look for the success message before unchecking the “Dry Run” box

Once you verify that you properly entered the information, uncheck the Dry Run box and click Replace again:

Uncheck the "Dry Run" box
Uncheck the “Dry Run” box

Fixing Missing Images After Migration

If everything went well, you should see all of your images right away. However…sometimes things go wrong, and it’s possible that you might be missing some images.

If that’s the case, you can use the free Auto Upload Images plugin to import the missing images for you.

Once you install and activate the plugin, go to the Posts area in your WordPress dashboard. Use the checkbox to select all of your posts and then select Edit from the drop-down. Then, click Apply:

Select all your posts
Select all your posts

This will open a new interface. All you need to do is click the Update button and the plugin should then import the missing images for you:

Update all of your posts
Update all of your posts

Step 4: Redirect Website to (Or Make Private)

At this point, you should have a working self-hosted website with all your content from

However, there’s still one important issue – what happens to your website now that you’ve moved everything over?

There are two potential scenarios here, depending on the URL of your website.

Same URL For And

If you were using a custom URL at ( and you’re using the same custom URL for your site (, all you need to do is make your old website private.

To do that, go to the Settings area in your dashboard and choose the Private option under the Privacy settings:

How to make your site private
How to make your site private

Different URLs For And

If you changed your site’s URL as part of migrating from to (e.g. to, then things are a little trickier.

See, there will technically be two duplicate versions of your site – one at and another at

This is bad because:

  • Visitors might click on your old backlinks and go to, when really you want them to be at
  • Google might see duplicate content and won’t know which website to rank in Google searches.

To fix this issue, you can set up redirect. With a redirect, anyone who tries to visit will be taken straight to instead. lets you do this, but they will charge you $13 per year for the privilege to do so.

While paying money is never fun, this small fee is worth it if you have an existing audience and don’t want to lose them when you make the switch.

To create a redirect, go here and select the site that you’ve migrated:

How to set up a redirect at
How to set up a redirect at

Then, enter your new domain in the box and click Go:

Enter new domain name
Enter new domain name

Then, you’ll need to enter your payment information to finish the process.

If you do not want to pay this $13 per year fee to, you can also just make your old site private by following the method in the previous section. However, you will lose all of the traffic and links that go to your old site, which is not ideal.

Use Jetpack to Access Functionality

At this point, you’re pretty much done!

However, before we finish out this tutorial, we’ll leave you with one more pointer:

If you want to get access to some functionality – like your site’s Subscribers – you can use the free Jetpack plugin to connect your site to and get much of the same functionality that you had before.

Jetpack is developed by Automattic – the same company behind – so it’s able to seamlessly add many features to your new website.


Moving from to can be an exciting time. It usually means you’re ready to take the next step and get full control over your website. The possibilities of what you can do are endless!

If you have any trouble with migrating from to, you can always hire a WordPress developer. These types of projects are easy for seasoned developers and they can have your WordPress site up and running at Kinsta in no time.

Have any other problems with our migration guide above? Let us know below in the comments.

Brian Jackson

Brian has a huge passion for WordPress, has been using it for over a decade, and even develops a couple of premium plugins. Brian enjoys blogging, movies, and hiking. Connect with Brian on Twitter.