Move a WordPress Site with the Duplicator Plugin

There are a lot of migration systems for WordPress. We’ve had lots of good experiences with All-in-One WP Migration. Some people swear by WP Migrate DB Pro. Others are partial to WP-CLI’s terminal-based systems. One of the few tools I’d never tried was Duplicator, but I recently did and I love it. I was very pleasantly surprised about a specific facet of it: I don’t need WordPress to get a new local copy of a remote WordPress site running on my local machine. You just pull down two files, put them in the same folder, and then you’re set. It’s great!

Duplicating WordPress sites is a common task for people developing them, whether that’s to change some plugin or theme settings, or do full-fledged plugin development writing PHP or JavaScript. One hassle I’ve found with most other solutions is that you don’t have a little one-step process, I’d instead have to install WordPress, then a plugin to accept my migration, then accept it. What a hassle! Duplicator skips all that, with an installer.php file, that it run from your browser and quickly gets you a WordPress sites in a few click of a wizard.

Here’s a video explaining how to work with Duplicator:

And for those who prefer, here’s the step-by-step how-to making migrations with the Duplicator plugin for WordPress:

How to Migrate a Site Using the WordPress Duplicator Plugin

  1. Install and activate, on the WordPress site you’re copying from, the Duplicator plugin.
  2. Click on “Duplicator > Packages” in the left-side menu (it’s be toward the bottom).
  3. In the top right on that screen, click the “Create New” button.
  4. Click through the wizard. That’ll be a blue “Next” button on the “1-Setup” screen, and a “Build” on the “3-Build” screen.
  5. When you see “Package Completed” click the “One-Click Download” link. You should be prompted (by your web browser) to download two files. Save both.
  6. After they’ve completed the download, move the two files (installer.php and something ending with .zip) into the folder you’ll want the WordPress site in.
  7. In a web browser (with your server running) visit the installer.php file.
  8. If everything works, you should see a wizard screen similar to the style you saw in your WordPress dashboard. You’ll need to click “I have read and accept all terms & notices.”
  9. Click “Next”
  10. Here you’ll need to have a database ready. Then tell Duplicator your database name, user, and password. For me, that meant creating a new one with MAMP, but this step will vary depending on your environment.
  11. If it all works, you’ll see “Step 4 of 4: Test Site”. There you’ll want to click the “Site Login” button, and log in to your WordPress site using the same username and password as you have on the remote site.
  12. You should now be in a full-fledged copy of your WordPress site. Make sure to clean up after Duplicator. It’ll give a helpful admin notice (banner at the top) showing you think. If you click “Take me there now!” you’ll then be on the screen to click “2. Remove Installation Files Now!” After you do that, you’re done.

It’s pretty amazing how polished and slick the Duplicator plugin is. I know 12 steps looks like a lot, but migrating sites is hard, and in the above I favored small explicit steps. I assure you this is easier than most other WordPress migrations I’ve done in my career. You can hear my surprise and excitement in the video. ;p

Studying Migrations Because You’re Not on the Best WordPress Hosting?

We know a lot of people are moving their WordPress site because they’re dissatisfied with their current hosting plan. If that’s you, be sure to check out our comprehensive guide to where to find the best WordPress hosting:

Finding the Best WordPress Hosting of 2019: An Honest Guide

29 Responses


  • Backup Buddy (by iThemes) works exactly the same way, plus you can obviously use it for backups.


  • If you could add screenshots along with the steps, it would be more helpful.

    Thanks for article.

  • Martin Jocher says:

    If I download the archive zip, it’s suddenly 0 Byte.
    Why can this happen?

  • Robin says:

    This WordPress duplicator is used to migrate a website from one hosting to another hosting. This plugin creates a backup of our website. Can we use UpdraftPlus WordPress Plugin to create our backup and then transfer our website??
    Can we use UpdraftPlus instead of WordPress duplicator?

  • Tony says:

    this works ok even if moving to a new directory and new domain?

  • puguh says:

    I forgot to download installer.php, so what can I do now? My previous site has gone and i just have archive file. Could I take another installer.php and put a side archive?

  • Webbie says:

    Hi David,
    Thanks for putting up this tutorial. I’ve just finished building a new website on my localhost and am ready to migrate. Your tutorial is clear, apart from step 10, where you say: “Here you’ll need to have a database ready. Then tell Duplicator your database name, user, and password.”

    Do you mean I have to set up a new database at the domain I want to migrate to, or do you mean the specs of the database on my localhost, which obviously is already filled with my newly made website?

  • Federico says:

    Hi David,
    thank you for this great step-by-step guide. Do you suggest to use Duplicator (maybe pro version) also to have regular backups?
    Or do you suggest another plugin?

  • Dave says:

    I want to duplicate my live site to a subdomain.

    1. Does the Duplicator package contain all of WORDPRESS or do I need to install WORDPRESS first on my subdomain?

    2. Where do I upload the Package to on the subdomain?

    Thank you.

  • Kunal Mate says:

    Really helpful for work on the local machine.
    Great plugin.

  • Abdullah Prem says:

    After watching this video, I did migration myself.

  • Larry says:

    Sir, If I am going to clone the site to target host. The target host tells me there is an error of extracting the archive. The page tells me to go Advanced Option but I cannot find this option at my target host installer.php . Please tell me what to do next

  • pault says:

    Hello, I completed all the steps, and it says it was successfully migrated over, but when i go to the subdomain i put it on, it says “Future home of something quite cool.” … but yet the wordpress dashboard seems to be up and running… just not the front site. Any thoughts? Thanks so much!

  • Thanks for the wonderful guide. Keep writing 🙂

  • Brian says:

    What about replacing an existing WP site? i.e. overwriting it.

    Here’s the scenario:
    Existing site is in the (/), new site layout and design is in /new/. I would simply like to overwrite the old site with the new one. Assuming I have backed up the original site, is it ok to run the installer in the root dir of the existing WP site?

  • Devendra Singh says:

    love you man…….

  • Arnold says:

    I develop sites under a temp folder on my website and the client has a link so that they can see my progress and suggest changes during the process. Once everything is done to their satisfaction (and I’ve been paid) I transfer to their domain.
    I’ve been using Duplicator for about 8 years now. Seen all the hype about other migration plugins, but never felt the need to try them as Duplicator did all that I needed and I found it straightforward to use.

  • Arnold says:

    Just a quick question.
    Just noticed this – how come the article date is May 9, 2019, but the first comment is June 5, 2018?

  • Nancy says:

    Hi, what do I do if I want to reinstall an old site locally but I don’t remember my login info

  • Phillip says:

    Hi Dave,

    In trying to follow your directions of moving my remote site to Localhost, I am having problems getting the installer.php to activate. I have the latest WordPress and PHP installs.

    Are you aware of the reasons why this might be so?

    With thanks…

  • pelumi says:

    works for me too.

    I was using updraft Plus and it worked well also

  • Diya Jain says:

    You are absolutely right…. it’s a big task.
    By the way nice article with defined pointers.

Add a Comment

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