The practical guide to migrate WordPress without a headache

Migrating WordPress is a problem that is surely in the “top ten” of the problems that a blogger user of this platform faces or, at least, it is one of the topics that is repeated over and over again in the emails that we receive and for which I want to offer you this small guide in post format.

There are so many queries on this topic that we think that it deserves a small exclusive series that thoroughly deals with the different migration scenarios from and to blogs in general, since the different scenarios are quite different from each other and, therefore, involve specific actions according to the case concrete.

Today we will start with the migration of a WordPress blog and the different scenarios that occur in this case.

In any case, before continuing with this post, I highly recommend a read that complements this post very well because it delves into the process of creating a blog in great detail and also what comes next (how to create good content) , how to get visits, how to retain readers, etc.):

You cannot put all the migrations in the same bag and the first thing you have to focus on is your case.

It may seem that I have said something more than obvious, but if you think it is so, you would be surprised by the number of people who ask me questions and with whom I discover that their confusion comes precisely from not being clear about the difference between with WordPress .org.

In fact, many are not even clear that they are two different platforms and very different options to consider having a WordPress blog.

The most important scenarios that we will see step by step in this post, in order of frequency of the queries that come to us, would be, in my opinion, the following:

  1. People who want to migrate from to because they have managed to consolidate their blog and now “the body asks them for more”, that is, they are aware of how limits them and are not willing to settle.
  2. People to whom the web hosting of their WordPress blog gives them problems and who asked for
  3. People who have set up a mockup blog on their computer with a development platform like XAMPP and need to migrate it to a hosting server.

So this post I’m going to break down these three scenarios to help you migrate your WordPress blog successfully to any of these scenarios since there are some pebbles that almost everyone stumbles upon.

In addition, luckily we have already published a post on this topic, so I will take advantage of the series also to put them all in order and that there is a complete guide to migrate blogs, from A to Z , in which, we will also touch things like the migration of Blogger or Joomla to WordPress. Take a look at the index of this post to get an idea.

Of course, your suggestions, comments and all kinds of feedback are very welcome to adapt me to your needs as best as possible. So if you are “affected” by this migration problem, go ahead take the opportunity to provide your feedback in the comments and thus actively influence the specific content of future posts.

On the other hand, if you want us to notify you of the successive installments of the series, you can subscribe in the box below.

Three scenarios to migrate WordPress and what you need to do in each case

As we were saying, if you want to migrate a WordPress blog, there can be basically three situations, so let’s see the steps to follow in each one.

1. Migrate from to

You can migrate to by hiring a professional service or you can do it yourself for € 0.

For this, the process would be migration would be as follows:

a) Acquire a domain (if you don’t have it yet)

If you don’t have a domain yet, this is the first thing you will need. You can do it together with the hiring of your new hosting (that is, with the same provider) or separately with a specialized provider such as GoDaddy or Namecheap. Personally I prefer this second option due to the independence of the hosting provider that it gives you and because, normally, these specialized providers have better tools for managing and configuring domains.

If you already have a domain, forget about this step. Also, you will not need the 301 redirect that is described in section g) of this point. Among other things, to simplify the migration a bit, I recommend that you buy it from the beginning when you create a blog.

b) Contract a hosting service

Once again I insist: your hosting is critical, a good hosting for the needs of a normal blog can be obtained for very little money, but you have to know how to choose it well because the market is full of junk offers.

You can learn how to choose a hosting correctly in this post, or directly follow my recommendations that you will see in the following videos and in the box that comes a little further down.

The hosting that I recommend as option Nº1 is Ionos (1&1). It is, of course, the hosting that uses this same blog.

In the video that follows you will see how to get a 25% discount. In the Ionos (1&1) plans plus an orientation to find the best plan for you and other issues of interest.

c) Install WordPress

This is much better explained with a video-tutorial, so here is another video for these purposes in which you will find a tutorial where you will see step by step how to install WordPress on a hosting server.

In this video we start from the scenario that your domain is available for use with your hosting server, that is, that you are not using it for your blog. In the event that you already have your blog under your own domain that you want to also use with your blog with hosting, you have to take into account the nuances that are explained below

