In this article you will learn what I believe to be the best approach to migrate your WordPress website from your existing hosting to a new host.

I have recently been through this experience myself by moving this website from 1&1 hosting to A2 Hosting (the reason why is not really the topic for this article, but let’s just say that it is related to price & speed!). This experience has provided me a great opportunity to fully realise the best way to perform the migration and some of the pitfalls that can occur during it.

Assumptions

I am assuming, like all good web hosts, your new web host has provided you with a new temporary URL for you to access your website in a web browser. In this article, I assume that you have this, it is essential in fact, so please ensure you have this or arrange to have this from your new host. If you don’t have this, did you know it could be even be a subdomain of your existing domain?

Also, I am assuming that your current website (on your old host) is still active and that the WP Admin is still accessible as you will need to refer to this later in this article.

What needs to be done

Here is a list of everything that needs to be done in order to successfully migrate (by the way, this first list is in no particular order, but the list afterwards is!):

  • Install a fresh WordPress instance on your new host
  • Transfer the WordPress content – pages, posts, comments, menus, taxonomies
  • Transfer the WordPress media – i.e. uploads, which is all your images and videos
  • Transfer the WordPress plugins and their settings
  • Transfer the WordPress theme or themes (if you use a child theme) and their settings
  • Configure the WordPress settings – general, reading, writing, discussion, media, permalinks
  • Modify the domain
  • Move the SSL certificate for your domain
  • Test!

And here is the order in which I recommend you carry out these steps:

1: Install a fresh WordPress instance on your new host

Thats a given- you need a clean copy of WordPress to get started and if you are feeling brave it is a good opportunity to upgrade to the latest version of WordPress, or if you prefer to save that fun for another day, install the same version your site is using.

2: Move the WordPress plugins & themes

Here I have combined the two tasks that we need to get done (moving the WordPress plugins and moving the WordPress themes) to be as productive as possible. With this task you are literally just moving the files of the plugins and the files of the themes to your new host…thats it! Normally you can access your websites files via a File Manager from a Control Panel that your web host provides- by doing this, you can select all of the files, compress them (or compact them or zip them) and then download directly from the server, which is much quicker than using FTP to download the files.

Here are the manual steps to follow to transfer your WordPress plugins and themes files to your new host:

  1. Access your old web host’s File Manager
  2. Find where your fresh WordPress instance (from above) was installed
  3. Browse to the “wp-content/plugins” folder
  4. Select all of the folders (not files) and compress
  5. Then download this compressed file
  6. Then, browse to the “wp-content/themes” folder
  7. Select all of the folders (not files) and compress
  8. Then download this compressed file
  9. Now you have 2 compressed files that need to be uploaded to your new web host
  10. Access your new web host’s File Manager
  11. Browse to the “wp-content/plugins” folder
  12. Upload your plugins compressed file that you downloaded previously
  13. Once uploaded, uncompress this file into the “wp-content/plugins” folder
  14. Then, browse to the “wp-content/themes” folder
  15. Upload your themes compressed file that you downloaded previously
  16. Once uploaded, uncompress this file into the “wp-content/themes” folder

Interested in finding about the easy way? Send me a message below!

3: Move the WordPress content

This is potentially the easiest task- but also potentially…not. In theory this task will move all of your WordPress posts, pages, taxonomies, menus, custom fields, custom post types, custom taxonomies and media (i.e. uploads, which is all your images and videos) in one fell swoop.

Here are the manual steps to follow to transfer your WordPress media to your new host:

  1. Login to the WordPress admin on your old host
  2. Go to “Tools” in the sidebar, “Export”
  3. Then select “All content” and press “Download Export File”
  4. After a moment an XML file will begin to download to your computer
  5. Once downloaded, login to the WordPress admin on your new host (note: see Assumptions above)
  6. Go to “Tools”, “Import”
  7. On this page, go to the bottom and under “WordPress” press “Install Now” – this will install WordPress’s own plugin for importing WordPress export files
  8. After a while, this plugin will be installed and activated
  9. Then press “Run Importer” under “WordPress”
  10. Choose the file that you downloaded previously and press “Upload file and import”

In this last step, WordPress conducts a process where it will recreate all of your content (posts, pages, etc) in your new site. It will also try to download all of your images and videos from your old site and create them as media in your new site- however this is where the easy task often fails to be easy. In my experience, WordPress is never capable of successfully completing the import of the media and so I am left performing a manual task to move the media across. I hope that this is not the case for you- I would recommend to try it because my research leads me to believe that it differs for each web host.

