Clones an existing site into a new one in a multisite installation : copies all posts, settings and files
Ratings
4.4
Last updated
November 29, 2018
Version
1.5.3
Active installations
200
MultiSite Clone Duplicator

MultiSite Clone Duplicator adds a “Duplicate Site” functionality to your network installation.

It allows you to clone any site of your network into a new one : all data, files, users and roles can be copied.

It is useful when you want to create multiple sites from the same template : Don’t waste your time copying the same configuration again and again !

Simple and user-friendly, this plugin extends WordPress core network’s functionalities without polluting the dashboard.

WARNING : If you clone the primary site, you must use mucd_default_primary_tables_to_copy filter to declare plugins and custom database tables, or your cloned site won’t be complete

Features:

  • Clones any site of your wordpress multisite installation
  • Copies all posts and settings
  • Generates log files (if option is checked)
  • Copy all files from duplicated site (if option is checked)
  • Keep users and roles from duplicated site (if option is checked)
  • Configure which site is clonable (so you can define an unique “pattern” site)
  • Fully hookable
  • Command line ready (provides a WP-CLI subcommand)

Hooks

Action : mucd_before_copy_files / mucd_after_copy_files

Action before / after copying files Args :

  1. Int : from_site_id
  2. Int : to_site_id

Action : mucd_before_copy_data / mucd_after_copy_data

Action before / after copying data Args :

  1. Int : from_site_id
  2. Int : to_site_id

Action : mucd_before_copy_users / mucd_after_copy_users

Action before / after copying users Args :

  1. Int : from_site_id
  2. Int : to_site_id

Filter : mucd_copy_blog_data_saved_options

Filter options that should be preserved in the new blog (original values from created blog will not be erased by copy of old site’s tables) Args :

  1. Array of string : option_name

Filter : mucd_default_fields_to_update

Filter fields to scan for an update after data copy Args :

  1. Array of ( ‘table_name’ => array(‘field_1’, ‘field_2’ …));

Filter : mucd_default_primary_tables_to_copy

Filter tables to duplicate when duplicated site is primary site Args :

  1. Array of string table_name

Filter : mucd_copy_dirs

Filter directories and files you want to copy Args :

  1. Array of string : dirs
  2. Int : from_site_id
  3. Int : to_site_id

Filter : mucd_string_to_replace

Filter which strings we want to replace during update Args :

  1. String : string_to_replace
  2. Int : from_site_id
  3. Int : to_site_id

WP-CLI arguments

Arguments are :

wp site duplicate --slug=<slug> --source=<site_id> [--title=<title>] [--email=<email>] [--network_id=<network-id>] [--private] [--porcelain] [--v] [--do_not_copy_files] [--keep_users] [--log=<dir_path>]<h3>Thank’s</h3>

The original version of this plugin has been developed by Julien OGER who keeps following the project carefully.

Some code for search and replace in SQL serialised data were initialy taken from Lionel Pointet WordPress Migration tool

Freeon Creator plan
Active installations
200
Tested up to
5.0.0
This plugin is available for download to be used on your WordPress self-hosted installation.