In the event that your blog has its own domain, the problem you are going to have is that you cannot use that domain with your hosting server (which is what is done in the previous video) since the domain It already “points” to the current blog you have on and cannot point to two different servers at once.

One option is to reconfigure the domain to simply point to your new server. In that case, the blog could only be used under the domain that you initially had with, that is, a domain of the type And under your own domain you would already be accessing your new hosting server (after a few hours necessary for the change to propagate).

The drawback of this way of doing things is that temporarily, until you have migrated the contents to the new blog, they will not be found in Google since during the migration period the original URLs cease to exist.

For a small blog with few entries, little complexity of widgets, etc., easy and quick to migrate in short, it can be a reasonable cost. But if it were not and you do not want to expose yourself to this situation, the solution is to install WordPress in the hosting using a temporary URL that will generally consist of an IP along with something else. In the case of the hosting that we use (and recommend) we would do something like this:

Therefore, in the WordPress installation when you ask for the domain name, instead of indicating a domain type, the previous URL that the hosting provider will provide will be indicated. With this URL you can do the migration very calmly until you see that it is really fine. And once everything is ready, you make the change from one blog to another.

To make this change, you will have to do two things:

  1. Reconfigure the wp-config file. WordPress php with the definitive domain
  2. Reconfigure your domain to point to your new hosting server

The first point is solved by editing the following lines in wp-config.php:

define (‘WP_SITEURL’, ‘’);

define (‘WP_HOME’, ‘’);

And the second point is as simple as pointing the domain to your hosting server as explained in step g) of this list. This is a very normal operation, so if in doubt, consult your domain provider who will resolve the question quickly.

d) Export content

The key to the blog migration process is that it is done by exporting the content from the source blog to a file and importing that file into your new blog.

In the administration panel of your blog you will find the Tools / Export menu. From here you can export the content and comments to an XML file.

Be careful with the options: I recommend that you always choose to export all the content, not just a part, since I have had incidents when importing the files when it has been like this.

This trick also comes in handy with very large export files (> 5MB) which, if you don’t use the trick, often cause problems.

e) Import the content to your blog

Now it’s time to import the contents of the old blog into the new one. For this there is also the option to import from the Tools menu.

It will ask you to previously install a plugin (which is the one that implements the import) and from there everything is ready to import the previous XML file.

On import simply insist that you select the option to import attachments (documents, images, etc.) as otherwise they would be hosted on your blog. The exact name of this option in the current version of the plugin is “Download and import file attachments”.

This detail is annoying because even if you don’t, it gives the impression that, apparently, everything is fine because you will see the images perfectly from your new blog and the URLs of the other files will also work normally.

But it is a trap: they work because the URLs are those of the old blog, so the moment you close it, they will stop working and you will see the grace it makes you…

f) Redo the configuration of the widgets and theme

This is something that is often not mentioned in the various tutorials: only the content is exported, but widgets cannot be migrated and the theme is not migrated either.

It is something you have to be clear about. Migrating means configuring your blog again in these aspects.

When you migrate from you have to choose a new theme (which can be the version of your current theme for if there is one).

Fortunately it is not a lot of work and, in addition, knowing how to do it, in fact, it is the opportunity to make a great leap in quality in many aspects. It may be the best time to migrate to a quality professional theme, such as Divi, which one of the most is recommended that exists today.

A little further down I return to the subject in a little more detail.