Interested in finding out about the easy way to do this? Send me a message below!

4: Configure the WordPress settings

Now that you have all of your WordPress content in place you can go ahead and configure your WordPress site settings. Unfortunately there is no magic import/export built into WordPress that is going to take care of this for you and so you need to go through each of the Settings pages (general, reading, writing, discussion, media, permalinks etc) on your new host and input the same settings that you have used on your old host- just don’t change your WordPress Address or Site Address as your new site will stop working!

5: Activate & configure your Theme

Now this is where you finally start make your site look something like it should!

Here are the manual steps to follow to activate your WordPress theme on your new host:

  1. Login to the WordPress admin on your new host
  2. Go to “Appearance” in the sidebar, “Themes”
  3. You probably have multiple themes here so you need to identify the theme you uploaded previously
  4. Press the “Activate” button for the correct theme for your site – if unsure, please refer to the themes page on your old host
  5. WordPress will now activate your theme

The majority of themes utilise settings and options to allow you to customise them as you wish. So having just activated your theme, you should now configure your theme with the correct settings and options.

Below I have included the manual steps you need to follow to configure some of the most popular WordPress themes:

Divi

  1. Login to the WordPress admin on your old host
  2. Go to “Divi”, “Theme Options”
  3. Press the “Import & Export” button
    Divi Import & Export button
  4. Press the “Export” tab
  5. Then press “Export Divi Theme Options”
  6. After a moment, a JSON file will download to your computer
  7. Login to the WordPress admin on your new host
  8. Go to “Divi” in the sidebar, “Theme Options”
  9. Press the “Import & Export” button
  10. Press the “Import” tab
  11. Press “Choose File”
  12. Then find, select and “Open” the JSON file you just downloaded
  13. Press “Import Divi Theme Options”
  14. Divi will then be correctly configured according to your settings

The7

  1. Login to the WordPress admin on your old host
  2. Go to “Theme Options” in the top menu bar, “Export/Import Options”
  3. Under “Export/Import Options” you will see a textarea full of random characters
  4. Select everything in this textarea and copy to your clipboard
  5. Login to the WordPress admin on your new host
  6. Go to “Theme Options”, “Export/Import Options”
  7. Under “Export/Import Options” select everything in the textarea
  8. Then paste the contents of your clipboard into this textarea
  9. Press “Save Options”
  10. The7 will then be correctly configured according to your settings

Enfold

  1. Login to the WordPress admin on your old host
  2. Go to “Theme Options” in the top menu bar, “Import/Export”
  3. Press the “Export Theme Settings File” button
  4. A TXT file will then download to your computer
  5. Login to the WordPress admin on your new host
  6. Go to “Theme Options” in the top menu bar, “Import/Export”
  7. Press the “Upload Theme Settings File” button
  8. Press “Select Files” and then browse, select and “Open” the TXT file you just downloaded
  9. Then press “Insert Settings File”
  10. Enfold will then be correctly configured according to your settings

6: Activate & configure your Plugins

Now your theme is working, it is time to activate and configure your plugins.

Here are the manual steps to follow to activate your WordPress plugins on your new host:

  1. Login to the WordPress admin on your new host
  2. Go to “Plugins” in the sidebar
  3. On this page you can select the checkbox next to all of the plugins that you want to activate on your site – it is a good idea to refer to the plugins page on your old host to see what is active because you might not want to activate all plugins in the list
  4. Now choose “Bulk Actions”, “Activate”, “Apply”
  5. WordPress will now activate all the plugins you have chosen

As you’re probably already aware most plugins require more than just activation, just like themes, they need to be configured to your requirements. Thankfully the majority of plugins will give you the ability to export and import settings just like you did previously for your theme. So you now need to export and import all the settings for all of the plugins you have activated.

There are A LOT of plugins available for WordPress, but I wanted to give you an illustration using one of the most popular plugins how it should be possible to transfer your settings to your new host.

Yoast SEO

