Get the Best WordPress Backup
& Migration Plugin Today
Get Duplicator Now
Announcement for Duplicator's migration service

Duplicator’s New Migration Service: Move Your Website Without Lifting a Finger

Are WordPress migrations stealing your valuable time? Duplicator's new done-for-you migration service handles everything from start to finish in 3…
How to migrate a WordPress site

How to Migrate a WordPress Site (Beginner’s Guide for 2025) 

Written By: author avatar Joella Dunn
author avatar Joella Dunn
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.
     Reviewed By: reviewer avatar John Turner
reviewer avatar John Turner
John Turner is the President of Duplicator. He has over 20+ years of business and development experience and his plugins have been downloaded over 25 million times.

Migrating your WordPress site can seem daunting. However, with the right approach, you can do it effortlessly, all while preserving all your data and avoiding downtime.

This guide will teach you how to successfully transition your site using plugins or manual methods.

… I’ve seen it countless times. You’ve built your WordPress site from the ground up, but now you need to move it somewhere new.

Maybe your hosting costs are climbing or you’re ready to switch to a new domain name you’ve had your eye on.

Whatever your reason, you’ve got valuable content to pack up, important files to transfer, and that nagging worry that something might break along the way.

In my experience, when you have the right approach, you can move your entire website without losing a single piece of data or experiencing any downtime.

I’m going to walk you through exactly how to migrate your WordPress site safely and efficiently.

Here’s what you’ll learn in this article:

  • Step-by-step instructions to safely and efficiently migrate your WordPress site
  • Guidance on choosing a migration method that suits your technical comfort level
  • Common mistakes to avoid that can lead to downtime or data loss
  • Post-migration checks to ensure your site works properly after the move

Whether you’re comfortable with technical details or you’ve never touched a line of code, you’ll find a method that works for you.

Quick Summary: How to Migrate a WordPress Site

To quickly get you started, here’s how to migrate a WordPress site!

Back up your current website
Secure your site files and database before making any changes.
Prepare the new hosting environment
Set up your new host. This may include installing WordPress, depending on the migration method you choose.
Transfer your site files and database
Move your content using a plugin like Duplicator or do it manually for more control.
Update DNS settings
Point your domain to the new server by updating your DNS records.
Verify site functionality
Test pages, links, and forms to ensure everything works after the move.
Notify search engines
Use tools like Google Search Console to submit your updated sitemap and maintain SEO visibility.

Table of Contents

When is a Website Migration Needed?

A WordPress website migration involves transferring your entire site (including its files and database) from one hosting environment, server, or domain to another.

There are several common reasons why this process is needed:

  • Upgrading Hosting: Moving to a new web hosting provider or upgrading your current plan to accommodate increased traffic and performance needs.
  • Domain Name Change: Shifting your website to a new primary domain name.
  • SSL Implementation (HTTP to HTTPS): Transitioning your site’s URL structure from unsecured HTTP to secure HTTPS.
  • CMS/Framework Transition: Migrating content from or to a different Content Management System (CMS) or web framework (though this article focuses on WordPress-to-WordPress migration).
  • Creating a Staging Environment: Moving your live site to a local server or a staging server for safe testing of design changes, updates, or new functionalities before deploying them back to the live site.
  • Development & Design Overhaul: Facilitating major structural, design, or navigation changes by working on a separate environment.

Migrating your site ensures that during these significant transitions, you maintain data integrity, minimize downtime, and preserve your website’s content and traffic.

How to Migrate a WordPress Site

Migrating a WordPress site can be overwhelming (and risky) if you’re not sure what you’re doing. But with the right approach, you can move your site without losing data or causing downtime.

In this section, you’ll learn exactly how to migrate your WordPress site, step by step.

I’ll cover both plugin-based and manual methods, so you can choose the approach that fits your comfort level and site complexity.

Method 1: Use a Plugin to Migrate Your WordPress Site

If you manage an e-commerce store or blog, you’ll want to find the fastest way to move WordPress sites.

Fortunately, there are many WordPress migration plugins available to make this process easier.

Duplicator is a popular and flexible tool for migrating your website. Using Duplicator, you can quickly and safely move your entire site to a different domain or hosting provider.

Duplicator Pro plugin