g) Reconfigure the domain (only with own domains, that is, not domains of the type

It is very typical that the author of a blog on has bought his domain on himself.

In this case you have to point this domain to your new server. This is done by indicating in the domain configuration the name servers (DNS) to be used and which are those of your new hosting. I leave you the references of the WordPress support where the configuration of domains is explained in detail: – Domain Management

And in this link you can also find some general references about domain management on that may be useful to you.

h) Redirection 301 of the old blog (only with domains of the type

It is also frequent that a blog on does not have its own domain, that is, the address of your blog is something like this: name

In this case, you will have a domain that will normally be and that is no longer a domain of but your own.

The problem with this is that with this you will have changed your domain and, therefore, all your URLs and that means that your links will no longer exist. The links to your old blog would be broken and you would disappear from Google’s search results.

In other words: for the purposes of search engines, you will have created a completely new website that has nothing to do with the old one and, therefore, in principle you would lose the positioning of your content.

This sounds scary enough, but don’t panic, this has a simple and elegant solution: the Site Redirect service.

With this service (it costs $ 13 a year) WordPress ensures that your old domain is redirected to your new domain through a “301 redirect”, which in practice means that your old links will continue to function as if absolutely nothing had happened.

Keeping the redirect for a year is enough, so you pay once the $ 13 the first year costs and forget about the problem. In addition, with this you will also have migrated the feed since it is also redirected.

My recommendation at this point is also that you do not delete the blog once everything is completed , but that you simply keep it invisible to Google to avoid duplicate content problems although this, in reality, with the 301 redirect this would also be solved. The reason is that this way you have a lot of peace of mind to react if after a few days you discover errors in your import or other problems.

The most convenient way to do this would be to use the option “I would like my site to be private, only seen by the users you choose” in the Settings / Reading menu.

Things that cannot be migrated

As we saw before, unfortunately, when migrating from to you will find some similar limitations, although less, than those that you find when migrating from Blogger or Joomla to WordPress.

You will basically encounter two limitations, although they are not dramatic:

  • You cannot migrate the theme, unless it also exists for and, in addition, it has an option to export / import the theme settings.
  • You lose the widgets, and apart from a few, the widgets are different. The good news is that you have a lot more and better at and putting your widgets and back together is not usually a huge job.
  • If the URLs change, you lose the social counters. For your typical Twitter tweet counters, Facebook likes and the like to continue working, your URL scheme must be kept intact, that is, they must be kept exactly the same. It is a problem independent of the positioning problem, that is, although with a 301 redirect your old URLs are redirected to new URLs and your position in Google remains intact, social networks are another matter. Today, they only work with the exact URLs and if they change your counters will be reset.

The limitations of migration are actually an opportunity

This is not one of those empty and easy phrases, but there are good reasons that justify them and I explain myself:

In the case of topics, you will hardly hit the first topic you choose, it is a simple matter that after a year you will have much clearer ideas to choose the topic that best matches your content than after the first month of life of your blog.

On the other hand,, with just over 200 themes, has very little to choose from compared to where you have many thousands of themes to choose from. So migration is a great time to review this point.

As for widgets, this is the time to debug and improve them, for example, using a good widget for your mailing list subscriptions like Magic Action Box instead of the unfortunate widget that uses. Magic Action Box is designed to achieve high conversion rates , normally you notice a noticeable difference, so we are talking about a substantial improvement for your blog since the mailing list is considered by many (I include myself) the most important asset from a blog.

2. Migrate a WordPress blog from one hosting to another

The difficulty of migrating a WordPress blog from a hosting server varies greatly depending on the case and depends a lot, above all, on the quality of the source server. What happens is that, normally, if you want to migrate it is precisely because the very good origin server is not…

The simplest situation is that your new hosting provider offers you a free migration, good companies like the ones we recommend, do it.

Anyway, personally I prefer to do it myself because I control the details to my liking. With a bit of luck, in principle, your origin server should not give you trouble using a good migration tool that will make it very easy for you.

However, there are providers that give problems (generally due to very strict security restrictions or simply bad) with this type of tool, either at origin or destination.

As for migration tools, they are usually plugins, among which I would highlight the following, which are also 100% free:

  • Duplicator: This tool is a «classic» and it is highly valued as you can see from the opinions in the repository. When the hosting does not present problems, it isa real wonder, but in practice, yes, I have had problems with it from time to time.
  • All-in-one WP Migration: an alternative that has surpassed even the classic Duplicator in downloads.
  • SG Migrator: This is a relatively recent plugin developed by SiteGround as an open source project. Personally I have not tried it yet, but it has already become very popular and I really like how simple and well-structured the process is as you can see in the video below.

Migrate WordPress from a local server (or a hosting) to a new hosting

Here I leave you two videos that explain how to move your website, in one case with All-in-one WP Migration and in the other case with SG Migrator.

Remember that this also serves to move a local installation of WordPress (that is, a WordPress installed on your computer) to a hosting. The process is exactly the same as when migrating from one hosting to another.

Migrate WordPress from one hosting to another “by hand”

In the event that you are unlucky and your hosting presents you with problems, you will have to do the migration manually.

In the event that you are unlucky and your hosting presents you with problems, you will have to do the migration manually.

This basically implies the following:

  1. a) Make a copy of the files of your original WordPress installation
  2. b) Make a copy of the MySQL database of your original blog
  3. c) Restore the files and the database on your new server, in good hosting the standard is to include the phpMyAdmin tool for which we have included above a YouTube tutorial that explains how to make a copy of a MySQL database and how to restore it.
  4. d) Adapt the file wp-config.php to adjust the configuration to the new server(the new server will almost certainly force you to use a different database name and user, so you would have to change them). Check the following in wp-config.php so that the parameters on the right side match the values ​​of your new installation:
  5. Database name:

