Snapcreek

Snap Creek Software

Common Sense WordPress Solutions

WordPress Duplicator - User Guide

Quick Start | Guide | General | Technical | Changelog
Management How to manage your Duplicator Pro plugin
Packages Package creation in the WordPress Administrator
Schedules Pro Schedule setup and configuration
Storage Pro Storage setup and configuration
Tools Helpful Tools
Settings Plugin configuration and settings
Installer Installing your package on a new site
MultiSite Pro Working with MultiSite setups

Plugin Management

Server Requirements

Requirements

  • WordPress 4.0+
  • PHP 5.2.17+ (5.3+ recommended)
  • MySQL 5.0+ (5.5+ recommended)
  • Zlib compression enabled
Note: Duplicator does work with other web servers such as IIS and databases such as MariaDB.
Plugin Installation

Overview:

Installing Duplicator Pro follows the same procedure as manually installing any other WordPress plugin. The only extra step you need to perform is to activate your license once you have installed and activated the plugin.

Step-By-Step:

  1. Download Duplicator Pro Plugin zip file to your desktop.
    - After purchase you will receive an email with a download link
    - You can also login to your SnapCreek Dashboard and download that latest version.
  2. Login to your WordPress Administrator and click "Plugins".
  3. Click the "Add New" button.
  4. Click the "Upload Plugin" button.
  5. Click the "Choose File" and select the Duplicator Pro zip file and click "Install Now".
  6. Click Activate to activate it.

Walk-through:

Installing Duplicator Professional
Video: Installing the Wordpress migration plugin Duplicator Pro
Click to load video
Plugin Licence Activation
Plugin activation is very simple, just follow these steps:
  1. Install and Activate the plugin
  2. Go to Duplicator Pro ❯ Settings ❯ Licensing ❯ Enter Your License Key
    - Your license key will be sent to you via email after you purchase OR login to your dashboard to view your keys
Plugin Overview

Overview:

The Duplicator Pro plugin is used to backup, migrate and ease the overall work-flow for working with WordPress sites. The plugin allows developers, designers, admins, and business owners to easily backup, restore and move a WordPress site from one location to another. The plugin consists of the following menu items or sections.

Menu Options
Menu Name Description
Packages The starting point for the plugin. This is where all packages are created and viewed.
Schedules Create and setup schedules backups to ran at various durations.
Storage Create storage endpoints to servers like Google Drive, Amazon Cloud, Dropbox and FTP.
Templates Create custom profiles of what your package should include or exclude such as directory/file paths. Include or excluded specific database tables as part of your backup.
Tools Various tools such as package logs and system cleanup.
Settings Global plugin settings used to help facilitate the use of the plugin.


Packages

Packages » All

Overview:

The "Packages » All" screen is the main interface for managing all the packages that have been created.
A Package consists of two core files which are named 'Installer' and 'Archive'. The Installer file is a plain php file that is used to help redeploy or install the Archive file, the two go hand in hand. The Archive file is a compressed zip file of all your WordPress files and a copy of your WordPress database.

The Archive file can be adjusted to include/exclude only directories/files or database specific tables from your WordPress site. These options can be in edited in the Packages » New: Step 1 Setup view found by click the 'Create New' button. Below is a list of all the options available on the packages screen.

Details:

Item Notes
Bulk Actions Delete: By checking each package line and clicking the 'Apply' button you can delete the package information. This will remove any of the local packages on the server including the physical installer and archive files. This will however not any of the packages that may have been stored to a cloud instance such as Google Drive, Dropbox, etc.
Create New This button will start the wizard for creating a new package and will take you to the Step 1 Setup screen.
Origin This value will display either 'Manual', 'Schedule' or 'ScheduleR'.
Manual: The indicates that the package was manually created using the 'Create New' button.
Schedule: The indicates that the package was created by a scheduled routine.
ScheduleR: The indicates that the package was created manually from schedules screen using the 'Run Now' action.
Created The time at which the package was created. This value represents the server time and is controlled by the WordPress Admin ❯ Settings ❯ General ❯ Timezone settings.
Size The size of the Archive.zip file. This value will vary based on if any filters have been enabled.
Name The name of the package. This can be any descriptive name you want.
Package Installer: This button will download the installer.php file. If a local storage option was not set then the button will be disabled.
Archive: This button will download the archive.zip file. If a local storage option was not set then the button will be disabled.
Storage: This button will show the remote storage endpoint links setup otherwise it will be disabled.
Details: This button will show the package details screen which contains all the details about the package.

Notices:
Build Cancelled: The build was actively cancelled by clicking the 'Stop Build' button shown only when a build is in progress.
Error Processing: The build process failed or was unable to complete successfully. Clicking the link will take you to the Package Details screen where you can view the package build log under the 'General' ❯ Files
Storage Error: This indicates that at least one of the remote storage transferrs failed. If a package has multiple remote endpoint locations and one of the endpoints fail, but the others succeed then the one that failed should show in red and indicate that it failed.
Footer Packages: Shows the number of packages that have been made. This value will also show packages that may have errors.
Total Size: The size of all the packages combined on your server disk.
Server Time: The current time on your server this is controlled by WordPress Admin ❯ Settings ❯ General ❯ Timezone settings.
Packages » New - Step 1: Setup

Overview:

The package setup screen allows you to prepare where the package will be stored and which files and database tables will be placed in the archive file. The setup screen has several sections all of which will be covered below.

Requirements:

The System requirements section must pass for the Duplicator to work properly. If this section shows fail you will not be able to continue with the setup until it shows as passing. There are currently 4 main sections PHP Support, Permissions, Server Support and Installation Files. Clicking on each link will open a description for what actions you can perform to get the requirement to pass.

General:

The following options are not grouped to any section and will apply to the entire package.
Item Description
Apply Template An optional template configuration that can be applied to this package setup. An [Unassigned] template will retain the settings from the last scan/build. Templates can be created from the Templates menu.
Name A name to help identify the package. By default the value from the last package creation is loaded as the default name.
Notes Click the notes button to expand and add additional notes about the package.

Storage:

The storage section allows you to pick from any of the storage locations that have been created such as the local server, Dropbox, Google Drive, Amazon and FTP. If a storage endpoint does not exist in the list then click the 'Add Storage' link in the right corner to add one.

When creating a package choose each location by checking the checkbox. For each location you check the package and installer file will be stored on that location. The main storage title will have the number of actively checked endpoints. To proceed to the 'Scan Step' at least one storage point must be checked. The table below covers the various options for the Storage section.

