Clones an existing site into a new one in a multisite installation : copies all the posts, settings and files
Screenshots
Basic features
Advanced features
Settings
Successfull duplication
Log warning
FAQ
How does it work ?
- It creates a new user if the email was not an existing email
- It creates a new blog with appropriate title and admin user
- It copies all tables from cloned site, but keep some options (like title, domain, etc) of the new blog
- It searches and replaces old site’s URL and DOMAINS with the new ones
- It copies upload directory from the old site to the upload directory of the new one (if option is checked)
- It imports users and roles from the old site to the new one (if option is checked)
Does it support subdirectory AND subdomain installations ?
Yes, it supports both !
Can I clone the primary site ?
Yes you can, but you want to be careful : WordPress saves network tables and primary blog tables with the same prefix, and some of their data are mixed. It forces us to restrict primary blog cloning to copy only the default wp tables. If you want to change this (for example, include your plugin tables in the cloning), use mucd_default_primary_tables_to_copy filter. In the future, you want probably not to copy again and again the primary blog : use a “template” blog dedicated to clonage instead.
Does it clone plugins settings ?
Yes it does !
But some data are serialized ?
It’s not a problem ! Serialized data are understood by the plugin, recursively unserialized, replaced with appropriate values, and serialized again.
After cloning, new site was created, but it goes on 404 page, why ?
Check your host / server configuration : you probably cloned your site into a domain that is not available !
How to duplicate with command line commands ?
Install WP-CLI, go to your wordpress multisite directory, and type wp-cli site duplicate --source=<id_of_the_site_to_clone> --slug="<slug_of_the_new_site>"
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>]
Which languages are currently supported?
As of now, following languages are supported : English (en_US), French (fr_FR), Spanish (es_ES), Lithuanian (lt_LT) and Greek (el). If you wish to, you can translate the interface in your own language in the standard WordPress way or with Transifex
GLOBALIS what ?
Globalis media systems is a web IT consulting company based in Paris, and a pioneer of the PHP and LAMP platform. Since 1997, we have been designing, making and maintaining Internet, intranet or mobile software. We have been working with open source CMS since 2000 and have regularly been using WordPress since 2007.
ChangeLog
1.5.3
- Test compatibily with WordPress 5.0.0
- Improvement translations
- Fix unix file path from log directory
1.5.2
- Fix file path on duplicate
1.5.1
- Fix compatibility with PHP version < 5.4
1.5.0
- Fix duplicating exponentially usermeta
- Fix unix WP path validation and allow points
- Remove cache flushing on error
1.4.1
1.4.0
- Added select2 support (Ajax dropdown when selecting site)
- Restrict activate to network admin only (network admin area)
- Default logs path moved in upload dir
- Added language zh_CN
- Bugfix : SSL compatibility
1.3.3
- Bugfix : Compatibility : WordPress 4.7 (wp_get_sites was deprecated)
1.3.2
- Bugfix : Check on admin referer broke some admin page
1.3.1
- Bugfix : Compatibility with PHP 5.2
1.3.0
- Added wp-cli site duplicate subcommand
- Added default options in network settings pannel
- Languages : added translation for spanish, lithuanian and greek
- Bugfix : Using backtricks on CREATE TABLE LIKE
- Bugfix : Remove HyperDB compat. : it made some bug on schema / table selection
1.2.0
- Bugfix : duplication of tables without primary key / with several primary keys was causing SQL error
- Bugfix : escape underscore characters ( ‘_’ ) in sql queries
1.1.0
- Bugfix : “Keep users and roles” was broken
- Bugfix : Compatibility with plugins that use reserved mysql words in table names
- Bugfix : Partial compatibility with HyperDB
1.0.0
- Tested on WP 4.0.0
- Bugfix : Compatibility with PHP 5.2
- Bugfix : SQL Error replace mysql_real_escape_string by $wpdb->prepare
- Bugfix : unable to delete, deactivate, etc. site when plugin is active
- Bugfix : Fields in duplicate form lost information after validate with error
0.2.0
- First public version released by Pierre Dargham
- Generates logs
- Primary site is clonable
- Auto-suggest for admin email
- Keep users and roles from duplicated site
- Translating
- Hookable
0.1.0
- Initial version released by Julien Oger
- Copies all the posts, settings and files from a site to a new one
- Cannot clone primary site