Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Clone a WordPress Site in 7 Easy Steps

Do you want to clone a WordPress website?

Cloning an existing WordPress site is a crucial first step when moving to a new host, doing a client development project on a localhost, setting up a staging website, and more. 

In this article, we’ll show you how to easily clone a WordPress site in easy steps.

How to clone a WordPress site in 7 easy steps

What is WordPress Website Cloning, and Why Use It?

The idea behind cloning a WordPress website is that you make an exact copy of one site and apply it to another site. 

There are some good reasons where doing this makes a lot of sense. 

One practical scenario is when you’re moving a site to a new host, or a new domain name. Simply cloning the site will speed up the migration process and save you a lot of work. 

Another good reason is when you’re developing a website for a client on your own localhost. Once the project is done, you can easily clone the site and move it to your client’s live server.

You can also clone a live WordPress site and set up a staging site to test changes before making them live. 

With that said, let’s show you how you can clone a WordPress site in easy steps. 

Step 1. Setup the Duplicator WordPress Plugin for Easy Cloning

For this tutorial, we’ll be using the Duplicator plugin. It’s a powerful WordPress cloning and duplication plugin that’s still very beginner friendly.

The plugin backs up everything from your website into a single file, which you can easily move to a new location.

First thing you need to do is activate and install the plugin on the domain you want to clone. For more details, see our step by step guide on how to install a WordPress plugin.

Note: There’s a pro version of Duplicator available that packs additional features like scheduled backups, multisite migration, and more, but we’ll use the free version for this tutorial since it can fully clone a WordPress site. 

Step 2. Create a Duplicator Package of Your WordPress Site

Upon activation, you need to go to Duplicator » Packages and then click on the ‘Create New’ button at the top of the page.

Create new duplicator package

After that, you’ll be taken to a screen where you need to give your duplicate a name.

Then, click the ‘Next’ button.

Duplicator will now start its duplication wizard. It will run some tests to make sure everything is in order to run the plugin. 

If it finds an issue with any part of your site, then you’ll see a warning with steps you can take to fix it. 

If everything is good, then click the ‘Build’ button beneath the scan to continue.

Completed scan click build

The plugin will now backup your WordPress database, images, templates, plugins, and all other files in a single downloadable package.

Depending on your website’s size, the process might take a couple of minutes. 

Step 3. Prepare to Clone Your WordPress Site

Once the backup process is finished, it’s time to download your files.

You need to download two different files, the archive file containing your backup and the installer that will unpack the archive.

One click download both files

You need to click on the ‘One-click Download’ link to download both files to your computer.

Both of these files are extremely important to properly clone your WordPress site in the new location.

Step 4. Upload Your WordPress Site Archive and Installer to a New Location

Now that you have a complete backup of your site and the installer file, the next step is to upload them to the new location.

This new location can be a live website or a site on your local server. If it is a site on your local server, then you need to create a new folder in your local server’s root folder. This is the file where your local server stores all websites. 

For example, if you’re using MAMP, then it will be ‘/Applications/MAMP/htdocs/’ folder.

Alternatively, if you’re using WAMP, then it would be ‘C:\wamp\www\’ folder.

Next, open up the folder you created for your cloned website and copy both the archive file and installer into the folder. 

Upload files on local install

If it is a live website on a different WordPress hosting platform, then you need to upload these files to the root directory using an FTP client.

If you haven’t done this before, then see our beginner’s guide on how to use FTP to upload files to WordPress.

No matter where you upload the files, you need to ensure the folder is completely empty and only has the installer.php and your archive zip files.

Upload files via FTP

Step 5. Create a New WordPress Database for Your Website

Next, you need to create a new WordPress database to unpack your cloned version of WordPress. 

If you’ve already created a database, then you can skip this step. 

There are a few ways you can create a database, depending on if the new location will be a live site or a site on your local server. 

If you’re using a live site, simply login to your hosting account dashboard, then scroll down to the ‘Databases’ section and click the ‘MySQL Databases’ icon.

Click MySQL databases

This brings you to a screen where you need to enter a name for your database.

Then, click the ‘Create Database’ button.

Enter database name and create database

Next, you need to add a new user to the MySQL database. Simply scroll down to the ‘MySQL Users’ section.

Then, add a username and password for your new user and click the ‘Create a user’ button.

Create new database user

Once you’ve done that, you need to add this user to your database. 

Simply scroll down to the ‘Add User to a Database’ section, select the database user you created in the ‘User’ dropdown, then select the database you created from the ‘Database’ drop down.

Add new user to database

After that, click the ‘Add’ button. Make sure you take note of the database name, username, and password. You’ll need this information in the next step. 