This makes it one of the best WordPress migration plugins you can find. Here are some more helpful features you can expect from Duplicator Pro:

  • Automated & Manual Backups: Flexible options for creating site backups.
  • Customizable Backups: Filters for selecting specific files and databases to include.
  • Large Site & Multisite Support: Handles larger sites and WordPress multisite networks effectively.
  • Cloud Storage Integration: Direct backup storage to services like Google Drive, Dropbox, and Amazon S3.
  • One-Click Restores: Simplifies site recovery from backups.
  • Disaster Recovery: Quick site restoration (even without needing the dashboard) in case of issues.
  • Guided Migration Wizard: Provides a clear, step-by-step interface for the entire migration process.
  • Managed Host Compatibility: Supports migrations to and from popular managed WordPress hosts including WordPress.com, GoDaddy, and WP Engine.

Not sure if Duplicator is right for your site? Learn how Rock Lobster Webdesign uses it to make migrations “incredibly easy”!

When you’re ready to migrate your website, sign up for a Duplicator subscription. With Duplicator Pro, you can access unlimited migrations, drag-and-drop installs, and cloud storage integrations.

Step 1: Install and Activate Duplicator

Follow these simple steps to get Duplicator Pro up and running:

  • Download Duplicator Pro: After purchasing, download the plugin ZIP file.
  • Install & Activate: In your WordPress dashboard, go to Plugins » Add New » Upload Plugin, then install and activate the plugin.
  • Activate License: Navigate to Duplicator Pro » Settings » General. enter your license key, and click Activate.
Activate Duplicator license key

Disable Caching Plugins: Before you start migrating your site, disable any caching plugins. Often, these can cause errors during the migration process.

Step 2: Back Up Your Original Website

After this, it’s time to create a backup of your original site. This is a copy of all your existing site’s content, plugins, themes, database, and WordPress files. 

First, navigate to Duplicator Pro » Backups » Add New.

Add new backup with Duplicator

Give the backup a name with dynamic tags. Choose the Local storage location.

Duplicator backup first step

To migrate your entire site, you’ll need to create a complete backup. In the Backup section, click on the Full Site preset.

Full site backup preset

The Duplicator plugin will then check your website’s setup for issues. Review any notices before creating the backup.

Duplicator backup scan

As Duplicator builds the backup, you can track its progress. You’ll know the files are ready to download when they appear on the Backups page. 

Download backup archive file

To migrate your website, you’ll need to download the zip file with your site’s data. Next to the backup you just created, click on Download » Archive.

Quick Summary: Backing Up Your Original Website

  • Start a New Backup: Navigate to Duplicator Pro » Backups » Add New
  • Name and Set Storage: Enter a backup name and choose Local as the storage location
  • Select Full Site Backup: Choose the Full Site preset to include all files and the database
  • Run Pre-Backup Scan: Let Duplicator scan your site and review any warnings or notices
  • Wait for Backup to Complete: Monitor progress until the backup appears on the Backups page
  • Download Backup Archive: Click Download » Archive to save the full backup ZIP file

Step 3: Import Your WordPress Site

Once you download your website files, log into your second site. In your new dashboard, install and activate Duplicator Pro.

This will allow you to import your core data without needing a File Transfer Protocol (FTP) client or phpMyAdmin!

If you haven’t already, install WordPress and create a new database on the new hosting server. You can usually do this through your new hosting provider’s control panel.

Next, click on Duplicator Pro » Import Backups. Here, drop your saved archive file into the import box.

Import a backup with Duplicator

Once it imports, you can view details about the backup. If everything looks correct, hit Continue.

Continue installing backup

To continue migrating your site, click on Launch Installer.

Launch Duplicator installer

On the next page, select Full install single site as the Install type. This will completely clear the current site and replace it with your original files.

Install type

Then, click on Validate. After you review any notices and warnings, select the terms and notices checkbox and continue to the next page.

Import validation

Lastly, you’ll need to confirm the installation settings. Make sure the WordPress database settings are correct before hitting OK.

Install confirmation

Now Duplicator will migrate your previous WordPress website to its new home! Keep in mind that if you’re migrating to a new domain, you may also need to update your Domain Name Server (DNS). 

With Duplicator, you don’t even have to install WordPress!

Simply upload your old website’s archive and installer files to the new server. Then, visit this URL to launch the migration wizard: https://your-domain/installer.php

Quick Summary: Importing Your Original Site into the New Location

  • Set Up the New Host: Use your new web host to install WordPress and a new database.
  • Install & Activate Duplicator: On the second site, install Duplicator Pro and activate your license.
  • Import the Backup: Go to Duplicator Pro » Import Backups and upload your backup file.
  • Launch the Installer: Confirm that the backup imported and hit Launch Installer.
  • Follow the Migration Wizard: Select the Full install single site install type and validate the migration.
  • Confirm the Installation. Click OK if the migrated database settings are correct.

Method 2: How to Migrate Your WordPress Site Without a Plugin