Item Description
Name A descriptive name that defines the endpoint. For remote locations the line will show a cloud icon. For locations that are on the local servers hard drive it will show a server icon.
Type This defines the endpoint type such as Local, Google Drive, Dropbox, FTP and others.
Location This defines the location where they are stored, some values will be click-able while others will not.

Archive:

The archive.zip file is what contains all your files and a copy of your database via a generated SQL file. By default when the archive file is created all files and directories from your WordPress root path and all the tables in the WordPress database are selected. In order to customize your archive file you can exclude files and database tables.

Excluding items is handy if you don't want to continually create large archive files and only need to select specific items. However if you do exclude specific items please be aware that you will have to manually move those items immediately after package installation. The table below covers all the options for the Archive section.
Item Description
FILES TAB
Enable File
Filters
File filters allow you to ignore directories/files and file extensions. When creating a package only include the data you want and need. This helps to improve the overall archive build time and keep your backups simple and clean. The checkbox allows you to keep all the settings or temporarily ignore them. If any type of file filter (directory, extension, file) is enabled the Archive title will show the following icons .
Directories Add the full path to the directories that should be excluded from being archived. Add a semicolon to separate each path. For example if you want to ignore your uploads path and the WordPress cache then the path(s) might look like this:
//public_html/mysite.com/wp-content/uploads;
//public_html/mysite.com/wp-content/cache;
Extensions File extentions allow you to exclude all files with a specific extention. For example if you wanted to ignore all zip, tar and log files then you would add:
zip;tar;log
Please note that you only need to the extension name and not the '.' separator. Use the links on the right to quickly add common extensions.
Files Add the full path to the file(s) that should be excluded from the archived file. Add a semicolon to separate each path. For example if you want to ignore the readme.html file in your root, a specific file in your uploads folder and all error.log files in the entire site then the path(s) might look like this:
//public_html/mysite.com/readme.html;
//public_html/mysite.com/wp-content/uploads/large_movie.mov;
error.log;
Use filenames without paths to filter same-named files across multiple directories, this can be useful for debug and log files. Note: pattern expressions are currently not supported (i.e. error.*)
DATABASE TAB
Build Mode PHP: This mode uses PHP to build the database.sql script which contains a full copy of your database minus any excluded files. This particular mode is very resource intensive and is much slower on larger databases.

Mysqldump: This is the preferred mode and should be used if the option is supported on your server. It uses less server resources and is much faster for larger databases. Please contact your server admin or hosting provider to enable both shell_exec and mysqldump for this option to work with in your site.
Enable Table
Filters
Table filters allow you to ignore certain tables from a database. When creating a package only include the data you want and need. This helps to improve the overall archive build time and keep your backups simple and clean.

When a table is checked it will be excluded from the generated database file. If any type of table is enabled the Archive title will show the following icon indicating that a database filter has been applied.

Compatibility
Mode
This is an advanced database back-wards compatibility feature that should ONLY be used if having problems installing packages and you have no option to update the mysql server version. If the database server version is lower than the version where the package was built then these options "might" help generate a script that is more compliant with the older database server. It is recommended to try each option separately starting with mysql40.

How to use Compatibility Mode
  1. MySQL Dump must be enabled. See Settings ❯ Packages Tab ❯ Use mysqldump radio button ❯ Save
  2. Packages ❯ Create New ❯ Open Archive Section ❯ Database Tab ❯ Compatibility Mode
  3. Read "full overview" link to understand options that may pertain to your setup
  4. Check the compatibility option(s) that apply to your setup and try to create the package
  5. On the scan screen you will see a notice that one of the compatibility modes have been checked
  6. Run the installer.php and check the install-log.txt for any deploy errors that may occur
Since we do not recommend this approach we don't offer support for working with and using these settings. The time involved with trying to find the right combination and determine if the data will even be stable is beyond our support for the product. We have partners who can help you work through these issues. For additional developer help consider Tilden Tasks from our partners page.

Installer:

The installer file is what is used to help redeploy or install the archive file. The installer section of the package setup has several optional options for the installer. These values are all optional on this screen and not required.

SETUP
The setup section allows for how the installer will behave when you initially browse to it.
Item Description
Password Protection Enabling this option will allow for basic password protection on the installer. Before running the installer the password saved in this value must be entered before proceeding with an install. This password is a general deterrent and should not be substituted for properly keeping your files secure.
Skip System Scan By default every time the installer is opened it will run a simple scan on the server environment. If the scan check passes then enabling this option automatically take you to step one of the installer and will skip the system scan screen.

INPUTS
All values in this section are optional. The installer can have these fields pre-filled at install time. If you would like to have the installer pre-filled with these values then enter them here. All of these values are covered in detail in the Installer section of this guide.

Packages » New - Step 2: Scan

Overview:

The system scan step helps to ensure the build process runs smoothly. The scan step can help determine potential issues that might occur during the build phase and even the install process. The more ' Warn' checks that are found the higher the potential for running into issues during the build and install phases. Getting all the scan checks to show ' Good' will help ensure a clean build and install process, however continuing with a 'Warn' status is still possible.

Details:

The scan report covers server settings, archive files and database tables. Scan checks are not required to pass, however they can cause issues on some systems if they are not addressed. If you receive a 'Warn' status on any of the items; then open the specific link and read the suggestions.

It is OK to try and build a package even if you have a 'Warn' status. If you are able to build a package with a 'Warn' status then you can ignore the warning. However if you have issue during the build or install process you may want to work with your hosting provider to try and address the warning.

The Build Mode section covers the different ways in which the files and database can be archived. The modes can be adjusted via Duplicator Pro ❯ Settings ❯ Packages Tab ❯ Database & Archive Engine
Item Description
Archive ZipArchive: This setting uses core PHP code to zip up all of the requested files. While this setting is much more common place on most hosting providers it can be more resource intensive and it some cases slower than shell_exec.

Shell_exec: This setting is recommend if your server supports the setting. Shell_exec uses PHP to call out to your server system zip command which can be faster and less resource intensive on some servers.
Database PHP: This setting uses core PHP code to build the database script. While this setting is supported on all servers it is more resource intensive and it some cases slower than mysqldump.

Mysqldump: This setting is recommend if your server supports the setting. mysqldump uses PHP to call out to your server system mysqldump command which is faster and less resource intensive.
Packages » New - Step 3: Build

Overview:

The build step is the last step of the package creation process and is displayed directly in the Packages screen. When a package is building you will need to wait for it to complete before attempting another. If a scheduled package is queued up at the same time as a manual package then it will stay in a pending state until the first one completes.

Details:

The different states that the build process may be in at any given time are shown below:
Item Description
Building
Package
When a package is building a indeterminate progress bar with show along with a message saying 'Building Package %50'. The percentage will slowly change as the package is being processed. You can click the button at anytime to stop the current build.

Depending on your server environment the build process can take several minutes. It is very rare (depending on the size) but the process may take upto an hour. The package process however should not take hours. If the process takes much longer than 60 minutes then in most cases the process may be stuck.

When the package is done building the progress bar will go away and on the very left hand side of the row will be a color indicating the state of the build which are:
Running: The package is currently building or transferring to a remote storage location
Success: The package has been successfully built
Error: An error occurred during the package build process
Transferring
Package
Once a build has successfully run the plugin will start the process of transferring the archive and installer files to all the specified remote storage endpoint locations that were selected with this build. The message will change to 'Transferring Package %50' with a current sub status message of the remote endpoint location that it is working on.

The transfer process will continue to work through each storage endpoint that was selected. For example if you choose Google, Dropbox and FTP then it will go through all 3 endpoints copying the files to each endpoint. If say Dropbox fails during the process it will still continue to process the other endpoints.

If an endpoints fails during the transfer phase then then the storage button will be shown as . Clicking the button will open a dialog that shows which transferrs worked and which ones failed. If they all where successful it will show as
Pending
Package
When multiple packages are set to build or attempt to start the build process at the same time, the plugin will check to see if there are any active builds. If another build is running the subsequent queued packages will be put into a pending state until the first package is done building and transferring all its data. Pending items can be cancelled before they are ran by clicking the button.
Packages » Step By Step

Overview:

This section will walk you through creating a package step-by-step. In these steps we will try to cover some general scenarios that may apply to your setup as well. If they don't feel free just skip the step.

  1. Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Create New' button in the upper right corner.
  2. Step 1 Setup:
    1. Give the package a name
    2. Click the Notes button and add some notes
    3. Open the 'Storage' section and be sure that the 'Default' storage location is checked
    4. Open the 'Archive' section and check the 'Enable File Filters' checkbox
      1. Add to the 'File Extensions' input the value log this will exclude all log files with a log extention
      2. Add to the 'Files' input the value error_log this will exclude all files named error_log
      3. Add any additional files to exclude and be sure to enter the full path of the file such as //public_html/mysite.com/myfile.zip
    5. The installer section is optional and should be used for more advanced setups
    6. Click the Next Button & let the scanner run
  3. Step 2 Scan:
    When the scan is done check the status to make sure they are flagged as ' Good'. Then click the 'Build' button. If any status show a ' Warn' status its still OK to continue with the build. By clicking each one of the sections you can get more details about how to get the Warn status to go away.
  4. Step 3 Build:
    When the package starts building you will be taken to the Packages screen were a progress indicator will run until the package is complete. Once the package has completed building you can download or transfer the files or just leave them for later use.
Packages » Transfers

Overview:

Transfers allow users to quickly move packages from location to another. To get started follow the directions below.

  1. Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Details Button' ❯ 'Transfer'
  2. Choose Location (Step 1):
    • Choose the location(s) where you would like to copy the package files (archive.zip/daf installer.php) to.
    • If the location does not exist then click the 'Create New Storage' link.
  3. Transfer Files (Step 2):
    • Once you have chosen your transfer location click the 'Start Transfer' button.
    • Once the transfer is complete you will see the data in the transfer log.

Schedules Pro

Schedules » All

Overview:

The "Schedules » All" screen is the main interface for managing all schedules that have been created. Schedules are used to automatically create a package at a specific time. Schedules can be ran at any time and as frequently as needed. It is however recommend to space out and only run your a schedule when absolutely needed. Creating packages are expensive on your server resources and should be used with caution especially on shared budget hosts.

Schedules use predefined templates to run from. Templates allow you to choose which files and database tables you would like to make as part of your backup process. A schedule can also be tied to a storage endpoint and pushed upto the cloud as part of its runtime directive.

Details:

Item Notes
Name A short descriptive name for the schedule.
EXAMPLES:
"Weekly Full" ❯ A schedule to backup the entire site once a week.
"Bi-Weekly Full" ❯ A schedule to backup the entire site twice a week.
"DB-Daily 00:00" ❯ A schedule to backup only the database at 12am daily.
"DB-Daily 13:00" ❯ A schedule to backup only the database at 1pm daily.

QUICK LINKS:
Quick View: This will show additional summary in-line such as the summary and how many times it has been ran.
Edit: Takes you to the edit screen.
Delete: Will delete only the selected schedule.
Run Now: This will activate the package creation process for this schedule right now. Once clicked you will be taken to the package build process on the packages screen.
Storage Every storage location the schedule backup is stored or transferred to. This will be the storage name not the storage type. For example if your storage type is Dropbox but you named it 'My Dropbox' then 'My Dropbox' will show in this column.
Runs Next The next date time the schedule is scheduled to run.
Last Ran The last time the schedule was ran or actively initiated.
Active A schedule must be active for it to run. This will show if the schedule is currently active and ready to be ran.
Footer Total: Shows the number of schedules created.
Active: The number of active schedules.
Time: The current time on your server this is controlled by WordPress Admin ❯ Settings ❯ General ❯ Timezone settings.
Schedules » Add/Edit

Details:

The Add/Edit screen is used to add and edit existing schedules. You can easily copy an existing schedule by using the copy from drop-down in the upper right hand corner.
Item Notes
Name A short descriptive name for the schedule.
EXAMPLES:
"Weekly Full" ❯ A schedule to backup the entire site once a week.
"Bi-Weekly Full" ❯ A schedule to backup the entire site twice a week.
"DB-Daily 00:00" ❯ A schedule to backup only the database at 12am daily.
"DB-Daily 13:00" ❯ A schedule to backup only the database at 1pm daily.
Template Every schedule must be assigned to a template. Templates allow you to choose which files and database tables you would like to make as part of your backup process. The default template will be assigned by default.
Storage Choose at least one or more storage location(s) that your schedule will be stored at. This can be the local server or any number of storage locations such as Dropbox, Google Drive, FTP and others.
Repeats Daily ❯ This will run the schedule every X days. For example if you choose every 7 days then the schedule will run once per week.
Weekly ❯ Choose the days of the week Monday thru Sunday that you would like the schedule to run.
Monthly ❯ Choose which day of the month and the number of months you would like to run.

Start Time The time of day you would like this to run. All times are in 24 hour increments from 00:00 (12am) to 13:00 (1pm).
Activated A schedule must be active for it to run. This is an easy way to enable/disable a schedule without removing it.