If you’re using a localhost installation, simply visit ‘http://localhost/phpmyadmin/ ‘ or ‘http://localhost:8080/phpmyadmin/’ in your web browser to launch phpMyAdmin.

After that, click on the ‘Menu’ tab, then select the ‘Database’ option.

Create new phpMyAdmin database

Next, you need to enter a new name for your database.

Then, click the ‘Create’ button.

Enter database name and create

You need to remember the name of your database for the next step. For most localhost installations, your host will be localhost, and the username will be root, with a blank password. 

Step 6. Run the WordPress Website Importer Script

Now that all your files are in place, you need to run the Duplicator installer script. This script unpacks your archive file in a few clicks.

First, type your website URL into the web browser and add installer.php to the end of it. This will look something like, ‘https://example.com/installer.php’.

Make sure you replace ‘example.com’ with your own domain name, or the localhost address of your new site. 

Next, the Duplicator installer script will appear on the screen. First, it will automatically look for existing backup files and the initial settings. 

If there are no errors, then check the terms and notices checkbox at the bottom and click ‘Next’ to continue.

Accept duplicator terms and notices

On the next screen, you need to enter your WordPress database information. 

This is the database information that you copied above. 

Add database information

At the bottom of the page, there’s a ‘Test Database’ button you can use to make sure all of your database information is correct. 

If everything looks good, then you can click the ‘Next’ button.

Database test and click next

Duplicator will now import your WordPress database. It will automatically detect any changes and will fill in the ‘URL’, ‘Path’, and ‘Title’ fields for you. Simply click the ‘Next’ button to continue.

Confirm information and click next

Duplicator will now finish the installation, and you will see the admin login button.

Clicking on it will take you to the new cloned site’s WordPress admin area.

Go to WordPress admin area

Step 7. Test Your Cloned Website and Delete Temporary Files

You can now go ahead and test your cloned WordPress blog

We recommend testing both the WordPress admin area and the front end of your website to make sure all your data is there and the website is working as intended.

If you run across any new WordPress errors, then check out our beginner’s guide to troubleshooting WordPress errors.

Once you’re satisfied that everything is imported correctly, you can go ahead and delete the installation files created by the Duplicator plugin.

On your cloned WordPress site, go to Duplicator » Tools and then click on the ‘Remove Installation Files’ button.

Remove installation files

That’s it, you have successfully cloned a WordPress site.

Closing Thoughts on WordPress Website Cloning

As you can see, cloning a WordPress site is not very difficult as long as you’re duplicating your own website.

If you want to copy someone else’s WordPress site, then that’s actually illegal unless you have their explicit written permission.

There are other ways to clone a WordPress site, like doing it manually, which doesn’t require WordPress admin access. But we believe there are no benefits to that unless you’re dealing with a really big website.

For most times where you’re cloning a WordPress site, we recommend using the above method because it’s the easiest and most comprehensive.

We hope this article helped you learn how to easily clone your WordPress site. You may also want to see our guide to the difference between a domain name and web hosting and our expert picks of the best email marketing services for small businesses.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

