This add-on for Broadcast will be able to bulk clone blogs, forming new blogs on the network.
An existing blog is chosen as the template and a new blog is cloned from it.
What is cloned
- All of the database tables are copied
- The configured user roles are copied
- The blog’s URL is modified in the options table
- The blog’s URL is modified in the posts table guid column
- All of the attachments on disk are copied
- Optionally, if the User Role Sync add-on is activated, all of the users are copied over
- Optionally, created posts are linked to their parents
If the blog already exists, it is updated:
- Any existing blog options (blog name, blog description, etc) are updated if they have new values
- Compatible add-ons and custom plugins can update their own information on the blog (franchises with custom data can, for example, add code to update phone numbers and franchise owner names, for example)
The following Broadcast add-ons enhance the Bulk Cloner.
- Queue allows clones to be queued in case each takes a long time
- Shortcodes allows local and global shortcodes to be cloned
- User Role Sync copies the users and their roles
- WooCommerce offers option modifications
The add-on provides an interface in the admin to manually clone a single blog.
The screenshots below show:
- The source blog with a post
- How to select the blog to clone
- How to set up the new blog’s settings
- The blog in the blog list
- And the new on the newly-cloned blog
The new blog domain and path can specify either the source blog (which will cause an update), an existing blog, or a brand new blog. WordPress’ internal domain mapping allow for a completely new domain and blog. Don’t forget to set up your hosting to accept the new domain!
The options tab shows any options you have selected to be exported. This could be the new blog’s admin, the blog name or description.
If you have other add-ons that extend the export options of Bulk Cloner, there could be more tabs. The Shortcodes add-on, for example, offers global and local shortcodes that can be set for the new blog.
Finally, the Go! tab will execute the update or clone.
Cloning using a Spreadsheet
Control your whole multisite network using a spreadsheet! With the spreadsheet (Excel / Libreoffice XLS) function you can clone several blogs at a time.
The screenshots below show:
- Selection of blogs to be exported to the spreadsheet
- Editing the spreadsheet, adding a new blog
- Uploading the edited spreadsheet
- And the newly-created blog in the blog list
To create a new blog:
- Copy the line of an existing blog.
- Inte the clone_from_domain column, add the domain and path of an existing blog.
- Delete the blog_blog_id value.
- Change any options or shortcodes or other values you need.
- Change the clone_status value to import
Upload the modified spreadsheet.
Only the blogs with the import status will be imported or updated.
As of version 46, it is possible to modify values in the options table during manual and spreadsheet cloning.
The options table contains the settings from:
- the blog itself
- the theme
- the installed plugins
There is a wizard that can be used to create common modifications. Some Broadcast add-ons can also interact with the wizard (see above list of compatible add-ons).
If a modification is for an option that is an array or object, one or more keys in the array can be selected for modification. Note that when exporting, one the first value is shown, and when importing the same value is set for all selected keys. So if your theme has just one option, and in it you want to change the logo and url (two keys), you will have to make two modifications.
Yes. Everything from the source blog is copied, including the active plugins and their settings.
No instruction from your documentation about cloning site using subdomain approach. I hope you can guide me through this. Thanks
Subdomain and domain goes into blog domain.
The path is for the /path/at/the/end/ of the domain, if any.
The shortcodes are in the post content? The content should be left completely untouched since the posts are all just copied directly using SQL.
Could you e-mail me and show me what’s going on?
And received and replied to!