Here are the manual steps you need to follow to transfer your settings for the Yoast SEO plugin:

  1. Login to the WordPress admin on your old host
  2. Go to “SEO” in the sidebar, “Tools”
  3.  Press “Import and Export”
  4. Then the “Export settings” tab
  5. Press the “Export your Yoast SEO settings” button
  6. A ZIP file will then download to your computer
  7. Login to the WordPress admin on your new host
  8. Go to “SEO” in the sidebar, “Tools”
  9.  Press “Import and Export”
  10. Then the “Import settings” tab
  11. Press the file upload input on this page, browse, select and “Open” the ZIP file you just downloaded
  12. Then press “Import settings”

7: Test!

Well done! You have finished the bulk of the work that needs to be done 🙂 This is now an ideal time to leave the WordPress admin and go to the homepage of your website to see if it is working as you expect it to. Browse through all of the pages, use all of the features, be sure everything is working correctly. If not, it is most likely due to your theme being incorrectly configured or one of your plugins. Send me a message at the bottom of this page if are having problems!

8: Move your SSL certificate

Do you know what an SSL certificate is? I hope so 🙂 Your site probably has one, in fact all modern websites should, and it is therefore an important part of migrating your site to your new host.

What I suggest you do is use a new SSL certificate, instead of trying to move your SSL certificate to your new host. Quite simply the reason being that both hosts will require a certificate. After you have updated the DNS for your domain (in Step 9), it will take up to 48 hours (usually it is less time) for everyone around the world to view your website on your new host, not your old host. So as you might understand, you still need an SSL certificate on your old host so that you website continues to work correctly there, as well as a new SSL certificate on your new host so that your website works correctly there also.

Does this concern you getting a new SSL certificate? You need not worry as your new host will probably includes one for free, or you can sign-up to Cloudflare (free CDN provider) who will give you a free wildcard (so it can be used for subdomains as well) certificate for 15 years!

However, if you do need to get a new SSL certificate you can go to any authorised supplier online, buy and download a certificate and then install it on your new host. Or, more simply, you can go direct to your new host and buy and install a new certificate from them- they will usually then make the process of installation for your website very easy.

Some advice! As you have not yet modified your DNS, when you are previewing your site, it will be with a temporary URL, and so you will not see this new SSL certificate in use as it will be tied to your domain. However, once your domain is pointing to your new host, you will see your new SSL in effect.

I talked about 1&1 hosting and A2 Hosting earlier in this article so here is some specific advice if they are your new host:

1&1 hosting

How to order an additional SSL certificate with 1&1
How to setup an SSL certificate with 1&1

A2 Hosting

Order an additional SSL certificate with A2 Hosting
Install a SSL certificate on A2 Hosting that you have bought externally

9: Modify the domain

Before continuing to modify the DNS for your domain, if you feel competent enough to do so, I would recommend that you modify your computers host file so that your website domain points to your new host. By doing so, you can preview your website on your new host using your actual domain and thus verify that it is working correctly- this is a preview of what it will be like after the DNS has been modified.

Visit Rackspace for a great article on how to modify the hosts file for Windows and Mac

How does it look? Is your website working and looking as you expect it to? If so, thats great news and you are now in a position to complete the last step of modifying your domains DNS, if not, please send me a message below and I will help you.

Here are the manual steps to modify the DNS for your domain:

  1. Identify which company is managing your domain – e.g. GoDaddy, 123 reg, Namecheap etc
  2. Visit their website and login to your account
  3. Identify if you have either nameserver (NS) records or if you have individual DNS records that point to your old host
  4. Having done that, I would recommend to follow the same approach for your new host
  5. So, to alter the nameservers, identify the correct nameservers for your new host – your new host can tell you that, in fact they probably have already in an email that they sent when you signed-up
    • Now, change your old nameservers to the new nameservers
  6. Or, to alter the DNS records, identify the correct IP for your website on your new host – again your host can tell you that
    • Now, change your old IP address in your DNS records to your new IP address

Admittedly these steps are very brief, and I would suggest you look-up a knowledge base article from your new host for advice on how to change your domain. Don’t forget, you also have the option to move your domain to your new host so that they become the company that is managing it and you will end up paying them instead of your existing company.

Done!

I hope! How has this experience been for you? Have you had problems? Or do you have some more advice to add to my article? Please do let me know in the comments below

 

Questions or comments?

I've made it very easy for you to send me a question or a comment regarding what you have just read - all you need to do is login with Facebook below, post your question, and I'll reply directly.

Pin It on Pinterest