Copy & Migrate WordPress Sites with Duplicator Plugin

The free Duplicator plugin makes it easy to copy and migrate WordPress sites. It's the best free alternative I could find to BackupBuddy, the extremely popular backup and migration plugin from iThemes.

Note: We currently use ManageWP for migrating sites, but we still use Duplicator in some cases where ManageWP won't work (such as sites that aren't publicly accessible).

Here's how to make a copy of your site with Duplicator. The exact steps you follow may differ depending on your server/host.

Note: you don't need to install WordPress at the destination before following these steps.

Note: This page contains affiliate links. Please see Affiliate Disclosure.

Create a Copy of the Website

  1. Install and activate Duplicator.
  2. In your admin menu, you'll have a new Duplicator menu item. Click it.
  3. Click the Create Package button, then Create Package Set.
  4. If you're moving to another server, click the Installer and Package buttons to download the files. If you're staying on the same server, skip to the next step.
  5. Use FTP or another file manager to access your website. If you downloaded the installer and package, upload them to the directory where your new site will live. If you're staying on the same server, notice the new wp-snapshots directory next to your wp-admin and wp-content directories. Copy the files ending installer.php and to the directory where your new site will live. Rename the file ending installer.php to simply installer.php.
Duplicator plugin package set

Create a New Database

The Duplicator plugin is supposed to be able to create databases, but I couldn't get it to work, so I manually create them. If you need to do this, see your host for instructions (BlueHost and HostMonster users, see MySQL Database Creation)

  1. In cPanel, create a new database.
  2. Create a new database user.
  3. Give the user all privileges to the database you created.

Install the Package

  1. In your browser, enter the URL of the new website, followed by /installer.php. For example, if I'm creating, I'd browse to
  2. Change the fields in the Settings section if desired.
  3. Enter the database information, and click Test Settings.
  4. Check the box .
  5. Click Install and wait for the installation.
  6. Follow the steps on the next page to finish the installation.
  7. Delete the contents of wp-snapshots in the source site.

For more details, see the Duplicator documentation. Here's the official overview video:


If Duplicator doesn't work the first time you run it, try again. Sometimes it works the second time.

Duplicator may not be able to create packages for sites with a lot of content; it may time out. Try going into the Duplicator settings and excluding wp-content. After using Duplicator to migrate the package, manually move wp-content via SFTP.

Duplicator should automatically change your links to reflect your new site URL. If you have problems, you may need to refresh your permalinks. In your WordPress admin menu, go to Settings > Permalinks. Your current selection should already be selected; just click Save Changes without changing anything.

Since I didn't create this plugin, and haven't used it in all its possible ways, I haven't experienced many of the problems that others have. So, I'm not the best person to ask for support. I suggest that you check the following places:

If you need professional help migrating or copying your WordPress site, please contact us.

Pro Version

If you like the free version of Duplicator, you may be interested in Duplicator Pro, an enhanced version which adds the following features:

  • scheduled backups
  • cloud backups (Dropbox, Google Drive, OneDrive, Amazon S3)
  • support for WordPress Multisite
  • support for large sites
  • email notifications

Express Your Gratitude