Schedules » Step By Step
  1. Start: Goto Duplicator Pro ❯ Schedules ❯ click the 'Add New' button in the upper right corner.
  2. Copy From: This is an optional step that will allow you to copy from an existing schedule.
  3. Name: Give the schedule a descriptive name for example see Add/Edit section above.
  4. Template: Select an existing template or use the default
  5. Storage: Choose at least one storage location where the package and installer will be stored at.
  6. Repeats: Choose the frequency and duration for how often the schedule should run.
  7. Start Time: Choose the time of day you want the schedule to start on. Values are 00:00 (12am) to 23:00 (11pm).
  8. Activate: Choose if the schedule is active to run. Finally save the schedule and wait for the schedule timed.
  9. Run Now: This is an optional step that will you allow the schedule to be ran right now.
Schedules » Common Questions

Question How can I create a schedule to backup only my database?

Answer
  1. Create Template Go to Tools ❯ Templates ❯ Add New
  2. Setup Template Set the Package Name as "Database Only" & Check the "Archive Only Database" under the Archive Section & save.
  3. Create Schedule Goto Schedules ❯ Add New
  4. Setup Schedule Give the schedule a name and choose the Package Template "Database Only" and finish your schedule options & save.
  5. Test ScheduleClick the "Run Now" link by hovering over the schedule name to make sure your package is built as expected.

Storage Pro

Storage » Local Server

Overview:

The local server storage option allows for the package (installer/archive) to be stored at any physical path on your server that PHP has access to. In Duplicator Lite all data is stored to the wp-snapshots folder off the root of your WordPress site. With Pro the package data can be stored to a path that you designate. Otherwise it will be stored to a default location in the wp-content directory. This option can be handy if you need or want to specify the path for storing your package.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
Storage Folder The full path on the server where you would like the package (installer.php/archive.zip) stored. On Linux systems start with '/'. On Windows use drive letters. (e.g. /mypath or E:/mypath). Be sure that PHP has permissions to write to the path provided. If the path does not exist then Duplicator will try to create the path.
Filter Protection When checked this will exclude the 'Storage Folder' provided directly above and all of its content and sub-folders from being included in a package build. This setting is highly recommended and failure to check this option can lead to build failures.
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues, especially if your limited for disk space.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: Local Server
  3. Provide the full path on your local server to where the package will be stored
  4. Leave the Filter Protection check-box checked
  5. Enter the number of packages you want to persist for this storage location
Storage » Amazon S3
See this full online guide for a complete overview of setting up an Amazon S3 storage endpoint.

Storage » Dropbox

Overview:

Duplicator Pro can push your backups to the Dropbox cloud service. All packages are initially built on the local server and then pushed up to Dropbox using its API services.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
Authorization This process will validate your Dropbox account and allow for Duplicator to communicate with Dropbox. Once validated the name and email associated with the Dropbox account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from Dropbox click the 'Cancel Authorization' button. This disassociates this storage provider with the Dropbox account.
Storage Folder This is the folder on the Dropbox servers where packages will be stored. This should be unique for each web-site using Duplicator.
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Connection Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: Dropbox
  3. Under Authorization: Click "Connect to Dropbox"
    • Step 1 Click Authorize Dropbox
    • This will open a new browser window/tab to dropbox.com
    • Click the "Allow" Button and wait for Success Message
    • Close the dropbox.com site window/tab and go back to Duplicators interface
    • Under Authorization Step 2: Click the Finalize button
    • Duplicator is now authorized to access the following Dropbox account
  4. Click the 'Test Dropbox Connection' button to validate data can be moved between systems.
  5. Finally Click the "Save Provider" button to save this Dropbox storage endpoint
Now when creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.

Storage » Google Drive

Overview:

Duplicator Pro can push your backups to the Google Drive cloud service. All packages are initially built on the local server and then pushed up to Google Drive using its API services.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
Authorization This process will validate your Google Drive account and allow for Duplicator to communicate with Google Drive. Once validated the name and email associated with the Google Drive account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from Google Drive click the 'Cancel Authorization' button. This disassociates this storage provider with the Google Drive account.
Storage Folder The folder on the Google Drive servers where packages will be stored. This should be unique for each web-site using Duplicator. If the directory path above is already in Google Drive before connecting then a duplicate folder name will be made in the same path. This is because the plugin only has rights to folders it creates.
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Connection Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: Google Drive
  3. Under Authorization: Click "Connect to Google Drive"
    • Step 1: Click Authorize Google Drive
    • This will open a new browser window/tab to accounts.google.com
    • If you have multiple Google accounts then choose the account you would like to use
    • Click the 'Allow' button and copy the long code generated.
    • Step 2: Go back to Duplicators interface and paste the code into the input titled Step 2
    • Step 3: Click the 'Finalize Setup' button
    • Duplicator is now authorized to access the following Google Drive account
  4. Click the 'Test Google Drive Connection' button to validate data can be moved between systems.
  5. Finally Click the "Save Provider" button to save this Google Drive storage endpoint
Now when creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.

Storage » OneDrive

Overview:

Duplicator Pro can push your backups to the OneDrive cloud service. All packages are initially built on the local server and then pushed up to OneDrive using its API services.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
Authorization This process will validate your OneDrive account and allow for Duplicator to communicate with OneDrive. Once validated the name and email associated with the OneDrive account will be displayed in the 'Authorization' section. To cancel and remove the storage settings from OneDrive click the 'Cancel Authorization' button. This disassociates this storage provider with the OneDrive account.

Note: If you have already logged into OneDrive via your browser then you may not be prompted for a username and password if the brower determines you are already logged in.
Storage Folder This is the folder on the OneDrive servers where packages will be stored. This should be unique for each web-site using Duplicator.
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Connection Once your account as be 'Authorized' you can test the connection to make sure there are no interruptions. This can also be useful if you are experiencing issues with file uploads.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: OneDrive
  3. Under Authorization: Click "Connect to OneDrive"
    • Step 1 Click Authorize OneDrive
    • This will open a new browser window/tab to OneDrive.com to login.
      - OR -
      If your are logged in this step will be skipped.
    • A unique code will be generated at snapcreek.com from onedrive.com. Copy this code.
    • Under Authorization Step 2: Paste the unique code.
    • Under Authorization Step 3: Click the "Finalize Setup" button
    • Duplicator is now authorized to access the following OneDrive account
  4. Click the 'Test OneDrive Connection' button to validate data can be moved between systems.
  5. Finally Click the "Save Provider" button to save this OneDrive storage endpoint
Now when creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.

Storage » FTP

Overview:

