Multisite Cloner Plugin
When creating a new blog on WordPress Multisite, copies all the posts, settings and files, from a selected blog into the new one.
In WordPress Multisite, new sites get a boring default template, without any custom settings or starter content.
This plugin allows you to select a specific blog on your network, a “master” one, that will be cloned every time a new blog is created.
In this way, new blogs will contain all posts, uploads, theme settings and plugin options from the master blog.
How does it work?
- It uses MySQL
INSERT INTO ... SELECT
to copy every table from the “master” blog into the new one. This is fast! - Then it does a search and replace on the new blog’s tables, to replace the old URL with the new one.
This is done in a way that respects serialized arrays, so your plugin’s settings will be preserved.
(We used a heavily trimmed down version of Interconnect/IT’s Search and Replace tool for that, so go thank them for this!) - It proceeds to copy all files from the
wp-content/uploads
dir of your master blog into the new one’s, so that all assets will work as expected. - Finally it does some house clean-up, updating the new blog’s title, admin email, and user roles as needed.
Go check the screenshots, it’s really simple and does what it says.
Give it a try!
This plugin was handcrafted with love and ‘yerba mate’ by the team at Tipit.net.
Installation
- Upload
multisite-cloner
to the /wp-content/plugins/
directory - Network-activate the plugin through the ‘Plugins’ menu in your Network admin.
- In your Network admin, go to Settings > Multisite Cloner
You’ll probably want to create a “master” blog to clone from, if you don’t have one already.
Screenshots
Select a default site. It will be cloned when any new site is created.
Clone any site. From the Sites list, admins can easily clone any site in the Network.
FAQ
Can I clone the main site?
No. The main site in your network (usually the one with ID = 1) contains many DB tables, assets and even sensitive information that shouldn’t be replicated to other blogs.
Can I clone my blog in a single-site WP install?
No. The whole point of this plugin is to clone blogs within a Multisite network.
Really?
We couldn’t come up with more questions. Go ahead and ask us some questions and we’ll add the frequent ones here 🙂
Changelog
0.2.2.1
- Fixed syntax error introduced in 0.2.2. (Props to @infotexsupport for reporting this.)
- Settings dropdown: include site path, set max-width.
0.2.2
- WP 4.6 compat: use get_sites and get_network. (Props to @dima-stefantsov for reporting this.)
- Fixed a bug with unserialized object cloning (Props to @icryptic, @techiechic, @t2m and @dberdal for reporting it, and thanks to @interconnectit for the actual fix!)
0.2.1
- Bug fix: when “Allow new registrations” is enabled and a user activates a new blog from the front-end, the wrong footer would be displayed on
wp-activate.php
. Thanks to Schalk Joubert who insisted on this bug. - Minor UI tweaks to Settings
- Tested and updated WP version support.
0.2.0
0.1.13
- Disable cloning of the Main blog from the All Sites network admin.
0.1.12
0.1.11.1
0.1.11
0.1.10
- This version works with the latest WordPress release (WordPress 4.0.0)
0.1.9
- Bug fix: Images in post were linked to the original blog.
0.1.8
0.1.7.1
0.1.7
- The plugin now works on directory-based installs (Fixes problem with duplicate file path reported by JigMedia)
- Handle case of new networks that still haven’t created any sites to clone from.
0.1.6
0.1.5
0.1.4
- First public release.
- Disabled cloning of the main site in the network. Risky stuff.
- Added “Dolly The Cloner” graphic by rock-star designer Diana Stilinovic.
0.1.3
- Added settings page.
- Added shortcut to clone any blog in the network.
- Refactored into a plugin class.
- Refactored DB replacer to use wpdb functions instead of obsolete mysql_* calls.
0.1.2
- Replaced calls to functionality in the underlying OS (mysql, sed) with raw SQL, for greater portability.
0.1.1
- Initial version, on a client site.