Do you want to learn how to manually migrate a WordPress site?

Migrating your WordPress website manually from one host to another can feel overwhelming, especially if you’re doing it for the first time. But with the right steps and some technical know-how, you can successfully move your WordPress site yourself.

This article will provide you with step-by-step instructions on how you can migrate your website manually.

Table of contents

Expert tip: Before you start, make sure to create a backup of your WordPress website. This way, you’ll have a copy of all your files and databases if anything goes wrong during the migration process.

1. Export your WordPress database

Let’s begin by exporting your WordPress database. 

A WordPress database is where all your website data is stored. Most hosting providers allow you to access and export it through a database manager known as phpMyAdmin.

Here’s how you can export your WordPress database in phpMyAdmin:

  • Log in to phpMyAdmin and choose the database you want to download. Your WordPress database will typically have a name that starts with “wp_“.
  • Navigate to the Export tab located in the top menu.
  • Select “Quick – display only the minimal options” as your Export method and ensure the Format is set to SQL.
  • Simply click the Go or Export button at the bottom of the page to export the database. 


Once the download is complete, the database will be saved as a .sql file. Compress this file in zip format and save it on your computer.

Remember: This downloaded .sql file is the heart of your website’s migration. Your website’s functionality depends on it, so handle it with care.

2. Download your site files

The next step is to download your WordPress files. The typical way to do this is to log into your server via an FTP client (such as FileZilla) and transfer the files to your local computer. 

Here’s how you can do it:

Begin by installing an FTP client on your computer. For our demonstration, we’ll be using FileZilla as our FTP client. Once installed, open the FTP client.

In FileZilla, enter the hostname, FTP username, password, and port number in the fields at the top of the interface. You’ll need to gather this information from your hosting provider.

Then, click on the Quickconnect button to establish a connection with your server. 


Once connected, you’ll see your site files in the right panel. Navigate to the public_html folder, which is your WordPress installation directory, and select all the files and folders within it. Right-click on the selected files and choose the “Download” option.


FileZilla will then transfer the files from the server to your local computer. Compress all the downloaded files into a single zip archive. This not only saves space but also simplifies the upload process on the new server.

3. Upload your site files to the new server

Now that your WordPress files are downloaded and compressed into a zip archive, it’s time to upload them to your new server.

For this, you can use FTP or head over to the new website’s file manager provided by your hosting provider. Similar to your old website, locate and open the public_html folder. 

If the new server already has a website running on it, it’s recommended to delete its contents before uploading your files. This ensures a clean migration and avoids potential conflicts with existing data.

Caution: Only proceed with deleting existing content if you’re absolutely certain you want to replace it. This step is irreversible.

Upload the downloaded compressed zip file containing your WordPress files to this directory. 


Once the upload is complete, extract the zip file within the public_html directory. This will unpack all your essential WordPress files and folders into their designated locations within the public_html directory. Without extraction, your website won’t function properly.

4. Create a new database

For a new WordPress setup, you’ll need to create a fresh database to import your saved SQL data. The process varies depending on your hosting provider, but there are two primary methods to create a database.

Method 1: Using cPanel

  1. Login to cPanel with the cPanel username and password.
  2. Click on the “MySQL Databases” icon.
  3. In the “Create New Database” section, enter a database name and click Create Database.

Method 2: Using phpMyAdmin

  1. Access phpMyAdmin using the provided login credentials.
  2. Select the Database tab. This will redirect you to a list of existing databases and an option to create a new one.
  3. Enter the new database name into the “Create a new database” field.
  4. Click Create.

5. Edit the wp-config.php file

Configuring the wp-config.php file is one of the most important steps in WordPress website migration. This file contains essential information about your new database that lets WordPress connect to its data. 

Here’s how to edit the wp-config.php file depending on your situation:

  • Fresh WordPress install: Open the directory and find the file named “wp-config-sample.php”. Make a copy of this file in the same location and rename it to wp-config.php.
  • Existing site migration: If you have a website running, you should already have a wp-config.php file ready for editing.

Regardless of the scenario, open the file in a code editor (Notepad++ or similar) and look for this specific section:

/** The name of the database for WordPress */

define( ‘DB_NAME’, ‘database_name_here’ );

/** Database username */

define( ‘DB_USER’, ‘username_here’ );

/** Database password */

define( ‘DB_PASSWORD’, ‘password_here’ );

/** Database hostname */

define( ‘DB_HOST’, ‘localhost’ );

In this section, you’ll find details like database name, username, and password. Replace this information with that of your new host. 

If you’re using a new wp-config.php file, you should also replace your unique keys as well. 

Once done, save the file.

6. Import your original database

You also need to import your old database into the new one you created. For this:

  1. Log in to phpMyAdmin for your new site again and navigate to the database you created.
  2. Go to the Import tab.
  3. Click the Browse button under the “File to import” section to select and upload your database file.


4. Once you’ve chosen the file, click the Import button at the bottom of the screen. 

This will begin the process of importing your original database.

7. Change DNS settings

Your website should be up and running on your new server or domain name. But there’s one more thing to handle: the Domain Name System (DNS).

DNS translates your domain name (like into an IP address (such as that computers can understand. Right now, your DNS is probably still pointing to your old host. To make sure visitors find your new location, you’ll need to update your DNS to point to your new host

However, the exact steps will vary depending on where you registered your domain name. Most registrars offer clear instructions on their websites. Just search for it on your domain registrar’s website and follow their guide.

8. Update URLs (optional)

This step is only necessary if you migrate your WordPress site to a new domain. If you’re keeping the same domain, you can skip this section.

To update your URL references, you can use the Search Replace DB script. Upload the script to your server using FTP and run it in a web browser to make the necessary updates. After using the script, immediately delete it from your server. Leaving it accessible could compromise your site’s security.

Alternatively, you can also use a plugin like Better Search Replace to make these changes. It’s a safer and more user-friendly approach than using the scripts.

Bonus: The easiest way to migrate a WordPress site

Let’s face it. Manually migrating a WordPress website is not a wise decision, especially if you’re a non-technical person. It’s a complex process that involves steps like exporting databases, editing files, and potentially code tweaks – all while hoping nothing breaks. 

So, the easiest and safest alternative for migrating a WordPress site is to use a free WordPress migration plugin like UpdraftPlus

UpdraftPlus lets you migrate your website to a new location by restoring a backup on another WordPress installation. 

All you need to do is create a backup of your live site and download it. Within UpdraftPlus on the new site, navigate to Existing backups > Upload backup files and upload the backup file you downloaded from your old site. Once the upload is complete, select the backup and choose the Restore option. 

It’s as simple as that!

If you upgrade to the premium version, you can fully customise every aspect of the migration. It means that you can even select specific plugins and themes to transfer.

All this takes away the stress of going through complicated steps and worrying about losing important data.


And that’s it!

Moving your WordPress site from one host to another might seem scary, but it doesn’t have to be. By following the steps outlined in this article, it’s totally possible. Several migration plugins are available that can make your site migration process even easier. Just make sure you’re prepared and have enough time, and you can do it.


How do I manually move a WordPress site?

To manually move a WordPress site:

  1. Export the database of your current WordPress site using phpMyAdmin
  2. Move your site files to the new hosting server via FTP or a file manager
  3. Create a new database on the new server
  4. Update the database credentials and site URL in the wp-config.php file of the new hosting
  5. Import the previously exported database

How do I migrate my WordPress site for free?

To migrate your WordPress site for free, you can either do it manually or by using a plugin. For manual migration, export your site’s database via phpMyAdmin, transfer site files, create a new database, update wp-config.php, and import the database. Alternatively, you can opt for a plugin such as UpdraftPlus, which simplifies the migration process by handling complex tasks.

How to easily move my WordPress site?

The easiest way to migrate your WordPress site is to use a plugin like UpdraftPlus. UpdraftPlus creates a complete backup of your site (files, themes, plugins, database) and lets you restore it on a new WordPress installation. It’s a simple four-step process: backup, download, upload to the new site, and restore.