Duplicator Pro can push your backups to an FTP location. All packages are initially built on the local server and then pushed up to the FTP endpoint.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
CREDENTIALS
Server The FTP server name. Please see your FTP server documents for the correct server name
Port The FTP server port. Please see your FTP server documents for the correct server port
Username/Password The FTP username/password. Please see your FTP server documents for the correct username/password
SETTINGS
Storage Folder The folder on the FTP servers where packages will be stored. This should be unique for each web-site using Duplicator.
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Timeout How long should Duplicator wait when trying to connect
SSL-FTP Should the connection attempt to use FTPS to connect to the server. This option needs to be supported and configured correctly on the FTP server before it will work correctly.
Passive Mode Should this connection use FTP passive mode.
Connection Validate that the credentials and settings entered above are working.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: FTP
  3. Under Credentials: Enter in all the required FTP credentials
  4. Click the 'Test FTP Connection' button to validate data can be moved between systems.
  5. Finally Click the "Save Provider" button to save this FTP storage endpoint
  6. For connections issues see the FTP troubleshooting FAQ.
Note: When creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.

Storage » SFTP - SSH

Overview:

Duplicator Pro can push your backups to an SFTP location. All packages are initially built on the local server and then pushed up to the SFTP endpoint. Please Note: That SFTP is not the same as FTP or FTPS. SFTP uses the SSH protocol for transferring files.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
CREDENTIALS
Server The SFTP server name. Please see your SFTP server documents for the correct server name
Port The SFTP server port. Please see your SFTP server documents for the correct server port. The standard default port is 18765.
Username/Password The SFTP username/password. Please see your SFTP server documents for the correct username/password. Note: FTP accounts created on a cpanel host in general are not usable for SFTP accounts.
Private Key A private key file generated on your hosts server. Please contact or visit your hosts documentation for setting up a private key.
Private Key Password The password associated with the private key. Please contact or visit your hosts documentation for setting up a private key password.
SETTINGS
Storage Folder The folder on the SFTP servers where packages will be stored. This should be unique for each web-site using Duplicator. Note: This path must be setup ahead of time correctly for the test connection to work
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Timeout How long should Duplicator wait when trying to connect
Connection Validate that the credentials and settings entered above are working.

Step-By-Step:

  1. Create New Storage Provider: Duplicator > Storage > Add New
  2. Add Name and Notes and select Type: SFTP
  3. Under Credentials: Enter in all the required SFTP credentials
  4. Click the 'Test SFTP Connection' button to validate data can be moved between systems.
  5. Finally Click the "Save Provider" button to save this SFTP storage endpoint
  6. For connections issues see the SFTP troubleshooting FAQ.
Note: When creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.

Resources:

Storage » Wasabi (Amazon s3)

Overview:

Duplicator Pro supports Wasabi to store packages built by Duplicator Pro. It is essential to store your backup in a remote location instead of saving it locally. If a hosted machine is down, the remotely stored package can be restored quickly on any other machine, and your WordPress website will be up.

Settings:

Item Description
Name/Notes The storage name and optional notes about the local server path
CREDENTIALS
Access Key The Wasabi provided Access Key
Secret Key The Wasabi provided Secret Key
SETTINGS
Bucket S3 Bucket where you want to save the backups.
S3 Storage
Provider
Choose 'Other' for S3-compatible storage other than Amazon (Wasabi, Digital Ocean, Dreamhost, Minio, etc...)
Region The Geographical location
Storage Folder Folder where packages will be stored. This should be unique for each web-site using Duplicator.
Storage Class Choose from Reduce Redundancy, Standard, Standard IA
Max Packages Specify the number of packages to keep in 'Storage Folder'. Setting 10 will keep the last 10 packages. Set to 0 for no limit. It is highly recommended to keep this number low. Storing too many packages can lead to space allocation issues.
Connection Validate that the credentials and settings entered above are working.

Step-By-Step:

  • Wasabi.com: Login or Create Account
    1. Login -OR- create a new Wasabi account
    2. Once you submit the signup form, you will receive an email to create an account in Wasabi.
    3. Click on the "Create Account" button displayed in the received email and create a new Wasabi account
    4. After creating an account, You will be logged in to the Wasabi console automatically.
  • Wasabi.com: Create a Bucket in Console:
    1. Go to the buckets Menu page and click on the "CREATE BUCKET" button.
    2. Fill bucket name and region in create bucket popup box. The bucket name should start with a lowercase letter or numeric value, and should be a valid DNS server name.
      Note: the region name that you filled in. It will be used to connect Duplicator Pro with Wasabi later.
  • Wasabi.com: Copy User Access and Secret Access Keys
    1. Go to the Wasabi console > Settings menu page.
    2. Click on the "CREATE NEW ACCESS KEY" button to create an access key.
    3. Check the "Root User" labeled radio checkbox in the create new access key popup box & click the "Create" button.
  • Duplicator Pro: Setup new Storage Type
    1. Go to Duplicator Pro ❯ Storage ❯ enter storage name field with your a name.
    2. Choose the "Amazon S3 (or Compatible)" storage type value.
    3. Copy Access Key and Secret Key values from the Wasabi console and paste them in the Duplicator Pro Wasabi storage form opened in your other browser tab.
    4. Go to your website's remote storage endpoint form tab ❯ fill in the bucket name field value.
    5. Check the S3 storage provider "Other" radio box.
    6. Fill in the region name that you have chosen when creating a bucket in the Wasabi console.
      Note: If you do not have the region name of the bucket, go to Wasabi console ❯ buckets, find a bucket list table with region information along with associated buckets.
    7. The EndPoint URL is the Wasabi Storage Service URL. To find the Wasabi Storage Service URL of the Wasabi bucket, go to the official Wasabi support page for the service URLs for Wasabi's different storage regions and find Wasabi service URL according to your created bucket region. Copy the Wasabi service URL and paste it into the Endpoint URL of the Wasabi storage endpoint form of Duplicator Pro.
    8. If you want to save packages in the root folder, fill the storage folder field with the "/" (without inverted comma) value.
  • Test Storage Endpoint: Check if the configuration worked properly by clicking the Test S3 Connection button. If it reports success you are good to go. If not, go through the previous steps and make sure you didn't miss anything.
Note: When creating a new package or schedule you will check the box for this storage endpoint to be a location where the package (archive.zip and installer.php) will be transferred to after it has been created.
Storage » Common Questions

Question How can I limit the number of packages kept (e.g the last 20 builds)?

