How to migrate WordPress from *ANY* host to ServerAvatar

By Darshan Shiroya · Published: 27/04/2021 · No Comments

ServerAvatar was built to be multi-purpose server management system. However, we have WordPress as a clear winner when it comes to popularity and ability of scaling and customisation.

As a result, we are managing more WordPress sites than all the other content management systems and PHP frameworks combined!

And, people are migrating more WordPress sites than all the other PHP stuff combined.

Migration is one of the hardest task to perform because the change in server can also take down the site temporarily. We also got many requests to create a documentation for migration, at least for WordPress!!!

So, Here is it!

And one more thing, If you will follow this guide, You don't have any chances of downtime. It means, This is a totally risk-free migration.

In this guide, I will show you How to migrate a WordPress website from any web hosting account to ServerAvatar managed server.

Prerequisites

First of all, you must have a VPS connected with your ServerAvatar account. If you have a server/VPS, but it's not connected, Here are some guides for you.

  1. Connect DigitalOcean Droplet with ServerAvatar
  2. Connect Vultr instance with ServerAvatar
  3. Connect Google Cloud VM instance with ServerAvatar
  4. Connect AWS EC2 Instance with ServerAvatar

Once your server is connected, It will look something like the server on the right side in the following image on Dashboard.

That's all you need before getting started with the actual migration process.

The whole migration process can be divided into two sections. So, We will first Export the WordPress data and then we will Import the WordPress data.

You do not need a domain name and you also don't have to play with DNS anymore. We will follow the simple process and utilize a ServerAvatar feature to migrate the website seamlessly.

Export the WordPress data

You have to perform this action on your current/main WordPress installation.

When I say Export, I mean Everything! I understand, you might have some complications in a WordPress site, Like a WordPress turned into an E-commerce website or a News website with lots of customisations.

And, migration is a complicated process that might cause some downtime. But, we now have a solution for that issue and the migration process to ServerAvatar is now completely downtime-free!

To export the data, we are going to use the All in one WP Migration plugin. It is Free, And it allows us to migrate Database, Media, Plugins and Themes with simple import and export method.

Install All-in-one WP Migration in WordPress

Step 1: Log in to your current WordPress as an Administrator.

Step 2: Click on the Plugins -> Add New from the left sidebar of the admin panel.

Step 3: Look for a plugin just like the following image and click on the Install Now button.

Step 4: Click on the Activate button once the plugin installation is complete.

Once the plugin is active, You will see a plugin list page with a success message.

Now, we can use this plugin to export and import data from and to any WordPress site. So, Let's get started with the export part of the migration process.

Export WordPress data to file

Once the plugin is active, you will see All-in-one WP Migration option in the left sidebar of the admin panel.

When you click or hover on the All-in-one WP Migration option from the left sidebar, you will see a few more sub-option.

Click on the Export option in your current WordPress installation. See the following image for reference.

Now, we have the export wizard in front of us. Before exporting the WordPress data, click on the first option to replace the domain name.

We will use the temporary sub-domain provided by ServerAvatar to verify the migration and confirm the successful migration.

In the first text-field with Find placeholder, Enter the current domain name of your WordPress site.

In the second text-field with Replace with option, enter the following sub-domain.

[xyz-ips snippet="Generate-ServerAvatar-Temporary-Sub-domain"]

Note: Also copy this sub-domain to the safe place or do not reload this page until you complete the migration. The sub-domain will update automatically when you reload this page.

After filling up the text fields properly, the final result should match the following image.

Now, click on the Export to button given at the bottom of the form. It will show you a lot of options to store your backup. You can store your backup on many cloud storage sites as well as download the backup as a file.

If your site is huge with lots of data, store the backup file on the cloud storage account. If the site data is not so huge and your internet connectivity is good, download the exported data as a file.

In this case, I will download the backup as a file.

Once the backup is ready, the download will automatically start on your computer.

Conclusion of Export: In this Backup, we have Database, Themes, Plugins and Media files. However, the exported database has new sub-domain name as a default site URL.