76 CommentsLeave a Reply

  1. I have followed your instructions and uploaded the 2 files to an otherwise empty file but when i go to the site/installer.php I get a 404 page.
    My FileZilla screen loos exactly like your example.
    Any suggestions?
    Thanks

    • You would want to visit the duplicator plugin’s FAQ page and they cover the different troubleshooting steps for that error.

      Admin

  2. Thanks. I did that and I have successfully completed creating the clone. I have a question about the step to install the database in the new location (Step 2 of 4 – Install Database): The screen shot shows a choice between “Basic” and “cPanel” but you don’t discuss this.

  3. I could not complete Step 2. I do get warnings in Duplicator, under Paths:
    “If the root WordPress path is not writable by PHP on some systems this can cause issues.
    If Duplicator does not have enough permissions then you will need to manually create the paths above.”

  4. I’m trying to clone a demo site I’m making for people to use as a template. Using Duplicator I’ve created the package, gone into File Manager of CPanel and navigated to the root directory for the subdomain I’m testing it on, and uploaded the zip file and installer file. There is nothing else in the folder.

    When I follow the instructions and go to the website address with installer.php added to the end, I do not get the Duplicator import info. I get a Page Not Found….though it does have the header, footer and top menu of the site I’m cloning. What did I do wrong?

    • If you are using the same domain then you are likely still looking at the old site and not the new one, if you reach out to your hosting provider, they can normally assist with setting up a temporary domain that you can use.

      Admin

  5. Everything s clear thank you but what about login and password to WordPress dashboard can we duplicate ?

    • It copies your users table so it would transfer your user and password over for you.

      Admin

  6. I’m having a bit of trouble with step 4. With my Hostgator account I don’t have access to my server panel but when I try to add the file via an FTP client, I’m under able to find the folder containing the installer.php. Am I missing something? Could the file name be different or could someone tell me where exactly to put the zip file?

    • You would want to reach out to your hosting provider and they would be able to assist :)

      Admin

  7. HI there, what if i have paid plugins and themes specific for 1 wordpress site

    Will it still work ? Thanks alot, your tutorial so far is the easiest to follow :)

    • You would want to reach out to the support for those tools for how they handle that.

      Admin

  8. What do you do when there is a size check notice? Limit is 500mb and my site is 1.32gb uncompressed. Not sure how to compress. It is recommending a 2 part install manually from c panel which is sadly beyond my tech abilities.

    • You would want to reach out to your hosting provider’s support and they should be able to assist :)

      Admin

  9. uploaded zip and installer script to root and i am getting this message when i enter domain.com/installer.php

    403 Forbidden
    Request forbidden by administrative rules.

    What next?

  10. I’ve successfully copied across to a new URL and the cloned website seems to be working. However, when I go into wordpress it’s a reduced version with quite a few tabs missing such as: users/plugins/settings to name a few. How can I get a full version of wordpress the same as the site I copied from?

    • You may want to ensure you are logged in as an admin user on your cloned site as the most likely reason for that issue.

      Admin

  11. How do you change the name of the website, the url and also the database when installing the cloned site using Duplicator?

  12. Hi, I have a question , can a clone my site without erased the other one , i mean the original website ?

  13. This is a great post. Just one clarification before I run the import…on STEP 4, these are the instructions:

    No matter where you are copying the files, you need to make sure that the folder is completely empty and has no other files or folders inside it except installer.php file and your backup zip file.

    If I already have a theme and started building a site before finding this article, do I need to delete everything from the destination? “folder completely empty” refers to which folder?

    Thanks!
    Todd

    • If you want to duplicate a site from elsewhere then you would need to remove what is currently there for your site.

      Admin

  14. You were right, I didn’t put in the root folder :/

    So I tried again, but in the end, I got an error 404 result.

    I’ve fixed the wp_config (name, user, pw & host) and made the changes to the htaccess (copied the NEW .htaccess).

    All files are deleted, besides the now unzipped folder which contain all the files. *what about the __MACOSX folder? I tried with and without, but get the same result.

    Even after this, in Step 4, I still get the 2 warnings in the General Notices:
    wp-config not found
    wp-config.php not found.

    I found the wp-config.php, but seem like I don’t have the wp-config. Are they the same? :D

    Anything else missing?

    Thank you

  15. Does anyone know why the Packages option under Duplicator » Packages isn’t showing for me? I only see under Duplicator: Tools, Settings, and Go Pro.

    • You may want to try reinstalling the plugin and if that doesn’t work you would want to reach out to the plugin’s support and let them know about that not appearing properly

      Admin

  16. Cloning works well with duplicator but having a clone site online seems not to be liked by jetpack

    During my tests Jetpack have put himselt in failure on the original site even if jetpack was not active one the cloned site telling me the original was a copy of the clone

    If google find your clone you have also some possible issues

    • While there is a problem with simply cloning a site without any new content, the primary goal would normally be to use this when transferring your site from one location to another and then removing the old site or using the copied site as a template and adding new content to your new site.

      Admin

  17. For some inexplicable reason, when I save this useful page to Pocket, what actually arrives there is the old 11 May 2015 version, which discusses a completely different method based on a plugin called BackupBuddy which costs $52 for the 1-site version.


    Chris

    • We’ll certainly take a look if it is something on our end. You may want to check with Pocket if there is a cache that needs to be cleared on their end as well

      Admin

      • I’ve been in touch with Pocket. They suggest it might be a problem with their Parser, which checks the content and determines the best way to display it. They’ve managed to reproduce the bug and are investigating.


        Chris

  18. I wand to upgrade my production site to WP 5 and change themes. I thought it might be a good idea to clone my site on my local windows machine under Desktop Server.
    I’ve been trying for 2 days to clone my site.
    Let me just add that your tuto is perfectly straightforward as long as things go well. It doesn’t go into what might not work correctly.
    Firstly Duplicator package creation times out (despite having filtered out the big files). Of course my hosting company doesn’t support Duplicator because it tries to change the time limit, can’t really blame the host company.
    I also tried the Duparchive option which doesn’t time out and generates a .daf archive instead of a .zip.
    On the Desktop Server local side I tried to run installer.php from my browser but got messages saying I needed to enable ziparchive and/or shell exec. I contacted Desktop Server support about that and have had no answer.
    I thought I’d try to extract the data from the daf archive manually but the software that is needed to do this no longer seems to be available.
    I imagine that the Duplicator Pro version would work better but I don’t have the budget (association website).
    Oh woe is me, looks like I’ll have to do it all by hand.

    • From the sound of it you sadly may need to manually import/export the data, the other option would be if you have a backup of your site that you could restore to your local installation.

      Admin

  19. Awesome article!!!
    Followed your steps and it worked perfectly.

    I did make one error though, I extracted the zip file and uploaded the files in ftp which did create errors. Much easier to simply upload the zip instead.

    Thanks heaps!

    • You would likely need to extract the zip once it is on your hosting provider but glad you found a solution for your error :)

      Admin

  20. I copy sites all the time.
    The plugins actually look more complicated than doing it manually.

    Just download your files, back up your database, ftp to the new server, restore your database to your new database, edit the wp-config file to point to the new database, edit the url in your database to point to the new url.

    I also download velvet blue to correct any url problems.

    I had a site not pass our security scan that used the plugin. Also, the database back up was stored in the root of your site.

  21. I used a much simpler way. My WP installation is with Godaddy…so logged in the cPanel of the site I wanted to cloned…went to subdomains and created the domain for the site destination…then I went to applications and the top of cPanel and clicked the little check box next the primary site I wanted to clone…then hit the clone button…and voila…and exact copy of our site was created in less than 10 minutes…

  22. Is there any plugin or other software that could clone a wordpress website to another wordpress on the live?

  23. The price for this is riduculous. Even the cheapest option is $80 PER YEAR! What an absolute rippoff!

    Better off just going to Control Panel, zipping up your files and download them … then go to PHPMyAdmin and downloading a copy of your database. Then upload your zipped files to the new location…edit the config file, then import the database.

    If that’s too hard for website retards … just install the free version of “Duplicate” (similar to Backup Buddy … but FREE).

    • Either of you have a step by step guide? I am trying to copy my site to a subdomain to target a different city from the main site.

      The only thing I understand so far is that I have to:
      1. create a subdomain
      2. create a new database
      3. copy the public html folder of the main site over to the subdomain pubic html folder
      After that, every tutorial I’ve seen on the internet gets too confusing

    • What are you talking about? Duplicator is free. I mean, there’s a pro version, but I use the free version all the time to duplicate websites.

      The only thing these instructions didn’t add is that you need to first create a new database and add a user to it on the new site before running the installer.

      But it’s all easy and free.

  24. Hi,

    I really appreciate all the posts you share with us! Please keep them coming!

    My question regarding this post is…

    This technique using BackupBuddy works flawlessly.

    However, I now have a problem:

    When I type in the URL of my original site (where I took the backup), I get directed to the site I cloned from that backup. It’s as if my original site now has a redirect to the cloned site.

    What on earth have I broken?

    Any advice would be much appreciated!

    Thanks,
    Allan

  25. Hi,
    I would like to know how to clone any wordpress website have no hosting access information as well. I mean, suppose a buyer order your wpbeginner like website. Then, How to do it sir. Do you have any tutorials plz.

  26. not possible anymore to use backup buddy unless you want to pay. Is their a different method?

    • Hi Sandeep,
      Did you get solution to this. I also want to copy a theme to another website(subdomain)

  27. I’ve used another service to clone WordPress sites and have discovered a problem with residual tables, and I was curious whether this was an issue with BackupBuddy as well.

    In the scenario I recently encountered, I create WP Site A with table prefix wp1_.

    Then I have to create a new environment to clone to, so I install WordPress at WP Site B with table prefix wp2_.

    Now I use my [unnamed] tool to clone site A to site B, which appears good on the admin and public side but when I look in the database I have both wp1_ and wp2_ sets of tables, and all of the GUIDs in the functioning tables for the new cloned site have WP Site A’s URL, not WP Site B’s as I would have expected.

    These have to be cleaned up manually. So I wonder, does BackupBuddy do the same thing? Is this to be expected?

  28. I’d be curious to know how to manually perform this task without a plugin or is a plugin recommended for backing up and migrating over to a new website?

  29. BackupBuddy fails on large WordPress installs. I can’t get it to back up our site which between database all files is over 400GB in size.

    I had to manually download all of the files, then re-upload them to the new site and use importbuddy with just the database. Even that fails if the raw database is too large (failed around 200MB in size).

  30. I recently moved a small simple blog with all-in-one wordpress migration and it worked great. But when I attempted a larger site on wp4.1 it failed. I think I would like back up buddy but the price is staggering. It would be my biggest wordpress expense, almost twice as much as my hosting!

  31. I love using BackupBuddy for backups and migrations.

    All you need is access to install the plugin and your set to move.

    Great article!

    • I used to have similar problems too, but after using
      “long path tool” You can use to solve this problem.

    • Do you have ftp access? Do you have access to the database? You would need those two things to backup a website if you don’t have access to wp-admin.

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.