How to Move WordPress to a New Host or Server Manually


Ahh!! You heard it right. You can migrate your entire WordPress site without paying anyone or using any paid plugins.

In this tutorial, we will show you how to migrate a WordPress site from one host to another in a few easy steps. Do not skip any step as you may end up losing your website data.

Note:- Basic knowledge of DNS, MySQL, PHP is recommended.

Disclosure: I may receive affiliate compensation for some of the links below at no cost to you if you decide to purchase a paid plan. You can read our affiliate disclosure in our privacy policy.

#1 – Creating a Backup Archive of your WordPress site

‘The First thing to get started is to zip all the files in your WordPress.’The First thing to get started is to zip all the files in your WordPress.

Log in to your cPanel of your Hosting Provider and locate the root directory of your WordPress. Select the root folder and compress it in a .zip extension.

Once you have zipped all the files inside it. Download the zip file to your local computer. Keep a copy of the zip file in case you mess up with the original one.


You can use FTP to download all the files to your computer.

#2 – Download the Database of your site.

From your cPanel, click on phpMyAdmin and select the database of your site from the navigation menu.

Click on Quick Export and select the Format as SQL. Click on the Go button and the database export process will start and a .sql file will be downloaded to your local computer.

Once the database is downloaded, you can move to the next step.

#3 – Change the DNS ( Skippable process )

If you want to use the same domain for your blog and just migrate your site from one host to another, then you need to change the DNS settings.

Go to your Domains DNS settings. You will find this setting from the domain provider.

Change the DNS settings to point your domain to your new host. This can be changing the Nameservers, or adding some A & CNAME Records and deleting the old ones.

Once your domain name is pointed to the new host, assign your domain to your hosting account.

After you have assigned your domain, open your website in Google Chrome, you will find a blank page or a Default welcome page by your provider.

You have successfully changed your DNS settings, now you can move to the next step.

#4 – Create a new database in your New Host.

As now your domain is linked to your new hosting provider. The next thing you need to do is to create a database for your WordPress site. The process is very simple and easy.

Login to your new web hosting and connect to the cPanel. Next, Find the MySQL Wizard to create a new database.

Open the MySQL Wizard and create a new database with a name for your website.

Create a new MySQL user and save the password to a secure place.

Add this user account to the new database you have created and grant all the Privileges.

Note down the database username, database name and the database password, you will need them soon.

#5 – Importing the database.

Login into your cPanel and search for phpMyAdmin. Launch phpMyAdmin and select the database you have created right now.

Once it opens, select Import from the navigational menu.

In the File to Import, click on Choose File and select the .sql file that you have downloaded earlier.

Untick the partial import and choose the format as SQL.

Click the Go button and your database import process will start.

Importing the database can take a few minutes. You should receive a notification once the database import process is successfully completed.

#6 – Upload your existing WordPress files to the newer host.

Go back to your cPanel, and search for File Manager or FTP. It depends on which method you will use to upload the files.

Using File Manager

If you want to use the file manager to upload all the downloaded files of your website. Open File Manager and navigate to your root directory where your domain is pointing. If you have one domain assigned, then it will be the root directory.

In case you are using multiple domains, the directory will be named after your domain.

Open the folder and click on upload.

Select the .zip files and upload the file.

Once the file is uploaded successfully. Click on it and extract all the files in the same directory.

You have now successfully uploaded all the files of your website

Using FTP

If you want to use an FTP program, log in to your Cpanel and create a new FTP user. Save the FTP user password and username.

Use the FTP program ( FileZilla in most cases) and connect your host by providing the FTP Url, Username and password.

Once the FTP is connected, Navigate to the root directory of your website and then upload all the files using FTP.

The FTP software will alert you after all the files have been imported.

Now you can move to the next step to make your website live.

#7 – Tweaking the settings of your new WordPress site.

Since now your database is ready and your website is also ready, but you need to connect your website to your database to make it work. To do that, open the root directory of your WordPress site using a file manager or FTP program.

1. Change The Database Name

Locate the following line:

define(‘DB_NAME’, ‘db_name’);

The db_name portion of this line will currently be set to the MySQL database name of your old web host. This must be changed to the name of the new database you have just created.

2. Change the Database Username

Below this you will find the line:

define(‘DB_USER’, ‘db_user’);

In this line, you need to change the db_user portion from the username of your old host to match the new username you have just created.

3. Change The Database User Password

Finally, edit the third line:

define(‘DB_PASSWORD’, ‘db_pass’);

As with the others, the db_pass section of this line must be changed to the new secure password you created for your MySQL user.

Save wp-config.php and close the file.

#8 – Testing, if it works.

Now refresh your website to check if everything works fine. Test and play with your website by clicking on some URLs and posts.

If your website is working fine then you can skip step 9.

If you find your post returning to 404 – not found, then you need to do the final touches.

#9 – Final touches.

Final touches are for those who get 404 – not found posts. Login into your WordPress admin > Settings > Permalink.

Choose the permalink structure that you used earlier. Click on save changes and again Save changes.

Now your website should be working like earlier in your new host.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *