Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now

Duplicator Blog

Everything you need to know about the Duplicator plugin.

How to manually migrate WordPress

How to Manually Migrate a WordPress Site (Ultimate Guide) 

Do you want to manually migrate your WordPress site?

Although migrating your website might seem daunting, it’s possible with the right steps. If you have some technical knowledge, you can move your content to a new host or domain name without any third-party tools. 

In this tutorial, we’ll show you how to manually migrate a WordPress site, step by step!

Why You Might Want to Manually Migrate Your WordPress Site

When you first set up your website, you’ll choose a hosting plan and domain name that meets your needs. However, you may eventually need to migrate your site. This involves moving your WordPress website to another web host, server, or domain.

Here are some reasons to migrate your site: 

  • Poor website performance. You could start experiencing downtime, slow loading speed, or other performance problems. In this case, you’ll need to find a better web host.
  • Increased organic traffic: Once you grow your small business or blog, your server may not be able to handle this traffic spike.
  • Rebranding: A complex domain name can impact your website’s credibility. If you’re considering moving to a new domain, it’s time to migrate your site. 
  • Building a staging site: Making changes to your live site could break it. To avoid this problem, you can migrate your content to a localhost staging site. 

Once it’s time to move your site, you might consider using a migration service. Although these can automate the process, you may want to do it yourself. If you have some technical knowledge, you can manually migrate WordPress without any third-party tools.

However, keep in mind that manual migration always comes with some risks. You could lose important data or break your entire site. To make this process easier and safer, we’d recommend installing a WordPress migration plugin like Duplicator Pro

How to Manually Migrate a WordPress Site

Before you start migrating your website, it’s important to take a few preventive steps. First, delete any inactive WordPress plugins and themes so you’re not migrating useless content. Then, make sure to fully update your site, themes, and plugins.

We’d also recommend disabling any caching plugins installed on your original site. Sometimes, these interfere with the migration process.

Lastly, back up your website. This will ensure that you have a functional copy of your site if anything goes wrong during the manual migration.

Step 1: Export Your Database

To get started, you’ll need to export your original site’s database. Once you have this database backup, you can easily upload it to your new server.

Usually, your web host will allow you to easily access phpMyAdmin, which is a database manager. With Bluehost, for example, find the phpMyAdmin button:

WordPress phpMyAdmin

Then, select your database. After this, click on the Export tab:

phpMyAdmin export

This will give you options for exporting your database. You can select Quick as the Export method. Be sure to choose a SQL format:

Export WordPress database

To export the database, hit Go. Your database will automatically be downloaded as a SQL file. Lastly, compress it into a zip file. 

Step 2: Transfer Your Site Files to the New Server

Now you’ll need to download your old WordPress files. To do this, log into the file manager that is recommended for your web host. This could be cPanel, FileZilla, or a custom-branded manager.

For this tutorial, we’ll be using FileZilla. This is a third-party SFTP/FTP client that is useful for editing website files:

FileZilla website

To connect your site, enter your host name, username, password, and port number. You can find this information from your WordPress hosting provider:

FileZilla Quickconnect

After you click on Quickconnect, you’ll see your site files in the right-hand box. Then, open the public_html folder, which is your root directory. Select all of the core files in this folder and download them:

Download site files

Once FileZilla transfers these files to your computer, compress them into a single zip file. This makes it easy to upload them to the new server.

Next, open the file manager for the new website. Similar to the old site, find the public_html folder and open it. However, you’ll need to delete all of the content in this folder:

Delete site files

Then, upload your original files to this directory. You can simply drop your zipped file into the upload box if you’re using cPanel:

Upload site files

Be sure to extract the zip file after it uploads. You should now have your original files uploaded to the new website. 

Step 3: Create a New Database

If you’re working with a new WordPress installation, you’ll need to create a new database. This will provide a space to import your saved SQL database.

Depending on your hosting company, this process might vary. If you’re using a host that provides cPanel, find the Databases settings and click on MySQL Databases:

MySQL databases
MySQL Databases

You can simply name the new database. Then, hit Create Database:

Create MySQL database

Along with a new database, you’ll need to add a new user. Provide a new username and password in the MySQL Users section:

Create MySQL user

Then, link the new user to the database you just created. Underneath Add User to Database, select the new user and database:

Add user to database

Feel free to grant the user all privileges. This will give the user full control over the database. 

Step 4: Import Your Original Database

Once you’ve created a new database, you can import your original database into it. To do this, open phpMyAdmin for the new site and select the database you added. Then, go to the Import tab:

Import database

On this page, click on Choose File and upload your zipped database file. Lastly hit Go to import your original database. 

Step 5: Edit the wp-config.php File

Every WordPress site has a wp-config.php file that contains information about its database. Since you uploaded your original site files to a new server, you’ll need to update this wp-config.php file.

First, open your file manager and go to public_html » wp-config.php. In this file, find the lines with db_userdb_name, and db_password:

Update wp-config.php file

Delete the old database name, user, and password. Then, add your new database information. 

If you moved to a new domain, you should also search for any mention of your old domain name or URL path. Be sure to update this data to point to your new website. 

Step 6: Update Your DNS Settings

By now, your website will be fully migrated to the new server or domain name. Although your site is functioning, it’s important to also update how it’s displayed in the Domain Name System (DNS). 

Currently, your domain’s DNS will point to its old host. Luckily, you can easily change this to reflect your new host.

This process will vary depending on where you registered your new domain. To give you an idea of how this works, we’ll walk you through the steps to change your nameservers in Bluehost.

First, log into your hosting account and go to Domains » My Domains. Then, expand the dropdown menu on the right-hand side of your domain and click on DNS:

Bluehost DNS settings

Here, you’ll see your DNS records, including your nameservers and IP addresses. Next, hit Edit:

Edit DNS record

To point to a new web host, go ahead and select Custom as the Setup Type:

Custom nameserver setup

Now, simply enter the information for your new host. It can take up to 48 hours for the DNS to propagate and start pointing to the new site.

After this time period, open your WordPress dashboard and go to Settings » General. Find the WordPress Address and Site Address and update them:

Update WordPress address

If you’ve moved to a new URL, you’ll also need to search and replace instances of the old domain. This way, images and other old URLs will point to the existing site. To do this, you can use the Search Replace DB script

Duplicator: An Easier Way to Migrate WordPress

If you don’t have much experience working with the WordPress database or files, a manual site migration might not be the best option. With all of the potential risks involved, you’ll probably want a safer way to migrate your website.

One fast and simple alternative is to install a WordPress migration plugin. Duplicator is a powerful tool that allows you to move your website with ease:

Duplicator plugin

The benefit of using Duplicator Pro is its drag-and-drop functionality. You can create a package that bundles your site’s content, themes, plugins, database, and files. Then, simply drop this zip file into the second site:

Import website archive

Plus, Duplicator was built to handle large sites and Multisite networks. You don’t have to worry about losing important data from your agency or business website. 

Ultimately, this tool will save you a lot of time and effort as you’re moving your website. Rather than struggling with file managers and phpMyAdmin, you can allow Duplicator to do the work for you!


That’s it! You can now manually migrate your WordPress site.

Need a beginner-friendly way to migrate your website? Check out our guide on how to migrate WordPress with Duplicator.

Do you want to make the migration process much easier? Download Duplicator Pro to drag and drop your original website to a new location!