define (‘DB_NAME’, ‘new_database’);

  1. New user:

define (‘DB_USER,’ new_user ‘);

  1. New user password:

define (‘DB_PASSWORD,’ new_password ‘);

  1. New server(usually does not change and is always ‘localhost’):

define (‘DB_HOST,’ new_server ‘);

  1. e) Configure your domain name servers to point to the new server. Keep in mind that domain changes take hours to propagate so that traffic will “jump” from one blog to another until the propagation is complete. It has about 24 hours until everything is stable.
  2. f) Finally my advice would be to keep the old blog operational for a few weeks until you are 100% sure that your new installation does not give you problems. It will be invisible to Google since it does not have its own domain and cannot harm you beyond costing you a few dollars for a month with your old hosting provider. So, when faced with bigger problems, you always have the joker of re-pointing the name servers to the old blog.

In the (rare) case that, in addition, you change your domain, things are considerably complicated since this change potentially affects many tables that would have to be adjusted.

Fortunately, the guys at Interconnect / it have developed a free tool that fully automates this setting for you and is recommended by the official guide for WordPress migrations.

In this case, it is also important that you deactivate the permalinks (menu Settings / Permalink -> “Default” option) as a previous step to the previous steps and reestablish them as they were after finishing them.

3. Migrate a local installation of WordPress to a hosting server

We are in luck because this scenario is resolved, in fact, the same as the previous one with the nuance that in this case the domain will change yes or yes. Therefore, the previous steps must be applied with the additional measures for a domain change and that’s it.

In addition, in this case you can also resort again to the Duplicator plugin that I mentioned at the beginning of the post. You should have no problems and make migration child’s play.

And wouldn’t it be better to hire a professional for this?

In this post you find everything you need to migrate a WordPress blog.

But after seeing it, you may prefer that a professional do it better for you. In that case, we can also help you to hire a trusted professional among our collaborators through our service platform.


This post collects the most frequent scenarios that you can find when we talk about migrating from WordPress to WordPress.

In future posts we will see the other cases that are fundamentally the migration from Joomla to WordPress and also from Blogger.

I want to take this opportunity to tell you that I am working on a new course in video format that thoroughly addresses how to create a truly professional blog on and, of course, which will also contain, among many other things, everything that this series on blog migrations.

And finally, a suggestion: if you want us to notify you of new posts in this series and other blog content, subscribe below (a little further down) on our mailing list.

Arsalan Masood
Internet Entrepreneur, Blogs Writer, Marketer, Social Media & SEO Expert. Passionate about WordPress Blogging, Digital Marketing and SEO. Founder & CEO of Virally Media Private Limited & BloggerGeeks

How to create a good Landing Page with WordPress and Divi

We do the unthinkable to get visits by improving the positioning of our blog at all costs and we publicize our articles, projects, courses, day and night, etc. But...

How to create a free and easy blog on WordPress

Have you been seduced by the idea of ​​creating your own blog? Are you determined and are you finally clear about the contents? Do not know how to start? Do...

How to configure WordPress to work perfectly

One of the keys to WordPress success is that it is to install it and start using it in 5 minutes. But this can be misleading: if you...

4 Things to avoid with the WordPress visual editor

The WordPress visual editor is an extremely flexible tool when creating your content. Thanks to it, you can not only format your texts and control...

How to choose the perfect WordPress template for your website

Choosing a WordPress template is one of the first and most important tasks you face in a new WordPress site. Your site design will...

WordPress Help for Beginners. Guide for dummies

WordPress is an easy tool to use. However, it has a very wide functionality, even more so when you use advanced design templates and plugins, so it is...