Manual WordPress site migration is an alternative if you prefer not to use plugins or require a deeper level of control.

This method is generally recommended for advanced WordPress users due to its technical complexity, requiring direct interaction with site files and databases.

  • Important Precaution: Before attempting a manual migration, always perform a complete backup of your original website. This crucial step allows for restoration in case of errors.
  • Consider Host Services: Many web hosting providers offer free or low-cost migration services, which can significantly simplify this process and prevent the need for manual intervention.

For beginners, I’d recommend using a migration plugin like Duplicator to move your content quickly and safely. 

Step 1: Export Your Database

First, start by exporting your database. If your old site is live, sign into phpMyAdmin to manage your database. For a localhost, you can use MySQL Workbench instead.

In this tutorial, we’ll be using phpMyAdmin. First, click on the Export tab at the top of your dashboard.

phpMyAdmin export

For the Export method, select Quick. The Format should be SQL. Then, hit Go.

Export WordPress database

After the database downloads, save the file to your local computer. If your new web host also uses phpMyAdmin, zip the file. 

Step 2: Upload Your Site Files to the New Server

Next, log into the file manager for your original hosting account. Depending on your host, this could be cPanel or a custom-branded manager. Alternatively, you may have to use an SFTP/FTP client like FileZilla.

Select all of the files in the root folder (public_html). This includes important files like wp-admin and wp-content. Right-click on them and hit Download.

Download site files

After downloading your site files to your local computer, compress them into a zip file. 

Now you’ll need to go to the file manager for your new site. Open the root directory, select all of the files, and delete them.

Delete site files

Once the root directory is empty, hit Upload. In the upload box, add your zipped file.

Upload site files

Lastly, extract the zip file. You should see the files from your original site. 

Step 3: Create a New Database

To store your site’s data, it’s important to create a new MySQL database. If you’re using cPanel, start by finding the MySQL Databases button.

MySQL databases
MySQL Databases

Then, give the database a name and hit Create Database.

Create MySQL database

After creating a database, you’ll need to create a new user with rights to control the database. Under MySQL Users, add a username and password for the new user.

Create MySQL user

Find the Add User To Database section. Here, select the user and database you just created.

Add user to database

You can then assign all privileges to the new user. This will allow the user to make changes to the database.

Step 4: Import the Original Database

Open phpMyAdmin for the new site. At the top of the page, select the Import tab.

Now you’re going to import the database that you saved earlier. Under File to import, upload your saved SQL file.

Import database

Make sure the database is a zipped SQL file. Then, import the new database.

Step 5: Update the wp-config.php File

After a manual migration, you’ll need to update a few values in your new site’s wp-config.php file. To do this, reopen the file manager for your new site. Then, find the wp-config.php file in the public_html folder.

In the wp-config.php file, locate the database settings. You’ll need to redefine the database name, username, and password values to match your new site. 

Here are the values to update:

  • db_name
  • db_user 
  • db_password
Update wp-config.php file

You’ll also need to search this file for your old domain name. Delete this text and replace it with your new domain. Similarly, search for your old URL path and add your new one. 

Quick Summary: How To Manually Migrate Your WordPress Site

  • Export Your Database: Use phpMyAdmin (or MySQL Workbench) to export your database as an SQL file. Save it locally and zip if needed.
  • Download Your Site Files: Access your old host’s file manager or FTP, download all root files (wp-admin, wp-content, etc.), and then zip them.
  • Upload Files to the New Server: Delete existing files in the new server’s root directory, upload the zipped files, and extract them.
  • Create a New Database: In cPanel, create a new MySQL database and user, then assign all privileges to the user.
  • Import Your Database: Use phpMyAdmin on the new site to import the saved SQL database file.
  • Update the wp-config.php File: Edit wp-config.php to update your database name, username, and password. Replace the old domain and URL paths with new ones.

What Should You Do After Migrating Your WordPress Site?

Whether you migrate your WordPress site manually or with a plugin, there are a few post-migration tasks you’ll need to complete. This way, your new site functions well and continues to appear in search results.