We will also replace it with the actual domain name once the site migration is successful on the sub-domain.

Now, It's time to create a new WordPress application on ServerAvatar with the same sub-domain name that we set in the exported database.

Create an Application in ServerAvatar

Now, Log in to your ServerAvatar account and navigate to the Server Panel of a server panel on which you want to host this website.

To create a new application, click on the application option from the sidebar of the sever panel.

Now click on the Create button to create a new application on your server.

When you click on the Create button, you will see a simple form with few options and input fields.

First of all, you will see an option to select the primary domain. Click on the ServerAvatar Subdomain option to use the sub-domain that ServerAvatar will provide you, instantly!

Now, you will see a new text-box to select the application's sub-domain name. Fill up the following information in the form.

  1. Application Name: You can use any application name you desire. Do not use spaces and special characters in the application name.
  2. ServerAvatar Domain: Enter the sub-domain name we generated for you above.
  3. Application Type: WordPress
  4. WordPress Title: The title of your WordPress site.
  5. WordPress E-mail: Enter the E-mail address you want to associate with this WordPress installation.
  6. WordPress Username: Enter the new WordPress administrator username.
  7. WordPress Password: Enter the new WordPress administrator password.

After filling up all the information correctly, the form should look like the following image.

Make sure to enter the ServerAvatar sub-domain without any mistakes in the form.

Finally, Click on the Create Application button to create an application on the server.

Once the application is ready, You will see the Application Dashboard on your screen. It's recommended to install an SSL certificate before you move further with the guide.

Now you can access your Fresh, New WordPress installation with the ServerAvatar sub-domain. It's time to import the data and restore our website on the sub-domain.

Import WordPress data in New WordPress Installation

Right now, we have a brand new WordPress site. It does not have any plugin or theme or data.

So, It's time to install the All-in-one WP Migration plugin. You can follow the same steps you followed before in the older WordPress installation.

Once the installation is done, Click on the All-in-one WP Migration -> Import option to import the data we exported from older WordPress installation.

Make sure that the Maximum Upload file size is greater than the size of your exported data.

If the Maximum Upload file size limit is lower than the size of the backup, you can easily modify it from the PHP settings section from ServerAvatar's Application dashboard.

Now, start the import process from a downloaded file or from the cloud storage provider. Once the import is started, you will see a progress bar on the screen just like the following image.

The import process will take some time based on the Server's available resources and also the size of the backup.

Once the process is complete, All your Media, Plugins, Themes and Database tables will be imported in your WordPress installation. And you will see a pop-up something like the following one:

Click on the Proceed > button to continue the migration. Once the migration is done, Reload the page to see a WordPress login page.

If you see a login page, Great! The server migration is complete! Check out your site from the user side on the ServerAvatar sub-domain.

Perform the following tasks on your site running on the sub-domain.

  1. Visit the internal pages of your site from the user side.
  2. Visit the administrator panel just as you used to do.
  3. Publish a test post on the site running on sub-domain.
  4. Delete a test post.
  5. Upload a test file in the Media section of your site.
  6. Delete a test file.
  7. Check all the posts.

Once you are confident that the site on the sub-domain is the exact replica of the original site, The WordPress site is migrated successfully!

Now, We are going to add a domain name to the application in ServerAvatar.

Add a Domain Name to Application in ServerAvatar

To perform this task, log in to your ServerAvatar account and navigate to the Applications section from the top navigation bar.

Once you are on the application dashboard, you will find Domains section in the left sidebar. Click on it to add a new domain name to the application.

So, that's all you have to do. Now, we are going to update the domain name mentions in the database back to the original domain name.

Update the domain name in Database

What I am trying to say is, Right now, Your newly migrated site is on the ServerAvatar-subdomain. And we changed all the domain mentions when we exported the data from the current WordPress installation.

It means that we have to change the domain name mentions in the database back to the original domain name.

To do this, Log in to your new WordPress site running on the ServerAvatar sub-domain.