Answer Each storage location has a setting titled 'Max Packages'. When this limit is exceeded, the oldest package will be deleted. If set to 0 then no packages are removed. To enable goto Storage > Choose Package > Set Max Packages.

Because the max packages is tied to each storage endpoint the main packages screen will still contain an entry or audit trail of the transaction. For example ff the package the 'Default storage type' is set to say 3 'Max Packages' then only the 3 top most packages in the package screen will have a Download button that works because the local default packages have been removed.

Question Where can I find troubleshooting tips for various storage issues?

Answer There are several tip on the "Technical Issues Remote Storage Section"

Tools

Tools » Diagnostics » Logging

Overview:

The logging tab shows the various log files that Duplicator generates. There are currently two types of log files, the first is the trace log which is only available in Pro. The second is the package log which is available in both Pro and Lite. Below is a synopsis for each file.
  1. Trace Log: Pro The trace log file records all information that is going on at all times with the plugin. Since multiple requests can be executed by multiple users the trace log takes all communication from the plugin into consideration and logs that data. To further improve the full picture of all activity going on in PHP on the server (not just Duplicator Pro). There is an options in Settings ❯ General ❯ Debug labeled "Enhanced Tracing" screen. This option will also log all trace log activity to the PHP error log.
  2. Package Log: The package log is a log file that is generated for every package that is built. The log will show the progress and state of the package and will most errors/warnings that may happen during the creation of a package file.
The default log selected will be the trace log in Pro and in Lite it will be the last package log. There are currently two trace log files stored in your default store location. The active trace log and a running backup log which will be labeled *.log1. The running backup will be created once your primary trace log starts to get too large.

Each log file is represented as a link. Click on the link name and the log will be visible in the output window. To update the log click the refresh button or have it auto refresh every 10 seconds by enabling the 'Auto Refresh' option.

Tools » Diagnostics » Information

Overview:

The diagnostics tab contains various sections that allow you to evaluate your servers setup. The various sections are each described below.

Stored Data:

This section allows users to delete all reserved installation files after a fresh install has taken place. Other options to clean up various build and Duplicator cache files are available. All options that are stored in the WordPress options table pertaining to Duplicator Pro are visible. With some options having the ability to be reset.

Server Settings:

This section contains various server settings that can be beneficial should you run into issues using the plugin. The settings are all organized into various categories. The section "PHP Information" is also a large sub-set of information produced by the phpinfo function.

Scan Validator:

This utility will help to find unreadable files and sys-links in your environment that can lead to issues during the scan process. The utility will also show how many files and directories you have in your system. This process may take several minutes to run. If there is a recursive loop on your system then the process has a built in check to stop after a large set of files and directories have been scanned. A message will show indicated that that a scan depth has been reached.
Tools » Diagnostics » Support

Overview:

The support tab contains various sections that allow you to quickly link-up to the FAQ system or knowledge base. Access to the help ticket system is also available here. Please note that there are different levels of support.
  • Lite: This allows anyone to get help with the free product. Response times can vary widely as all lite requests are handled after the pro users have been addressed. Response times can vary from 1-5 business days.
  • Pro Personal: This support level is for all pro personal users. All tickets will be handled before Lite users, but after Pro Freelancer+ users. Response times for most requests will be within 2 days or less depending on the complexing of the response.
  • Pro Freelancer/Business/Gold: This level includes all Freelancer/Business/Gold users. All tickets will be handled before Lite and Pro Personal users. Response times for most requests will be within 24 hours.
Tools » Templates » All Pro

Overview:

The "Templates » All" screen is the main interface for managing all templates that have been created. Templates are used to profile out how a package will be built. Templates allow you to choose which files and database tables you would like to make as part of your backup process. It also allows for the installer to be pre-filled with the values of the template.

Use Cases:

  • Schedules: All schedules require templates to be used when running a schedule
  • Profiling: There may be instances where you only want the database or the database with specific tables. There may be an instances where you only need the database with a certain subset of files. There are many different combinations that can make up your package and with templates you can easily and quickly assign these profiles when you start a build.
Tools » Templates » Add/Edit Pro

Overview:

The Add/Edit interface allows users to add and edit existing Templates. To quickly stub out existing templates use the "Copy From" action in the right hand corner of the screen.

Archive:

Item Notes
Name/Note A short descriptive name for the package template.
FILES This section will mirror the same file/folder filter settings that can be assigned to a package when it is created.
DATABASE This section will mirror the same database table filter settings that can be assigned to a package when it is created. The 'Compatibility Mode' option is not available as a template setting. It can only be used when creating a new package. Please see the FAQ for a full overview of using this feature.

Installer:

Item Notes
SETUP This section will mirror the same setup settings that can be assigned to the installer file setup process.
STEP 1/2 This section will mirror the same setup settings that can be assigned to an package installer file wizard setting when it is created.

Also see: Packages » New - Step 1: Setup
Tools » Templates » Step By Step Pro

Create Template

  1. Start: Goto Duplicator Pro ❯ Templates ❯ click the 'Add New' button in the upper right corner
  2. Copy From: This is an optional step that will allow you to copy from an existing template
  3. FILES: Apply any file filters to exclude specific file/directories/extensions
  4. DATABASE: Apply any table filters that should not be included as part of the package
  5. INSTALLER: Apply the installer setup values you would like to be applied to the package
  6. Save: Save the template by clicking the 'Save Template' button.

Apply Template

  1. Start: Goto Duplicator Pro ❯ Packages ❯ click the 'Create New' button in the upper right corner
  2. Apply Template: The template you made in the step Create Template section above should be visible in the dropdown
  3. After selecting your template all of the values in the Archive and Installer section should reflect the values saved in the template
  4. To undo the applied template just select the [Unassigned] value and the package settings will default to its last created settings
Also see: Packages » New - Step 1: Setup
Also see: Schedules » Add/Edit

Settings

General ❯ Settings

Overview:

The "Settings ❯ General" screen is the main interface for managing all general settings for the plugin. There are currently two main sections "Plugin" and "Debug". The Plugin area controls settings related to the use and interaction of the plugin in the context of the WordPress enviroment. The Debug area is used to enable debug utilities.

Schedules use predefined templates to run from. Templates allow you to choose which files and database tables you would like to make as part of your backup process. A schedule can also be tied to a storage endpoint and pushed upto the cloud as part of its runtime directive.

Details:

Item Notes
PLUGIN AREA
Version The current version of this plugin
Uninstall Delete Plugin Settings: By default when the plugin is removed all settings for the plugin are still saved. If you would like to remove all setting such as those found in the settings page or items like schedules and storage location then check the checkbox and when the plugin is deleted it will also remove all settings data.