Post-Migration Checklist:

  • Review Site Functionality & Speed: Thoroughly test all pages, links, forms, images, and features on your new site. Verify loading speeds and user experience across different devices and browsers.
  • Fix Broken Links: Use a broken link checker (e.g., Ahrefs Site Audit, SEMrush Site Audit, or a WordPress plugin) to identify and repair any internal or external links that may have broken during the migration.
  • Implement Redirects: If you changed your domain name or URL structure, set up 301 redirects from old URLs to new ones. This is crucial for preserving SEO value and directing user traffic.
  • Update DNS Records: Point your domain’s DNS (Domain Name System) records to your new hosting server’s IP address. Be aware that DNS propagation can take 24-48 hours globally.
  • Inform Search Engines (Google Search Console): Notify Google about your site migration via Google Search Console’s Change of Address tool, especially if you changed domains.
  • Test SSL Certificate: Ensure your SSL certificate is correctly installed and functioning, so your site loads securely over HTTPS. Verify the padlock icon in the browser.
  • Crawl New Website: Initiate a fresh crawl of your new website using a tool like Screaming Frog SEO Spider or Google Search Console’s URL Inspection tool to identify any remaining issues.

Specific Considerations for Manual Migrations:

Run Search and Replace Script: If you performed a manual migration and changed your domain, it is imperative to run a database search and replace operation to update all instances of your old domain or URLs to the new ones.

Plugins like Search & Replace Everything can automate this. Duplicator Pro handles this automatically during its migration process, eliminating this extra step.

Important Note on DNS Propagation:

DNS propagation takes time. It is strongly recommended not to delete your old hosting account until you are certain your new site is fully live and DNS records have completely propagated worldwide to prevent any potential downtime.

Especially after a manual migration, you could see errors. If your newly migrated website isn’t working as it should, see these troubleshooting tips.

Frequently Asked Questions (FAQs)

How do I migrate my WordPress site for free?

You can migrate your WordPress site for free using the free version of the Duplicator plugin. This involves creating a backup (archive) and installer file, then uploading these to your new server and running the installer script (e.g., https://your-domain/installer.php). Alternatively, many web hosting providers offer free migration services as part of their hosting packages, which can be a convenient option.

Does migrating a site affect SEO?

Yes, migrating a website can temporarily impact your Search Engine Optimization (SEO) rankings due to changes in IP address, server location, and the need for search engine bots to re-crawl your site. However, you can significantly mitigate negative SEO effects by ensuring a safe migration (with a reliable plugin like Duplicator), implementing permanent 301 redirects for any URL changes, and formally notifying Google about the migration via Google Search Console. Installing an SEO plugin post-migration is also advisable.

How long does it take to migrate a WordPress site?

The duration of a WordPress site migration varies based on site size and method. With efficient tools like Duplicator, a migration can be completed in just a few minutes for smaller sites by simply backing up and importing files. Manual migrations or very large sites may take several hours to a full day. DNS propagation, which is outside the migration process itself, can add another 24-48 hours before the site is fully live worldwide.

What is the best WordPress migration plugin?

Duplicator is widely regarded as one of the best WordPress migration plugins for its ease of use, flexible features, and ability to handle various migration scenarios. It supports drag-and-drop imports and automated search-and-replace functionalities. Another effective alternative is All-in-One WP Migration, though Duplicator Pro often offers better support for larger sites and WordPress multisite networks.

How do I copy my WordPress site to another website?

To copy your WordPress site to another website, a cloning plugin such as Duplicator Pro is highly recommended. This tool allows you to create a complete copy (or backup) of your site. You then upload the generated archive and installer files to your new server’s root directory, and access the installer.php file (e.g., https://your-domain/installer.php) via your browser to launch the guided migration wizard.

Can I move my WordPress site to another domain?

Yes, you can absolutely move your WordPress site to another domain. Duplicator provides a straightforward method for this. After backing up your site and importing it to the new location, use Duplicator’s built-in search and replace tool (available in Advanced mode during installation, typically in Step 3). This allows you to automatically update all instances of your old domain in the database with the new domain, ensuring all internal links and references work correctly.

Migrating Your WordPress Site Just Got Easier

Migrating a WordPress site may seem daunting at first, but it’s a manageable process, and often a necessary one for growing your online presence.

Whether you use a plugin like Duplicator (my go-to tool) or handle the process manually, following each step carefully will help you avoid downtime and data loss.

Don’t skip the post-migration checklist. Testing your site, fixing broken links, configuring redirects, and confirming DNS settings now will save you hours of frustration later.

I remember how daunting my first WordPress migration felt. But after helping countless site owners through this process, I can tell you it’s a natural part of growing your online presence.

While you’re here, I think you’ll like these other WordPress guides:

Do you want to avoid the hassle of a manual migration? Download Duplicator Pro to access drag-and-drop WordPress migrations!

author avatar
Joella Dunn Content Writer
Joella is a writer with years of experience in WordPress. At Duplicator, she specializes in site maintenance — from basic backups to large-scale migrations. Her ultimate goal is to make sure your WordPress website is safe and ready for growth.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. We only recommend products that we believe will add value to our readers.