Click on the Plugins -> Add New option from the left sidebar of the administration panel.

In the search box, Type Search and Replace. In the results, Find a plugin with the name Better Search Replace. Click on the Install button to install the plugin. Then click on the Activate button to activate the plugin.

Then, find and click on the Tools -> Better Search Replace option from the left sidebar of the admin panel. You will see a simple form that allows you to search and replace anything in database tables.

Here, The Search for is your temporary ServerAvatar sub-domain. And the Replace with is the main domain of your website. Make sure to select all the tables from the list.

Note: The last option "Run as dry run?" is to test the query before actually executing it. Always dry run the query for the first time. You will see the number of instances that can be replaced.

After executing the query, You should lose access to the administration panel of the site. You will be able to access your site using the ServerAvatar subdomain. But, you can only access the homepage of the site with the sub-domain. If you will try to access the internal pages, you should see your website on the actual domain name.

However, the site is still not running on the server managed with ServerAvatar. To allow all the users to access the website on the ServerAvatar server, we have to update the DNS zone file.

Now, we just have to change a single DNS entry to move your site's traffic from the old host to the ServerAvatar managed server.

NOTE: If you no longer want to use the ServerAvatar sub-domain after migration, you can disable it from the Domains section of the Application dashboard.

Update the DNS entry(ies)

It's time to log in to the DNS service provider's portal. Most probably, your DNS provider is the same as your Domain provider. It means, the company from whom you purchased your domain name.

If you are using Cloudflare for your site's DNS requirements, Log in to Cloudflare.

Now, Go to the domain's DNS Zone file. Once you are there, you will see a lot of entries in a table. Find an entry with following pattern.

TypeNameContent
A@ or domain.comYOUR_CURRENT_SERVER_IP

Once you find the entry, Edit the entry and replace the old server IP with new server IP.

TypeNameContent
A@ or domain.comYOUR_SERVERAVATAR_SERVER_IP

Save Changes and wait for the traffic to move from one server to another!

You will see a spike in Database queries fired! If you see a spike, Congratulations! The traffic is moving from your old server to your new server managed with ServerAvatar!

You can find a chart on the Server Panel at the bottom of the page. With traffic moving from old server to new, You should see something like this.

So, that is how you can migrate any WordPress website from any host to a server managed with ServerAvatar without the risk of downtime.

Make sure, to install the SSL certificate just after creating an WordPress application in ServerAvatar. It is because, when you will update the DNS entry to redirect traffic, ServerAvatar will keep an eye on your domain name and it will automatically install the SSL certificate for your main domain name within a few minutes.

Finally, Let's talk about some special cases that can cause issues with the migration process.

Common Errors and Special Cases

There are few cases in which you might face issues while WordPress migration. The first issue is.

Additional tables: The process we followed will only update domain name in default WordPress database tables. If you have additional tables in your WordPress from other plugins, execute the Search and Replace query in PHPMyAdmin for the additional tables.

404 error on Internal Pages: If you see 404 Page not found issues on all the internal pages, just go to the admin panel of your New WordPress site. Then navigate to Settings -> Permalinks option from the left sidebar. And, click on the Save Changes button to solve the problem.

Additional PHP files: If your WordPress site has custom functionalities added by you with the help of additional PHP files, Make sure to download it from the old server and upload it on the ServerAvatar managed server using SFTP. You can find the SFTP information from the Application Dashboard in ServerAvatar.

Conclusion

So, this migration process allows you to migrate your WordPress site from any host to ServerAvatar without leaving the ServerAvatar Portal and the WordPress administration panel. If done properly, You can easily migrate a typical WordPress site within 10-15 minutes.

If you are facing any issues or have any questions, please use the comment section given below. If you are facing any issues while working on the ServerAvatar portal, contact support for quick help!

BONUS!

Use the Coupon code MIGRATENOW to get flat 35% off on credits you add to your ServerAvatar account!

Get Started with Free $10 ServerAvatar credits now!

Use the coupon code "START10" after registration to redeem credits.