If this plugin worked for you, please consider donating to support the developer (which isn't me). After all, how much time and money did this free plugin save you?

Let OptimWise Maintain Your WordPress Site

You’d rather manage your business than manage your WordPress site. At OptimWise, we know how to take care of WordPress sites for businesses. We’ve been doing it since 2010! Sign up for your WordPress Maintenance Plan today.

Filed Under: 

Want tips to rocket-boost your website?

Simply sign up.

306 comments on “Copy & Migrate WordPress Sites with Duplicator Plugin”

      1. i don't know but most if not all of the forms i use never work.. am i doing anything wrong?

        1. Michael, could you please give some more detail? Do you mean after you use Duplicator to copy a site, the forms on your website stop working? Which form plugin are you using? Do the form entries show up inside WordPress?

    1. I used the Plugin along with your tutorial. I built a site locally on a server and used the plugin to move the site to a hosted server and use a new domain. The plugin worked like a charm, built the database and all. I used to move everything manually, it took quite some time to do. Now I'll put this method in my toolbox for many more sites to come. Thanks!

    1. Thanks, Dan. I've sent links to this post to several others who asked me how to migrate their sites. It's encouraging to know that others find my posts useful.

  1. With about 15 WordPress sites to move to a new hosting company, I read multiple articles and watched many videos about how to use the Duplicator plugin - and was still confused! Your instructions were easy to understand and made the process simple. Thank you.

    1. I'm really glad to hear that, David. When I was searching for instructions, I also found the documentation unclear, so I wrote this post. Knowing that it's helping you and others makes it worth writing.

  2. Thank you SO MUCH, Chad! I was actually holding my breath as I followed these directions. It worked beautifully! I have moved WP manually several times, but this was far easier. One thought--I was confused as to whether I need to already have WP installed on the new host before moving the site. That may be something to add to the instructions--that WP installation is not needed to do this.

    Thank you again!

    1. You're welcome, Janet. I'm glad the directions helped. Good point about noting that you don't need to install WordPress at the destination. I've added that to the post.

  3. Thanks so much for this article! I tried to follow some instructions from a smashingmagazine article and got in over my head. This worked so quickly and your instructions were very easy to follow. Really appreciate this.

  4. This tutorial helped me duplicate my site for free, glad it didn't cost me anything and this plugin even maintained some links I am surprised were not broken (such as the Pretty Link Plugin) Thanks!

  5. THANKS SO MUCH for sharing this Chad! I would love to buy you a coffee since I now won't be up all night with a site that has been driving me crazy (until now!!). I just wish I knew what was going wrong but so glad it's in the right place now! Thanks again 🙂

      1. Hi Chad, maybe I won't need to drink coffee now that I've found Duplicator!! I just donated to Life in the Grid, least I can do when it's made my life so much easier!

  6. Hi,

    Thanks for the clear instructions. But i had 2 warnings at the end. The problem now is that i can't upload and files/pictures/plugins at my Xampp backup. Could someone help me out 😉

    WP-CONFIG WARNING: The wp-config.php has one or more of these values WP_CONTENT_DIR, WP_CONTENT_URL, WPCACHEHOME, COOKIE_DOMAIN, WP_SITEURL, WP_HOME, WP_TEMP_DIR which may cause issues please validate these values by opening the file
    MEDIA SETTINGS WARNING: The table 'wp_options' has at least one the following values ['upload_url_path','upload_path'] set please validate settings. These settings can be changed in the wp-admin by going to Settings->Media area see 'Uploading Files

    1. Maikel, sorry to hear that you had issues. I haven't used Duplicator for local installations such as Xampp, so I don't have any specific advice. It sounds like some of the paths changed when you went to/from Xampp. For the first warning, check your wp-config.php file. You may want to compare it to a copy of the file from a clean installation of WordPress. For the second warning, go into your WordPress admin and check Settings > Media to see if it has an upload path specified. Otherwise you may need to look at that in the database, in the wp-options table.

      If you can't figure it out, you may need to find someone familiar with using Duplicator and Xampp. You could ask in the Duplicator plugin's support forum, LifeInTheGrid support (they make the Duplicator plugin), or the general Support Forums.

  7. Hey Chad,
    Very cool to see your post come up when I was searching this topic! Other than the cost, what are the major differences between this and Backup Buddy? Also, I know some web hosts don't play well with BB, are there any limitations with Duplicator?
    Thanks - see you at WordCamp GR!

    1. Kim, I just recently purchased BackupBuddy (after writing this post), and I've only used it for backups so far; not for migration. From what I've read, the migration functionality is very similar. The only limitation I've run into with Duplicator was in duplicating a site that was over 2 GB, on a shared host. The process kept timing out. I ended up using the Duplicator settings to exclude the wp-uploads directory, and moved that directory via SFTP instead.

      You may be able to find a more detailed comparison elsewhere.

      Yeah, WordCamp Grand Rapids should be a great time!

  8. Hi, I`m having issues using this tool. On step 2 from the deployment it gives me a 403 error. can someone help me with this. thanks

  9. I am having some problems with the migration. I was totally with you until the very end. It says to update your permalinks structure... I'm not sure what that meant? So I changed it and clicked ok. Now my site looks great but none of the links work. What did I do wrong?

    1. Amy, to update your permalinks means to log into WordPress, then go to Settings > Permalinks. Your current selection should already be selected; just click Save Changes without changing anything. That step is often required when making changes to WordPress (after migrations, after creating custom post types, etc.). If you changed your permalink structure, try changing it back to what you had. If that doesn't work, you may need to run Duplicator again, this time simply saving the permalinks as they are, rather than changing them.

  10. Hi Chad
    I haven't space on my web Host for file package .zip and i want make on another server.
    Is it possible?

      1. Emilio, I haven't tried to store the package on an external server, but I very much doubt that's an option. Once I had a site that had so much content that Duplicator was choking, so I went into the Duplicator settings and excluded wp-content. The package was much smaller. After migrating, I manually moved wp-content via SFTP. You could try that if you're running out of space.

        Other than that, try asking for help in the Duplicator plugin’s support forum, LifeInTheGrid support (they make the Duplicator plugin), or the general Support Forums.

  11. Chad you're a star, used this to move 3 sites to new servers. One issue I did come up against was with one particular site. When I tried to create package I just got a grey bar across the centre of the page and nothing was clickable exept the back button. To solve this I simply deactivated ALL plugins, tried again and everything was fine. May be useful info for someone 🙂
    Once again thanks for your tutorial.

    1. Jon, thanks for the tip. It sounds like one of the plugins conflicted with Duplicator. I'm sure others will run into the same issue and will appreciate your comment.

  12. Hi, I followed all instructions and everything seemed to work fine, but none of my files actually transferred to my new site. I never got any errors, there just nothing at the new site. I checked my download and it has everything in it. What could have happened?

    1. Mike, I'd first say try again. When others have had issues, they've repeated the process and it worked the second time. If that doesn't work, read on. When you say there's nothing at the new site, what do you mean? When you browse to your address, do you just get a white screen? If so, it may be an issue with the theme. Try to go straight to your login page ( and see if you can get to the admin area. If you can, try switching themes. It could also be a plugin issue. You can deactivate plugins by renaming their directories.

      If none of this helps, try asking for help in the Duplicator plugin’s support forum, LifeInTheGrid support (they make the Duplicator plugin), or the general Support Forums.

  13. awesome, thank you!!! I have managed to successfully screw up a website in the past and was a bit nervous to move a site again... but this worked like a charm 🙂 Easy

  14. Hi Chad - thanks for this great post.
    I'm a very fresh-off-the-press newbie and have just completed my wife's first WP business website. My problem: due to unforeseen circumstances, I have to move her site from the current host to a new host. I would like to keep all of her MySQL and WordPress settings (ie. user names, passwords, database name, table prefix, host name ... etc) all exactly the same on the new host, as what I had set up on the old host. Just checking with you - that if I follow all your instructions and fill in all the same details in the new setups as I did in the old - that all will be fine?
    Thanks again 😉

    1. Troy, the Duplicator plugin should handle that just fine. It packages up the MySQL database and all the files (WordPress core and user uploads), then lets you move them to a new location and unpack them. The site's settings are included in either the database or the files (such as wp-config.php), so they'll all migrate.

      Note that the new host may a have different database hostname than your old host; you'll need to check. When you create your new database on the new host, you should be able to use the same name as on the old host, and the table prefix will be preserved by Duplicator.

      The nice thing is, the package is just a copy of your site, so if by chance something doesn't work right, you can always try again; your original site will not be affected in the process.

  15. Chad, I like Duplicator and it seems to always work like a charm. While it is free, remind people to send the authors a donation. That keeps the awesomeness flowing.

  16. Chad, I have an existing WordPress site that I need to redesign and I am wondering if you can help me figure out how to go about it. The new website I am building is going to be very different than the old one (totally new design, new pages, new categorization system, etc.). The problem is that my client wants to retain all of the blog posts (incl. photos) and user information from the old site.

    I've been doing some reading, but it seems like the more reading I do, the more confused I get. Is the following the correct way to go about this?

    (1) Use Duplicator to clone the site to a new location (say, (2) Use the duplicate site as a dev environment to build a custom theme, create the new pages, and reorganize the categories, while keeping the old site live at (3) When the new site is ready, move the installation from to

    Am I on the right track?

    1. Megan, that's the process I'd use, with a couple notes: I would use a subdomain ( rather than a subdirectory ( to reduce the chances of the dev site being indexed by search engines. You could use a subdirectory if you configured your robots.txt file properly, but I've found that it's easier to just put dev sites in subdomains. Also, after you duplicate the site, log into the dev site and in the Reading settings, check the box for Discourage search engines from indexing this site. Remember to uncheck this after you duplicate the dev site back to live.

    1. The source site is the site you copied; the original. It's best to delete the package(s) from the wp-snapshots directory for security purposes, and they're no longer necessary after you've successfully duplicated the site.

  17. Chad- Just used your guide and it worked like a charm. I too was a backup buddy user many years ago, but didn't really want to pay any more for the subscription. Found your site and followed the steps moving the site from one server to another. Worked perfectly!! I didn't try having the installer build the database, but that wasn't a big deal at all in my CP.

    1. Glad to hear it, Bill. I've become a big fan of BackupBuddy since writing this post, but I still use Duplicator occasionally, and still recommend it to others who don't have or want BackupBuddy.

      1. Chad,

        I have used it with great success on several different sites to move them from one host to another. Today, I am going to try to move a WP site from one directory to another. Basically off of a test directory to the root directory. Your instructions say to skip the step five, but I was wondering if that was the case. Let me know.

        1. Bill, my instructions weren't clear. I just updated them. Since you're staying on the same server, you don't need to download the files to your machine and re-upload them; they're already on the web server, so you can just deal with them through FTP, cPanel, or however you work with files on your server.

  18. Hi Chad Warner! Love and kisses to your plugin.

    I tested your plugin and the process on my small website and it worked like a magic. Thank you.

    I am using a shared server which has limit for:
    php_max_time: 30
    php_max_memory: 64M

    My website total database size is 4GB.

    What can be the solution to move this large website?

    Thank you in advance.

    1. Swapnil, I didn't create the plugin; I just blogged about it. I'm glad the plugin worked for your small site. For the large site, try going into the Duplicator settings and excluding wp-content. After you migrate using Duplicator, manually move wp-content via SFTP.

  19. Thanks for the article Chad! Duplicator with help from you made transferring a site for a client much easier than I thought it would be. I only had a couple problems, one I was working on a password protected dev sub domain so I had to make it public again for the transfer to work.

    The other problem I could use some help with. On the new domain the  character has shown up in multiple paragraphs throughout the site. Is there an easy way to remove them or do I have to go post by post and edit each of these errant characters out?

    1. Sean, it sounds like the database character set changed. Open your wp-config.php file for each site (original and copy), and compare the values for define( 'DB_CHARSET'. If the copy is different than the original, change it to match, then check the site again. If that doesn't work, you may need to convert the copy's database to a different character set. I haven't done this, but hopefully that Codex page helps. There may be plugins that do it too.

      When you find the solution, please post it here. I'm sure others would appreciate the follow-up.

      1. Hi there,

        I had this same problem. For some reason I found that when changing changing ‘utf8’ to ‘utf-8 (hence the dash), all of the weird A character's were gone. Note, this is located just after define ('DB_CHARSET') function.

        Hope this helps.


  20. This article is really awesome - thanks so much Chad!

    However, I managed to get everything all set up but for some reason I am having problems with redirect. The new url keeps redirecting to the old one. Would you happen to know what could be causing this please?

    Many Thanks mate

    1. Kay, that could be happening for several reasons. Here are some places to check for redirects: domain registrar, DNS host, hosting panel (such as cPanel), .htaccess file, and a redirect plugin in WordPress. If you don't see redirects in any of those places, you may need to ask your host or system admin for help.

  21. Thanks Chad - I'm currently speaking to my hosting support and they are struggling to figure it out. Hopefully, they will - fingers crossed.

  22. Chad. Useful site. Thanks!
    Last time I used duplicator it worked great. I wanted to duplicate only ONE website at a time of my many sites on the old host.
    When I installed the package on my new webhost, I inadvertently had duplicated the WHOLE set of sites.So I had my new sites already started and then underneath the root I had the whole thing all over again from my last host. All of my sites. Now I am afraid to use it because I think it will happen again. How do you only duplicate one at a time when they are under the public_html folder in folders of their own?

  23. hello,
    thank you for your article,
    the plugin is top saves us a lot of time.
    I know this Lugin I've used that worked perfectly, except that I have a problem a serious problem.

    No error during and even after the migration except that my site works on every page except the index page (top display menu) and not afterwards and the same for my blog page.
    I redid the migration 5 times and still the same problem.
    My site is in 45MB and it is in two languages ​​and I use qtranslate for it.

    Thank you for your help.

    1. Yohan, sorry to hear you're having trouble. I don't provide support for this plugin, but others do. Please see instructions in the post, under Troubleshooting.

  24. Hi Chad. A client of mine has come to me and want me to copy the existing site of their sister company and use it as a template for their site (and then tweak it with their logos, products, etc.) I did the site so not an issue on the copyright front. Would your instructions help with this? Thanks. Tyrone

    1. Tyrone, that sounds like a great use for the Duplicator plugin and my instructions. You'll need access to the WordPress admin area of the sister company's site to install Duplicator. You can then move the package it creates to any server, change the site URL, and modify it as you please.

  25. Hi! I got everything to work perfectly, thanks to you (moved a WordPress site from a sub directory to the root). However, I'm still seeing for all of the pages and whatnot. Did I miss a step? Thanks!

  26. Nevermind - I figured it out! I had forgotten to change my Site URL and WordPress URL in my database 😀 Thanks! These are the only instructions I will ever use again!

  27. Hi Chad,

    Have you ever encountered issues with adding a duplicated WordPress site into a sub directory? I followed everything properly; however, when clicking on 'test connection' within the installer setup, I receive the following error:

    The database mydatabasename has 15 tables. The Duplicator only works with an EMPTY database. Enable the Table Removal checkbox to delete all tables and proceed with installation. Please backup all your data before proceeding!

    Some hosting providers do not allow table removal from scripts like the Duplicator. In this case you will need to login to your hosting providers control panel and remove the tables manually. Please contact your hosting provider for further details.

    I don't dare empty the database as I'm assuming that the database its referring to is the one that enables the main website to function (considering that's the mySQL info I typed in in order to be accepted)...all I'm seeking to do is be able to work on a WordPress site in a 'testing' area to see how it looks before making those changes on the live site. I don't want to mess with any files that affect the main website though.

    Any ideas on this would be amazing! I've found nothing online so far...


  28. I solved it! I re-read your post and realized you had stated to create a new database. I did that and it solved the issue. Thanks!

    1. Sam, I'm not sure I understand your question. I don't review plugin code, so I can't tell you if there are flaws in the Duplicator plugin. It's worked for me and for many others, as you can see by the comments on this post and in the WordPress Plugin Directory.

  29. So I got the Duplicator process down. I now have my on my computer that is a copy of production so I can test out some styling and what not. One thing I'm having trouble finding a clear explanation is how to push updates from your developer site to production. Looking for suggestions or a nice process to make that happen. Pushing changes and updates between two sites after you duplicate, rather than installing a new clone.

    Great post and thanks in advance for any response.

    1. I usually duplicate the entire dev site back to production, or move just the relevant part(s) (new theme, etc.). I haven't needed anything more sophisticated, so I haven't looked for options. I've heard that WP Migrate DB Pro is great for keeping WordPress databases in sync, but I haven't used it. If you come across any other good tools or techniques, please comment again.

  30. Thanks for a top article Chad. Needed your tips to get a duplicator archive to work on Theres certainly a lot of variance between host providers with regard to directory permissions and the like, and im veering towards a VPS with a tried and tested LAMP stack as the best way to dodge all the individual host gotchas...Thanks again.

  31. I've created an entirely new WordPress site in a sub directory and would like to replace the existing live site in the root, with the new one. I've packaged both websites up with Duplicator but am not entirely sure as to what to do I delete the database (of which I made a backup of in phpmyadmin as well) of the existing site, along with all of the files via FTP? then upload the contents of the packaged 'new site' to the root via FTP? It feels like this is a disaster waiting to happen when I visualize it in my head...

    1. Melissa, I haven't used Duplicator in a while (I switched to BackupBuddy), but I believe I usually created a new database for the duplicated site. Regarding files, you will need to delete the WordPress files from the directory into which you want to duplicate the site. Be sure you have a copy of those files before deleting them! If you need more help, please see the Troubleshooting section near the end of the post.

    2. Hi Melissa

      Place the installer.php file and the Duplicator zip package into the root/folder where you plan on adding a new site.

      There is an option in the beginning to Create new or remove all tables. You want to remove all the tables of the existing database WordPress site. When you got to step 2 a message will come up that says that you have to delete the existing sites wp-config.php file. When that is done then you can install the new site on top of the existing site.

      I have created a New video tutorial for the new 0.5.0 version:

  32. Great, thanks Chad! I ended up pulling someone else to help me on it as it was a bit complicated.

    First thing, turn off the permalinks in WordPress on the new 'sub directory' site (select default and hit save). Also in WordPress under settings - general, change the 'site address url' to reflect the root url (remove the '/duplicated site'). After this one has to 'drop' the files within the root website database through phpMyAdmin. For the other database - the new one, there is software you have to run - a search and replace software (Search-Replace-DB-3.0.0), where you search for any instances of '/yoursite/duplicated site/' on the database that was created for the sub directory site, replacing it with the root url - so just '/yoursite/'. After that software works its magic, you export the files from that database, and import them into the newly emptied root website database. After this, through an FTP client or using your cPanel, you clear the 'wp-content' folder on the root drive and add the 'wp-content' folder as well as 'wp-config.php' from the new site that was created. Everything should work fine. Remember to check the permalinks through the WordPress admin panel to ensure that they'e back on.

    It was impossible to find this info anywhere so hopefully this helps someone else.

    1. Melissa, I'm glad you got it figured out. Without seeing your WordPress installation I can't say for sure, but that sounds a lot more complicated than it should be. Duplicator should be able to handle permalinks, changing the site URL, and unpackaging the WordPress directories (wp-content, etc.). I may have had to use the Search and Replace plugin in some rare instances, but otherwise Duplicator usually does almost everything else.

      In any case, I'm glad your migration worked. Thank you for your detailed comments. I'm sure others will benefit from your experience.

  33. Yes I was hoping Duplicator could handle all of that but I couldn't find any information that instructed one on doing that task through Duplicator. If I encounter this issue again, perhaps I'll inquire with the developers for Duplicator in case they may have any helpful insight. Thanks again for your feedback to my questions!

  34. Hello everyone!

    Duplicator has a new developer version which also does basic multisite, has a rewritten backend and more.

    Browse to
    Look for the section Other Versions
    Click on Development Version and download the zip plugin file
    Uninstall your current version and install this one

    Here is an overview of the changes:

    If you can test it out that would be great!
    If you find any bugs please do submit them here:

    Have a great weekend!

  35. Hi,
    thanks for the instructions!
    I used them to move my page from one hoster to another.
    It was really easy with the Duplicator Plugin!

    Many Thanks!

  36. I spent days with to get Duplicator going. It downloaded more or less empty sites ok but I could not get the package created with a larger site. I stripped out everything I could and it was about 120MB. However it would always timeout and unfortunately the host, (Vodahost) would not change that as they said it was a security risk.

    I have had extensive communications with the developers (see on forum) but could not get it working. Neither did I have access to change Open Dir settings. I also tried XCloner but met up with similar issues. I am now on the lookout for a tool to speed up with moving a live site to a local site.

    I suspect many users with shared hosting will run into similar problems. A pity.

    1. Murray, thanks for sharing your experience. Shared hosts often have tight resource limits, hampering plugins like Duplicator. If you can't find a plugin that works in your situation, you may need to manually move the database and files by using tools such as phpMyAdmin and FTP. See Moving WordPress in the Codex for more info.

  37. I have a couple of questions.:) Should we leave the wp-snapshots folder in the NEW site after successfully moving? Should we keep the Duplicator plugin in the NEW site after successfully moving?

    Thanks again!

    1. If you duplicated the site successfully, and don't need to duplicate it again within the next few days, you should deactivate and delete Duplicator. By default, it will remove its settings and delete the wp-snapshots folder when you do so. By removing plugins that aren't actively being used, you make your site more secure, because there's less code for hackers to exploit.

  38. Chad, thanks for all the great info. I'm a complete rookie as far as WP is concerned so I thought I'd start with a basic question first - I want to copy an existing site (it's mine so there's no issue with replicating) including the custom theme, page lay out and content. The only thing different will be a new domain name and hosted with a different company. The original site will remain in use in addition to the new site with the different URL. Is that something Duplicator can be used for as you describe in your instructions?

  39. can I edit the content in similar fashion like I did using wordpress earlier after duplicating it to my new domain name.....or in simple words when i edit my new domain afterwards...will it wordpress interface or other??

    1. Ashish, I don't completely understand your question. From what I can tell, you're asking if your site will still run WordPress after you move it. Yes, it will be a copy of your site as it was at the old domain. Duplicator copies the WordPress database and files. You will be able to work with WordPress as usual.

  40. For anyone getting the WP-CONFIG WARNING: The wp-config.php has one or more of these values ..... error, simply open wp-config and comment out the following:

    /*----define('WP_SITEURL', '........' . $_SERVER['HTTP_HOST'] . '/wordpress');
    define('WP_HOME', '.........' . $_SERVER['HTTP_HOST'] . '/wordpress');-----*/

    It worked for me.

  41. We are trying to merge a standalone blog (let's call it into another website. The goal is to have the contents of the blog display in the website like so:

    I used the duplicator plugin and it worked great! Created a folder within the website called 'blog' and uploaded what duplicator copied. Voila -- there it is --- sort of! : )

    On what was the blog's homepage, the main content no longer displays, but shows a 404 Error. The sidebar, listing past posts and comments, still displays just fine --- BUT --- they still have the URL for the separate standalone blog, i.e.

    I'm drawing a blank what to do here --- I'm assuming it's do-able to have the blog content now display under the URL of the website? Thanks for the great tutorial. We are 80% there, I think.

  42. Hi Chad,

    I am having trouble with the latest version of the Duplicator plugin. It scans and says that The ZipArchive extension for PHP is required for compression. Please contact your hosting provider if you're on a hosted server. For additional information see our online documentation.

    It has never done this before and I have checked the help section for Dreamhost where the site is hosted. They say that for PHP 5.3, it has the ZipArchive extension automatically. I have changed it to PHP 5.4 and then back to 5.4 and neither work with the plugin.

    Any help is greatly appreciated.

    1. Bill, I haven't used Duplicator in a while. I suggest contacting Dreamhost, or seeking support by following the links in the Troubleshooting section of this post.

  43. I keep getting this message: make sure the install file and package are both in the same directory.

    In my version of Duplicator, I cannot specify the package Name and URL.

    1. Have you confirmed that the install file (file with name ending installer.php) and package (zip file) are in the same directory/folder? If you have, and it's still not working, I suggest seeking support by following the links in the Troubleshooting section of this post.

  44. Your instructions worked great and cleared up some of the confusion I'd found other places. However, despite creating an identical database setup, I got a bunch of escaped characters in the new blog -- gibberish characters that usually indicate the encoding is mismatched. Any clue on how to solve that? The official WordPress resource ( is super complicated and doesn't exactly address my issue.


    1. I'm glad the post was helpful. I haven't dealt with a character set problem in a long time. I think I solved one once by adding the default define( 'DB_CHARSET', 'utf8' ); to a wp-config.php that was missing it. See Database character set in the Codex. There are a couple of old, inactive plugins that may be worth trying: UTF-8 Database Converter and Convert WP Database to UTF-8. Otherwise, try the WordPress support forums or

      If you figure it out, please post another comment with your findings.

      1. No luck. I manually changed charsets and used an old plugin. I don't think it's an encoding problem I have but weird Microsoft characters (curled apostrophes, etc) that got in my content where I might have copy-pasted (despite the fact that I prefer the plain text editor). Unfortunately, in any post where those goofy characters appear, when I go to edit, the body is blank. The characters are escaping the content. Back to the drawing board. I'd love to hear any solutions anyone else has come up with.


  45. Thank you Chad. I was able to move WordPress template from sandbox sub-directory to the root.

  46. I've boon looking for this solution. rather that work duplication when moving a website from Staging or Local to a hosted platform. Will definitely try it.

    1. DONE!!! Working perfectly. I only have one problem with the current hosting company the client is using where I have to uninstall some plugins because of a memory message error.

      Thanks Chad, This is indeed a time saver

  47. Thanks a lot Chad. This was a perfect step-by-step guide. Don't think it could have been done better.
    I believe this plugin has got many new users due to your excellent guide.

  48. Good post really. Could you please suggest me after create the packege and installer.php file and uploaded on new server. How this installer.php file run without changing domain names of server. Actually i am trying to change only server on same domain.

    Please suggest

    Thanks Chad


    1. Amit, if I understand your question, you want to duplicate to a different server, but keep the domain the same. In that case, I suggest using the hosts file trick to point your domain to the IP address of the new server, then accessing When Duplicator asks for the new domain, use the same one. I'm just guessing at these steps because I haven't done this with Duplicator before. But, I've done similar things with the BackupBuddy plugin.

      If this doesn't work, please seek support by following the links in the Troubleshooting section of this post.

  49. Excellent helpful article. Thank you. This approach seems to over-write all site information. Could you please write another article which helps us to update changes to a site without overwriting such things as comments made in the meantime?

  50. Interesting article, thank you for that. I've moved two wordpress sites with Duplicator, First one no problem whatsoever (I was moving it into the root directory). The second time, moving to another domain, it looked like it hadn't worked as the installer gave me some MySQL error messages I couldn't overcome. I read a tip saying to try extracting the package zip file (working in the folder in cPanel).

    This actually worked, although I had to change a couple of files to reflect the new url. (just open any obvious ones, config.php, etc) So if the installer doesn't work a bit of playing around with all the folder and files unzipped (essentially your saved website) should do the trick.

    A final point, initially the whole menu structure had changed to something very clumsy, even though I could see it as created in the dashboard when I viewed it in 'customize your site'. After hours of head-scratching, I deactivated W3 Total Cache and it miraculously reverted to how I'd designed it. For my next move, coming soon, I'm making a point to turn off all my plugins! It's always a bit nerve-racking though!

  51. Hi Chad, I went through the suggested procedures only to find when attempting after uploading the Duplicator 5.8 and installer.php. I get a 404 message that the index.php can not be found on server. I'm sure I have to adjust something. Any assistance would be appreciated.

    1. Trevor, double-check that you have the index.php in the right directory on the server. Next, clear any caches between the web server and you (server-level, CDNs, browser, etc.). If you still get a 404 for the index.php URL, I suggest following the links in the Troubleshooting section of this post. When you solve the problem, please leave another comment with your solution, so others can benefit.

  52. Worpress newbie? Check!
    Programmer wannabee? Check!
    Admin skills? Basic!
    Using Duplicator Plugin with this non existent skillset? Fantastic! 10/10

  53. wow. thank you very much! hope soon there will be an automatic back up so we dont have to pay to the host for just requesting a back up. 🙁

  54. This is the most brilliant article ever! Please put the permalink part in the post. If someone didn't comment on it I'd have no idea!

  55. I enter /installer.php after my new url that is on wordpress and all i get is a 404. So you missed a step in explaining for noobs. Every explanation seems to miss this part. How do i get to the upload page and then how do i know the package upload url?

    1. Jason, you should use FTP or your host's file manager to upload the installer.php file to the destination directory on your new URL. Also make sure it's named installer.php with nothing else in the filename. That way, will work. If it still doesn't, clear any caches between the web server and you (server-level, CDNs, browser, etc.). If it still doesn't work, I suggest following the links in the Troubleshooting section of this post. When you solve the problem, please leave another comment with your solution, so others can benefit.

      1. Hi
        I see I didn't put it in the specific site file as i have 30 sites. But now i only have white screen so i did something wrong again

  56. hi help please , how can i transfer complete website with all setting and media , i am using Microsoft web matrix 3 with WordPress and i want transfer complete website , i have no much idea about my existing server.

    1. Skumar, I suggest following the support links in the Troubleshooting section of this post. If you run stuck and need professional help migrating or copying your WordPress site, contact us!

    1. Rob, it looks like you figured this out, because I see your main domain is now loading. If you need further help, please see the support links in the Troubleshooting section of this post.

  57. Copy a site is a very good idea if you are using many plugins, this will save your time is changing the settings of the new site.

  58. nice finding! I use a similar plugin which is called WordPress Backup to Dropbox. As the name says, it actually only offers to backup to Dropbox which is what I am fine with.

    I have set it up to run once a day and besides the database it backs up everything located in the blog’s folder and what I didn’t exclude from backups.

    I think in the end it doesn’t matter what product you use to to backups, as long as they are done and stored at a safe place. Too many people just rely on the backups offered by their hosting service.

    1. Thanks for sharing your method, Mohd. Duplicator is actually for copying and migrating WordPress sites; it's not really meant as a backup solution. Glad you find a backup option that works for you.

  59. Hi Chad, thanks for this helpful article. I get this trouble, expect you can help me to resolve:

    server code: 200
    status: OK
    Unable to update file permissions and write to wp-config.php. Please visit the online FAQ for setting file permissions and work with your hosting provider or server administrator to enable this installer.php script to write to the wp-config.php file.

    I've changed the permissions from the client server to 777 (all can read, write and execute) but didn't work.

    Thanks in advanced.

    1. Carlos, we didn't create the plugin, and don't provide support for it. As the message you pasted states, try checking the FAQ and working with your host. If you need further help, please see the support links in the Troubleshooting section of this post.

  60. I like to use the Duplicator to duplicate my website BUT change the database name. How do I do that.

    Within the same domain, I have /site1 folder and I like to create the exact copy to /site2 folder BUT site2 should have a different database name since both sites resides in the same host.

    Please help. Thanks

    1. When you create your new database (the one you'll be duplicating your site into), you can name it whatever you'd like. See the Create a new database section of the post.

  61. Impressive and informative post i really like it. WPADM got great capacity functional and secured plugin which is free easy to use and very reliable you can try one of this plugin with great efficiency and easy to use to Duplicate or BackupWebsite it entails the following features: Duplicator/cloner/migrator

  62. Fantastic post. Why not give /Duplicator/cloner/migrator by wpadm a try it works perfectly well.

  63. Duplicator looks easy to use, but I tried to copy a WordPress site using it and I failed. I was trying to fix the problem for more than 3 days and I decided to contact the technical support at my hosting provider. The guys fixed the problem very quickly. It was a permission issue by the way.

  64. I want to migrate my website Shared hosting to digital ocean hosting account.

    Please help me how to migrate because digital ocean hosting is totally Linux command base Os any other easy using plugin to migrate my website.

    1. Tushar, here's a tutorial from DigitalOcean: How To Migrate WordPress from Shared Hosting to a Cloud Server with Zero Downtime. If you’re not comfortable using a command line, DigitalOcean may not be the right host for you. A managed WordPress host, or WordPress shared host, will likely be a better fit. We recommend a few in our post How to Choose a WordPress Host and Plan. If you'd like to hire us to help select a host or migrate your site, please contact us.

  65. Hey Chad Warner,
    Thanks for posting awesome post at here...
    I know how it's really hard to do migrating wp sites at first time but when I found your article it's really easy to do it...
    Thanks a lot...

    1. balaji, we've used the Duplicator plugin with GoDaddy hosting. However, GoDaddy offers many types of hosting, and I don't know if it works for every type. If you find that it doesn't work, please leave another comment here, to help others.

    1. You're welcome, Husen! To be clear, this blog post isn't official because we're not the author of the plugin. We're a WordPress agency that provides design, development, and maintenance. Glad to help!

  66. Thank you. Absolutely perfect! I was SOOOOO excited to not have to recreate the things that don't get build when you import the wordpress xml... and these instructions were absolutely wonderful! You're a life saver!

  67. Hi, I am sucessfully Migrate my WordPress Site to Updraft Plugin, Thanks for having list Duplicator Plugin. I also tried with new wordpress website

    1. Thanks for the plugin recommendation, Harish. This post is about migrating an entire WordPress website (files and database), and updating URLs. The plugin you recommended will allow downloading the database, but it isn't a migration plugin. They're different tools for different jobs.

  68. Excellent resource for WordPress migration no doubt that All in one WP Migration and Duplicator is one of the best plugin for shared hosting but I was planning to move my WordPress from shared hosting to cloud hosting. I have seen several people are recommending Cloudways Migration Plugin. Which plugin do you suggest should I use? Cheers.

    1. baldwinjackson, I haven't used Cloudways WordPress Migrator, so I can't comment on it. The plugin description says, automates WordPress migration(s) from any other hosting provider to Cloudways. So it seems you can only use it to migrate to Cloudways, not to other web hosts. My agency and I use ManageWP for migrations, except when DNS isn't pointed to the destination hosting yet. In that case, we use the Duplicator plugin (described in this post). If you're migrating to Cloudways, it makes sense to use their plugin. Otherwise, try ManageWP or Duplicator.

  69. Thanks for giving a nice information dear. Keep writing these type of awesome articles.

    1. Narang, how the migration affects SEO will depend on many factors. If you're leaving the site structure, content, and domain the same, there should be very little effect on SEO. If you're changing any of those, then SEO will be affected to some degree. So it's not so much about the migration itself as it is about how much the site changes.

  70. I have used this plugin one time and it was really easy to me to migrate our website on new server. But, after this article, I now such new hacks and tips to make it more easier than ever. Thanks dear.

  71. 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?

  72. I am using this plugin to migrate my website
    This is to good to migrate website and very easy.

  73. Your article is really good and it contains a solution of my recent problem. Thank you for sharing.

  74. I have a different question.
    I want to have a network of Press release websites. Is there any way we can publish a single post on multiple sites lets say same post on 50 sites automatically?

    1. Brian, we haven't needed that functionality so I don't have an answer from experience, but you could look into Distributor: a WordPress plugin that makes it easy to syndicate and reuse content across your websites — whether in a single multisite or across the web.

  75. I liked the way of working of this plugin. I would like to try this one in future if needed. Thanks for recommendation

  76. Thank you for this great article. I am trying to duplicate my wordpress website and it helped me a lot.
    Thanks again.

  77. Hi Warner
    This post very helpful for me in during my copy WordPress migration..with duplicator plugin thanks for this valuable post sharing step-by-step guide.

    Great job.
    Michel. J

  78. There's nothing I can say about the plugin & your work but one thing I liked very much is the way you have responded to each and every comment since 2014 just like the pro people do.

    Chad, I really admire your dedication. From now onwards, I will also try to respond comments which I usually don't do 😀
    Anyways, great plugin & great devotion. Really enjoyed scrolling this huge web page 😀

    Kevin Racicot (TechStudio)

  79. Always welcome 🙂 I try to encourage people like you so that I can take inspiration & learn from you guys so that I can improve 😀

    Anyways, have a great day.

  80. Hey Chad
    Thanks for these useful tips for WordPress plugins with a website migration. Well, as I'm new to WordPress I don't have that many ideas but I just following steps from this article.

    Great job.

  81. When I'm trying to create a backup through these I got errors 'Resource Limit Reached' then my website taking time to open after 30 to 40 minutes and works properly... what should I do now?

Ready to Blast Off?

Let's talk.

Contact OptimWise