Delete Entire Storage Directory: By default when the plugin is removed all packages for the packages screen are still saved to disk. If you would like to remove all packages (installer.php and archive.zip files) then check the checkbox and when the plugin is deleted it will also remove all package files.

Custom Roles This enables integration with the User Role Editor Plugin. allowing Duplicator to have custom security roles.
DEBUG AREA
Trace Log
Pro
The trace log helps support better debug system issues. This setting should only be enabled if directed so by the snapcreek support team.
Package Debug Enable additional debug information on the packages screen.

General ❯ Feature Profiles

Overview:

This section will allow users to preview and test upcoming concepts the Duplicator team is working on, by enabling the various profiles which are:
  • Current Features: These are the current features that are available with this release.
  • Beta Features: Features that can be tried but should not be used on production systems.
  • Design Concepts: These are simply ideas that may or may not make it into the product.
These settings should not be used on production sites; unless specified by the Duplicator team. Please leave your feedback

General ❯ Migrate Settings Pro (Freelancer+)

Overview:

The Migrate Settings tab available only with Freelancer/Business/Gold licences allows users to move settings from schedules, storage, templates and global settings of one installed instance of Duplicator Pro to another installed instance of Pro. This feature can come in handy if you you don't want to re-create the setup environment after you have installed the plugin. This feature will only work with Duplicator Pro settings.

Export/Import:

  • Export: The export section allows users to export all schedules, storage locations, templates and settings from this Duplicator Pro instance into a downloadable export file. The export file can then be used to import data settings from this instance of Duplicator Pro into another plugin instance of Duplicator Pro or the same instance if your need to restore from a previous date.

    After clicking the Export Data button the process will:
    • Export all schedules, storage and templates to a file for import into another Duplicator instance.
    • For security purposes, restrict access to this file and delete after use.
  • Import: The import section allows users to import settings from another Duplicator Pro plugin into another instance of Duplicator Pro. Schedule, storage and template data will be appended to current data, while existing settings will be replaced. Schedules depend on storage and templates so importing schedules will require that storage and templates be checked. The import process will:

    • Append schedules, storage and templates if those options are checked
    • Overwrite current settings data if the settings option is checked
    After the import is ran its import to review templates and local storages to ensure correct path values as the import will not convert them.

Step By Step:

  1. Check Data: Be sure all your schedules, storages, templates, and settings data is setup to your liking
  2. Export: Navigate to Duplicator Pro ❯ Tools ❯ Data Tab and click the 'Export Data' button
  3. Save Export: Save the export.dup file to a safe location as it contains sensitive information
  4. Note location: Navigate to a different install unless your restoring a backup of a previous export
  5. Select File: Choose the *.dup file used from the 'Save Export' step
  6. Run Import: Click the 'Import Data' button and be sure to read all prompts
  7. Check Data: Validate that all data was updated and note the following:
    • Schedule, storage and template data will be appended to the current data sets, if data exists. No data on these sections will be overwritten
    • All Settings from the Duplicator Pro ❯ Settings menu including all tabs General, Packages, Schedules, Storage, Licensing will be overwritten
Packages ❯ Basic

Overview:

The "Settings ❯ Packages" screen is the main interface for managing all package related settings for the plugin. This includes items such as the main "Packages" screen and how a package is built and the processing rules used to build the package.

Details:

Item Notes
VISUAL
Created Format This option controls the date format shown in the 'Created' column on the Packages screen. Use this option to display how the dates will be displayed
Database
SQL
Script
Duplicator can build the sites database script in two ways. The preferred and recommend approach is to use mysqldump. However some systems do not support this method for building, therefore users can still rely on PHP code to create the correct database script.

MySQLDump: This is the recommend setting. On some setups users may have to provide a custom path to the mysqldump program. Add a custom path if the path to mysqldump is not properly detected or needs to be changed. In some cases you may have to contact your server admin or hosting provider for the correct path.

PHP Code: This option should be used if mysqldump is not accessible or causing issues in your environment. On some budget hosts you may have to set the Query Limit Size to a lower setting. A higher limit size will speed up the database build time, however it will use more memory. If your host has memory caps start off low.

Compression
Pro
This setting controls archive compression. Turning compression off can improve build stability and speed but packages will be larger. Can be toggled when using ZipArchive on a PHP 7+ system of Shell Exec Zip.
Archive
Engine
Pro
Duplicator can archive the sites files in two ways. The preferred and recommend approach is to use Shell Exec Zip or your system zip comman. However some systems do not support this method for building, therefore users can still rely on PHPs ZipArchive to create the correct database script.

Shell Exec Zip: This is the recommend setting. To get Shell Exec zip working ask your host to install the zip executable and make it accessible to PHP via the shell_exec command.

PHP ZipArchive : Use PHP code to zip up your files. For larger sites on budget hosts its recommended to use the 'Multi-Threaded' setting which processes the archive file in subsequent HTTP requests. If you have access to how long a PHP process is allowed to run then use the 'Single-Threaded' mode. This mode runs in the background without an interruptions and is faster than the 'Multi-Threaded' mode.

The buffer size only applies to 'Multi-Threaded' requests. The buffer indicates how large an archive will get before a close is registered with the ZipArchive call. Higher values are faster but can be more unstable based on the hosts max_execution_time.

DupArchive: Creates a custom archive format (archive.daf). This option is recommended for large sites or sites on constrained servers.
Server Throttle
Pro
It is recommended to keep this setting off unless you receive a notice from your host. The setting is used to throttle and prevent resource complaints on budget hosts. The higher the value the slower the backup.
Max Build Time
Pro
Max build and storage time until package is auto-cancelled. Set to 0 for no limit.

Packages ❯ Advanced Pro

Overview:

The "Settings ❯ Packages" ❯ Advanced screen is the main interface for managing all package related settings for the plugin. It is recommended that you do not modify advanced settings unless you know the expected result or have talked to support or are familiar with the setting.

Details:

Item Notes
Thread Lock The lock type used to control atomic operations. The default is File and is recommended for most servers.
JSON
The JSON sterilizer engine that should be used.
AJAX Controls how AJAX requests are made on this server. Used to kick off build worker. Only change if packages get stuck at start of build.
Client-side
Kickoff
Initiate package build from client. Only check this if instructed to by Snap Creek support.
Basic Auth Enable if your server requires basic auth connections
Installer Name The base name of the installer file. Only change if host prevents using installer.php

Packages ❯ Installer Branding Pro (Freelancer+)

Overview:

The "Settings ❯ Packages ❯ Installer Branding" feature allows users to add customized branding to the installer. For example, when enabled a user that browses to the installer might see "My Customer Installer" with a custom logo of the personalized installer vs the default "Duplicator Pro" text and logo.

The branding feature is useful for content creators who want to create their own custom configured WordPress site and "Brand" it with their own look and feel. The interface consists of two screens.

Brand Lists Screen:

The brand lists screen shows a list of all possible branding options. Users can create as many brand variations as they like. Only one active brand can be enabled at a time. The brand that is active during a package creation is the one that will be used at install time.

Brand Details Screen:

Item Notes
Name The name is a short descriptor that is used on the brand lists screen to quickly identify the branded installer.
Notes The notes is an optional long descriptor that is used to provide full details about the intent/use of the particular brand.
Logo This is where all the customization happens. Users are given a preview area and an active html editable area where they can upload a logo/image and customize the details of the title. Users can optionally replace the "Duplicator Pro" text and logo with their own customized layout.
Active When checked this will be the active logo that will be used when the installer is built. The default brand is simply what comes out of the box with Duplicator Pro, which includes that bolt icon with the title "Duplicator Pro".

Step By Step:

  1. Goto Duplicator Pro ❯ Settings ❯ Packages Tab ❯ Installer Branding ❯ Add New
  2. Fill in the Brand details and customize the look and feel
  3. Check the Active check-box and click save
  4. Build a package and download the installer/archive files to a location where the package can be installed.
  5. In a web browser browse to the newly created installer.php file and observe the newly branded installer.

Installer

Installer » Step By Step

*For step-by-step migration instructions refer to How to Move a WordPress Site

Common Questions

Question How can I setup a staging site for my new site?

Answer When creating a staging site or just a copy of your existing site for testing or basically any reason there are a few rules we strongly encourage uses to follow.

  • Avoid Nesting: In order to avoid possible conflicts between your sites it is important to separate your sites into completely separate folders. For example if you have a production site and a staging site the layout might look something like this were the public_html folder is your web servers root path.
    /public_html/production_site/[worpress site 1 file/folders here]
    /public_html/staging_site/[worpress site 2 file/folders here]
    Note: Do not place the staging_site in a or under the production_site directory
  • Separate Databases:You must create separate databases for each site. So you might create a database named prod_db for the production site and another database named stage_db for the staging site. Never try to use the database for both sites.
  • For a full overview of a staging site see the post How to Create a WordPress Staging Site

Multisite Pro

Full Multisite Migration or Backup


The only difference between migrating a standalone site and a Multisite is that the Duplicator Pro menu appears on the Network Admin menu in Duplicator Pro instead of the admin menu as is the case when Duplicator Pro runs on a standalone site. The procedure for package creation and installation is identical.
Standalone ❯ Multisite-Subsite
REQUIREMENTS: Package must be built by Duplicator Pro 4.0.3+ and destination site needs to be running Duplicator Pro 4.0.3+

Step-By-Step:

Below are the steps to import a single, standalone site into a Multisite network
  1. On the source site go to Duplicator Pro ❯ Packages ❯ Create New: build a package (archive/installer)
  2. On the destination Multisite go to Duplicator Pro ❯ Import: Add the archive.zip/daf file from the standalone site
    1. After the archive file is uploaded, click the Launch Installer button
    2. On Step 2 of the import add or copy the recover point (optional) and click the Continue button
      Note: Recovery points are optional but are recommended in the event the install runs into issues.
  3. On Import-Installer Step 1 choose Install single site on a Multisite network radio button
    1. Choose the Action drop-down with the action to add as new or replace existing subsite.
    2. Choose the Content Author and set the New Subsite URL slug. This can be any safe URL string.
    3. Click the Validate button and check the results then click Next button and let the installer run.
    4. When the installer is complete Step 2 with show with a status of the install.
      If a recovery point was set then then both an "Admin Login" and "Run Recovery" button will show.
    5. Click the Admin Login to the newly created site and validate the install process.
After everything is done you will have a new subsite installed or replaced in your Multisite based on the action chosen above.
Multisite-Subsite ❯ Standalone

Step-By-Step:

To install a subsite as a standalone site:
  1. On the source Multisite site goto: Duplicator Pro ❯ Packages ❯ Create New: build a package (archive/installer)
  2. Copy package files (archive/installer) to the new host destination directory where the site will be installed
  3. Browse to the installer.php in a web browser such as https://mynewhost.com/mysite_directory/installer.php
  4. On installer Step 1 ❯ Overview - Installation Tab ❯ Install Type: choose "Convert subsite to standalone"
  5. A dropdown containing all the subsites in the package will show. Choose one and continue with the install
  6. The subsite chosen in Step 1 will be installed as a new standalone site
After everything is done you will have a new standalone site based on the subsite. Note that all plugins will have been disabled so you will have to reactivate those.
Multisite-Subsite ❯ Multisite-Subsite - Different Network
REQUIREMENTS: Package must be built by Duplicator Pro 4.0.3+ and destination site needs to be running Duplicator Pro 4.0.3+

Step-By-Step:

Below are the steps to import a subsite into another (or the same) Multisite network.
  1. On the source Multisite go to Duplicator Pro ❯ Packages ❯ Create New: build a package (archive/installer)
  2. On the destination Multisite go to Duplicator Pro ❯ Import: Add the source Multisite archive.zip/daf file
    1. After the archive file is uploaded, click the Launch Installer button
    2. On Step 2 of the import add or copy the recover point (optional) and click the Continue button
      Note: Recovery points are optional but are recommended in the event the install runs into issues.
  3. On Import-Installer Step 1 choose Install subsite on Multisite network radio button
    1. Choose the Subsite drop-down with the Multisite subsite you would like to add.
    2. Choose the Action drop-down with the action to add as new or replace existing subsite.
    3. Choose the Content Author and set the New Subsite URL slug. This can be any safe URL string.
    4. Click the Validate button and check the results then click Next button and let the installer run.
    5. When the installer is complete Step 2 with show with a status of the install.
      If a recovery point was set then then both an "Admin Login" and "Run Recovery" button will show.
    6. Click the Admin Login to the newly created site and validate the install process.
When complete you will have a new subsite installed or replaced in your Multisite based on the action chosen above.

Multisite-Subsite ❯ Multisite-Subsite - Same Network

Step-By-Step:

The steps to copy/clone a Multisite-Subsite that is inside the same Multisite Network is currently the same steps used in Multisite-Subsite ❯ Multisite-Subsite [Different Network]. The main implication that the "source" site and "destination" site are the same site. These steps will change in future versions of the plugin.
Scroll to top