How to Move or Backup Your Website with the WordPress Duplicator Plugin

I’ve already mentioned how handy the Duplicator plugin is for backing up your WordPress sites, but where it really excels is when it comes to moving your sites to a new server. When I used to develop sites for clients, I would build them either locally on my own computer or online on my own webspace. The most difficult part of the process was always moving the site across to their server.

When I first started developing websites, back in the late ‘90s (eek!), it was a simple case of uploading all the files via FTP and doing a quick test. WordPress is a lot more powerful than the simple sites I used to make back then but it also means the method of transferring a site is more complex.

Related Reading: 7 Top Backup Plugins for Your WordPress Website

The problems you’re likely to run into when moving a WordPress site are database import and export errors, file path errors, permission errors, and a whole host of other potential road blocks. It also takes a lot of time to set up a new site including plugins and make sure everything is working correctly on the new server. It does get easier to move sites once you’ve done a few but it’s a task that requires your full concentration and a good few hours of your time.

Duplicator Plugin Overview

This is where the Duplicator plugin comes in handy. Rather than having to run down a checklist of everything you need to do to move your WordPress site across manually (you can review the manual process here), it does everything for you, reducing the process to a few quick and easy steps.

You won’t have to worry about backing up your database, images, plugins, and moving them all separately – Duplicator takes care of all this for you. Best of all, the plugin is free!

While it’s fairly simply to use the WordPress Duplicator plugin, it can be a little confusing at first so I decided to write this tutorial you can follow to reduce any confusion and hopefully solve any problems that crop up.

1. Download and Install the Plugin

Duplicator can be installed directly from the WordPress dashboard. Under the Plugins option of your dashboard, click the “Add New” button and then search for “duplicator”. The plugin you’re looking for should be the first result but double check that it’s authored by LifeInTheGrid. Go ahead and click “Install Now”:

2. Activate the Plugin and Create a Site Package

After activating the plugin, you’ll get a new navigation option in your main WordPress dashboard menu: “Duplicator”. Select this and you’ll enter the main setup screen with a warning message that you haven’t created any packages yet:

Click the “Create New” tab. This will take you to the package creation wizard.

Before the package can be created, there are several requirements that need to be fulfilled. Hopefully you’ll have a “pass” in this, but if not, you can expand the box to find out where the problem is:

If any of the requirements fail, you can click the link for further information about how to solve the issue. Some common problems you may be able to fix by yourself but in other cases, you may have to contact your hosting provider to make changes for you.

When I first installed the plugin, it failed at the “Zip Archive Enabled” step. In my case, I needed to upgrade the PHP version of my domain in order to activate the zip extension so try this from your hosting dashboard if you are getting an error.

The name will be pre-filled (you can change this if you wish), you have the option to create some notes about the package and there are further options under Archive and Installer.

Under the Archive section, there is a dropdown box to change the file format (only .zip is available in the current version). You don’t need to enable the file or database filters unless you wish to exclude something from your site backup.

The installer section is for entering details about the server you will be moving your WordPress site to. You can fill these out now or you can leave it until the installation step. I prefer to leave these fields blank to have a clean backup package that can be installed anywhere (although it is possible to change the details later so this is no real problem if you fill them out).

Finally you have an option of skipping the system scan and going directly to the package build, however I would leave this unchecked so that you’re aware of any potential problems.

After clicking the Next button, the plugin will perform a scan of the server, files and database to detect any possible issues. It’s not mandatory for all the checks to pass to build the package, but it’s good to be aware of them as they can cause problems in some cases.

Again, if you do have any warnings on this page, click the relevant link for more information. If you have a very large site or large files such as video files this might throw up a warning as they can cause timeouts. If this is the case, you might want to go back and use the filter option to exclude such files from the package. It’s also a good idea to clean up the database of very large sites before you export the package. Don’t be too worried about getting warnings as they often won’t cause any problems but the information on this page may help you sort out issues if you get an error during package creation.

After clicking build, the software will go ahead and back up your whole site including all plugins themes, pages, posts and media to a single file. After the build has finished, you’ll be presented with download buttons for an installer (a PHP file) and the archive you just created as a zip file, so go ahead and download these files:

The package will now be listed back on the packages tab with date and size information, which is useful for backup purposes. The package files are stored in a new wp-snapshots directory that you’ll find in your main website directory.

If you just want to backup your site, your job is done! For extra security, make a copy on an external hard drive or upload it to cloud storage.

If you’d like to move your site to another server, read on for the next step.

3. Prepare New Server for Installation

The next step is to connect to the new server you want to move your site to via FTP and upload the installer.php and your archive zip file to the directory you want to install the site in. You don’t need to install WordPress on the new server.

The one thing that the plugin doesn’t handle for you is setting up a new database for your site on the new server, so you’ll need to do this manually. The process for doing this will depend on your webhost, so refer to their documentation for a guide. If your hosting provider uses cPanel, follow these instructions for setting up your database.

Make sure to make a note of your database host (if on a different server to your website files – localhost works for many hosts), username, password and database name as you’ll need them in the next step

4. Run the Site Installer

Access the installer script in your web browser from wherever you copied it to. For example http://www.mysite.com/newsite/installer.php

You should see a screen like the one below. Fill out the fields with the information for the database you just set up:

You can then press the “Test Connection” button to check that the script can connect to the database ok. With any luck you’ll get a pop up box telling you that the server is found and the script managed to connect to the database. If you get a fail for either of these, follow the advice under “common connection issues” or contact your hosting provider for help.

Before proceeding you then need to tick the box to say you’ve read all the warnings and notices, and then click“Run Deployment”. You’ll get a warning reminding you that any data existing in the database will be overwritten (so double-check you’ve entered the name of your new database and not an existing one!) which you can click OK to.

Hopefully you’ll then see the system starting to deploy the files. If you get an error, try re-uploading your archive file in case it became corrupt during the file transfer.

After installation, you’ll be presented with a page showing you the old and new Path and URL settings for your site. You have the opportunity to change your page title here and create a new admin user if you wish.

If you have problems with certain plugins when you’re copying your site across, you can disable them from the advanced options section. You can then hit the “Run Update” button to update the database and finish off the site install.

The final screen displays a report of the installation with any errors and warnings and some steps you should complete before using your new site.

Clicking on the Save Permalinks will take you straight to the WordPress dashboard of your new site. You may have to login (using your original admin username and password or the new one your set up in the previous screen).

Select the permalinks structure that you wish to use and save the setting.

You’ll also get a warning at the top of the screen that the install files are still located within the WordPress directory and this could pose a security risk. You can delete the files directly using the link on this page.

If you get an error message that a file wasn’t removed successfully, you can just delete it manually using your FTP program.

You can then go ahead and check your site from the front end to see if everything works properly. Sometimes a plugin or two may need reinstalling but otherwise, you should have an exact copy of your original site.

Congratulations! You’ve successfully moved your site to a new server – get yourself a coffee, you’ve earned it!

Rachel Adnyana

Rachel is a web-developer-turned-writer who has successfully convinced many clients to switch to WordPress over the years. She blogs about her life as an expat in Bali at How to Escape.

View Comments

  • Thanks for the write-up Rachel!
    It flows really well... I'll add this as a link in the FAQ.

    Cheers~

  • Hi Rachel.

    Thank you!!! I just finished moving my site and a subdomain to a new hosting service and it worked like a charm. I am no techie, actually I am philosopher and was able to follow your instructions perfectly :P

    I really appreciate you taking the time to explain this info in great detail.

    • That's awesome to hear, Sinuhe.

      Glad to know that we were able to help you. Feel free to contact us if you have any questions / queries related to WordPress.

  • I haven't tried it yet, but I need to move my Wordpress site from a sub-directory to the root on a shared hosting server. For example, from http://www.mydomain.com/wp/ to http://www.mydomain.com/. Since the Wordpress database already exists, do I enter the existing DB name and let the installer delete all the data, (AFTER I have made a backup copy of the DB) or should I still create a new DB?

    Are there any other important differences I should be aware of?

    Thank you.

    • The plugin doesn't delete anything from your original installation so you should be ok to use your existing database details. Of course check (and double-check!) that you've backed up everything before you start :)

  • Hi Rachel,

    Thanks so much for your post. I am getting through your tutorial fine, but it seems that no database is getting created for me when I run the installer. Everything appears to fun fine, but I can't see any tables listed under 'advanced options', and when I click on Install Report in the test phase it just says 1 row has been created?
    When I look in MySQL database, the new database is blank, and when I look at my site in CPanel, only the wp-config file and wp-snapshots have been extracted from the archive file?

    I have tried several times and am not sure what I am doing wrong? When I created a new database I set all permissions for the new user.

    Thanks in advance!

  • Worked fine until i tried to make a change, changes are not being shown on the browser just in the wordpress dashboard.

  • Do the steps differ very much if I want to replace an existing wordpress site using this plug in.

Recent Posts

SeedProd Review: A ‘New-Old’ Plugin to Help You Build Full WordPress Websites

SeedProd is one of the elders of the WordPress ecosystem. It's also a bit of…

5 days ago

Dealing with WordPress RSS Feed Errors: How to Identify and Fix Them

Really Simple Syndication (RSS) feeds are a vital component of the WordPress ecosystem. They act…

2 weeks ago

Top Black Friday and Cyber Monday Deals for 2024

It’s that time of year again when people start revving up their shopping lists, hunting…

3 weeks ago

6 Best WordPress Translation Plugins for a Multilingual Site (2025)

If you clicked on this post, I’m guessing you want to find the best solution…

2 months ago

How to Start an Online Course Using WordPress and LearnDash

Trying to figure out how to start an online course so that you can share…

2 months ago

Teachable Review (2025): Is It the Best Way to Create an Online Course?

Considering using Teachable to create an online course? In our hands-on Teachable review, we'll help…

3 months ago