Free
Compatible Browsers: IE11, Firefox, Safari, Opera, Chrome, Edge, Software Version: WordPress 6.4.x, WordPress 6.3.x, WordPress 6.2.x, WordPress 6.1.x, WordPress 6.0.x, WordPress 5.9.x, WordPress 5.8.x, WordPress 5.7.x, WordPress 5.6.x, WordPress 5.5.x, WordPress 5.4.x, WordPress 5.3.x, WordPress 5.2.x, WordPress 5.1.x, WordPress 5.0.x, WordPress 4.9.x
Updated at | 01/03/2024 (a year ago) |
Virus check | |
File size | N/A |
Download times | 0 |
Beyond Multisite helps WordPress multisite network administrators to better control, protect, and clean their network.
Plugin Control Module (view documentation) |
Cleanup Module (view documentation) |
Copy Maker Module (view documentation) |
Activated in Module (view documentation) |
Pending Users Module (view documentation) |
Ban Users Module (view documentation) |
Insert HTML Module (view documentation) |
Captcha Module (view documentation) |
Email Users Module (view documentation) |
Improvements Module (view documentation) |
Everything in Beyond Multisite, except the log generated when copying a site, is translatable. A POT file is included. Read translation instructions. Completed Bulgarian translation files are also included.
Online documentation can be found here.
The circular flat icons used in some images on this page and in the video preview are licensed under GPL. The source is Elegant Themes.
Feel free to ask any questions or suggest features in the comments or via email: [email protected]
WordPress 6.6
PHP 8.2.8
You need something different? Send me an email: [email protected]
FIXED: PHP error sometimes on checking the sites a plugin is activated in (if the active_plugins option value is not an array).
ADDED: Bulk delete actions from the action scheduler via the network cleanup module.
ADDED: Option to change the role of admin users after template site copy.
FIXED: Incorrect preview captcha image on the plugin settings page in some situations due to browser cache.
UPDATED: Language file.
ADDED: Options to not copy the site title or admin email in the normal site copy process.
IMPROVED: Removed or shortened some strings in the copy site log to reduce its size in the database.
FIXED: Some PHP warnings and deprecations related to the Site Plugin Control page in PHP 8.1 and above.
UPDATED: Language file.
ADDED: Option to delete users by role or a list of roles, including custom roles. Only affects users that do not have any other roles. Affects all sites.
ADDED: The ability to export the site IDs or site URLs for the results of the Activated In module.
ADDED: Option to copy a site into a new site (instead of replacing existing one), but it will use the template site copy settings.
ADDED: The registration type column in the Pending Users table now shows if the user was added from the back-end of a site in the network. It also shows from which site and as what role.
ADDED: Hooks for developers to add extra fields to the site deletion form.
ADDED: A new status for emails in the Email Users module, called “Sending emails”. This protects from potential double sending while being sent and not yet marked as sent.
ADDED: A new sending mode for the Email Users module. It is called “Real-time” mode, and it does not use a cron job. Instead it sends while you stay on the page.
IMPROVED: No longer shows the whole query in the copy site log, when replacing a URL in the options table, since it can lead to big log data.
IMPROVED: The bulk activate/deactivate feature now shows a message that it is not compatible with the WP Rocket plugin.
IMPROVED: Better support for persistant cache plugins, since now we are clearing the WordPress cache after certain operations that needed it.
IMPROVED: Better support for Windows based systems due to removing the DIRECTORY_SEPARATOR constant from the plugin code.
IMPROVED: Automatically fixes the [unsubscribe_url] link attribute if WordPress adds a http prefix to it upon saving with the visual editor in the Email Users module.
IMPROVED: Site deletion tasks and email users tasks now show the status of the cron jobs. If the task is not doing anything it could be because the cron job was not created, and now that is easier to find out.
IMPROVED: The task statistics of the Email Users module now refreshes automatically while you stay on the page.
FIXED: Incorrect detection of the base database table prefix for multisites that have a different base prefix than the main site prefix. It was causing problems with a few of the modules for such multisites.
FIXED: The HTTP version of HTTPS URLs from the site we are copying would not get replaced.
FIXED: Incorrect loading progress data shown while exporting site IDs from a site deletion task. Now also switched to showing a percent done, instead of a number.
FIXED: A PHP warning about an undefined array key in the improvements.php file in some situations.
FIXED: Some error situations would cause an endless loading without showing an error message. Now they show an error.
FIXED: The captcha will show an error now if it could not write the answer to the database.
FIXED: Errors will be shown now on some pages if we detect that plugin database tables are missing (instead of just returning empty results on some operations).
FIXED: The ban users cron job was added without a function if the plugin was activated while the module was turned off.
UPDATED: Language and documentation files.
IMPROVED: Replaced most global variables with either constants or super global array elements, to improve WP-CLI compatibility.
FIXED: Tasks for emailing users or scheduling site deletions could not be created if there was an emoji in the email message that needs to be sent.
ADDED: A WP-CLI command to copy a site. It is described in the options of the Copy Maker module.
ADDED: Some hooks in the be_mu_copy_sites_copy_for_seconds() function to help developers copy a site with the function.
IMPROVED: The site copy process now supports the blogmeta database table, and copies the site meta data from there as well.
IMPROVED: Some layout improvements in some module options and more clear wording on some places.
FIXED: Sometimes wrong error count was shown inside the copy site log.
FIXED: Sometimes it would show that the admin email was changed and waiting for confirmation after the site was replaced with a copy of another site.
FIXED: The Insert HTML module did not insert the admin head code on the customizer pages.
UPDATED: Language and documentation files.
ADDED: An option to select multiple roles, including custom roles in the Email Users module.
ADDED: The ability to export a list of all affected emails instead of sending them an email in the Email Users module.
ADDED: A new shortcode [user_admin_sites_only_selected_sites] in the Email Users module, that shows only admin sites that are also selected by site ID in the user selection.
ADDED: New options for the Copy Maker module: do not copy media files from the template site, do not copy posts, pages, categories, tags, or media files when normally copying a site.
IMPROVED: Added the new Update URI plugin header, so if a free plugin with the same name as this one is created in the WordPress repository, it doesn’t update and replace this one.
FIXED: A plugin conflict that causes a fatal error about a call to undefined function wp_get_current_user() when the plugin Rank Math Pro is activated without the free version being active first.
UPDATED: Language and documentation files.
ADDED: Options to not copy the posts, pages, categories, or tags from the template site.
ADDED: Shortcodes for the Email Users module, that show the title or URL of the site where the user is an administrator, or a list of all such sites.
ADDED: The ability to delete all users that do not have a role in any site with the Cleanup Module.
ADDED: An option to change the folder used to store captcha images in case there is a conflict with a CDN affecting the uploads folder.
IMPROVED: Due to a bug in WP Ultimo, the user table columns for ID, Ban Status, and Last IP were empty when WP Ultimo is active.
FIXED: Incorrect comment counts shown on the comments page after comment cleanup on a site that uses WooCommerce.
FIXED: Incorrect captcha preview image path after clicking the Update Preview button multiple times, but still working in modern browsers.
FIXED: A PHP warning when we cannot write in the plugin folder.
FIXED: Some circular icons, like the ones showing the Network Enable/Disable status, were vertically stretched on mobile devices.
FIXED: When the GD PHP extension was not active on the server, it would cause a PHP error. Now it shows an error in the settings page.
FIXED: On some servers people may get an error about an empty response after some actions, even though they were successfully executed.
UPDATED: Language and documentation files.
ADDED: A new option in the Improvements module that allows you to automatically delete the leftover empty uploads folder of permanently deleted sites. It is deleted upon site deletion only.
IMPROVED: The captcha for the blog signup form for logged out visitors is now compatible with the WP Ultimo plugin (tested with version 1.10.11).
IMPROVED: The Captcha module is now turned off by default (affects only new installation of the plugin).
FIXED: The Copy Maker module now works properly if your database name contains a dot. But still it is strongly recommended that you don’t use a dot in the database name or column names.
UPDATED: Language and documentation files.
IMPROVED: The values of the text boxes of the Insert HTML module are now encoded before the POST request and decoded before saved in the database. This will prevent various security measures on some servers from blocking the request when they see that it contains JavaScript code.
IMPROVED: The Improvements module now also stops email notifications about a changed password even when the WooCommerce form is used.
IMPROVED: Reduced the maximum number or sites and users that the plugin affects by a single request, when performing various actions, from 5000 to 1000. This will reduce the load on the server and prevent an error on some servers with lower resources and thousands of sites/users.
IMPROVED: The phrases “Any site ID” and “Any user ID”, have been replaced by “Any site ID (All sites)” and “Any user ID (All users)” so they are more clear that it means it affects all sites/users, and not just one ID.
IMPROVED: A warning text added for the feature that deletes leftover database tables, that it could produce a very slow MySQL query on some servers.
FIXED: An error in older PHP versions produced by a misplaced closing bracket in the Ban Users module: Parse error: syntax error, unexpected ’||’ (T_BOOLEAN_OR), expecting ‘)’ in /home/example/public_html/wp-content/plugins/beyond-multisite/includes/ban-users.php on line 470
UPDATED: Language files.
ADDED: An option in the Copy Maker module settings to choose a site (we call it a template site) to be copied into and replace newly created sites upon their creation.
ADDED: An option to choose the IP address detection method in the Ban Users module settings.
IMPROVED: The Copy Maker is now compatible with the PeepSo plugin and copies its files properly.
FIXED: The Copy Maker now replaces properly the old URL in the site copy if the URL is stored encoded or escaped with slashes.
FIXED: When the plugin list command is used in WP-CLI, it now shows all plugins properly instead of only the ones that are not disabled with the Plugin Control module.
UPDATED: Language and documentation files.
ADDED: New deletion types when deleting sites with the Cleanup module. Now you can mark sites as archived and also choose whether to change the last updated time or keep it the same.
FIXED: The arrows to change the results page, when viewing the scheduled or cancelled sites of a scheduled site deletion task, were not working.
FIXED: Sites with zero administrators were skipped when scheduling a site deletion task.
UPDATED: Language and documentation files.
ADDED: The ability to export the IDs or URLs of all the sites in the results box of previewing a cleanup task (for comments, revisions, and sites). A text file with comma-separated values is generated.
FIXED: If you click the button to execute a cleanup task from inside the preview box with results, and then cancel upon asked for confirmation, and then change the page number, it would now display the preview results as if the task was executed (even though it is just a preview still).
FIXED: When performing a scheduled site deletion task and using a maximum email sending speed higher than 240 per hour, the [user_sites] shortcode in the notification email shows more sites than it should. It includes other sites that are also scheduled for deletion, but the notified user is not their admin.
UPDATED: Language files.
ADDED: New options for the “Delete Sites” section on the “Network Cleanup” page. They allow you to ignore the default first post (Hello World!), page (Sample Page), and comment, when trying to affect sites with zero published posts, pages, or approved comments.
FIXED: Incorrect confirmation message when executing a site deletion task (present since version 1.5.0).
UPDATED: Language and documentation files.
FIXED: When doing site cleanup, and choosing “Less than 1 day after registration” for “Last Updated”, an error for invalid data was shown.
ADDED: An option to show text captcha instead of an image for the login form in order to reduce server load when there is a large number of attacks.
IMPROVED: Now the captcha images are stored for much less time in order to reduce the number of generated files when there are many requests.
FIXED: In some weird situations when WordPress temporarily does not return correct options data, the plugin update function would be triggered and some settings would be lost. Now there is a file fail-safe that stores the latest plugin version of the database information and prevents this.
FIXED: WordPress fixed a bug in version 5.1, which affected site cleanup when certain options were selected. Unfortunately all sites created before this are still affected. I have removed the option to fix the time zone of the time of registration of the sites when performing site deletions, and I have added a warning message visible when certain options are selected.
UPDATED: Language and documentation files.
ADDED: The ability to choose custom numerical values for many of the options on the Network Cleanup page (instead of only choosing from predefined ones).
ADDED: A new option in the “Improvements” module. It shows an icon for each user role in the Sites column on the Network Users page.
ADDED: A new option in the “Improvements” module. It shows an icon in the top admin bar, in the My Sites menu, and in the My Sites page, indicating which site has discouraged search engine indexing.
ADDED: Buttons to go to the next or previous page from the set of results in various places in the plugins.
ADDED: Two new links with IP address information on the screen for banning/unbanning users.
IMPROVED: When we failed to send a test email from the settings of the “Cleanup” module, we now show an error.
IMPROVED: The “Ban Users” module is turned off by default for new installations. This will prevent unnecessary IP address data collection in the multisites of clients that are not using the module but also haven’t turned it off.
IMPROVED: The small icons with links to IP address information sites in the network users table are easier to touch on mobile devices (added clickable padding around them).
IMPROVED: The list of user sites, which are shown in the email notification for a scheduled site deletion, are now active links.
IMPROVED: The default name of the sender of the email notification for a scheduled site deletion is now the network title, instead of the title of the main site. Affects new installations only.
IMPROVED: The default email of the sender of the email notification for a scheduled site deletion is now the WordPress generated email (like [email protected]), instead of the network administrator email address. This prevents unwanted revealing of your email address to the users being notified. Affects new installations only.
IMPROVED: It is more recognizable that a module is turned off. An extra step to turn it on is visible in the Quick Start tab, and also a red message in the settings area.
FIXED: There were incorrect results when searching for banned or pending users with a string that contains an underscore. This was due to incorrect MySQL escaping in some queries. Technically the search feature of the two modules was also vulnerable to a so called SQL wildcard attack (which can be used to perform complicated queries in order to slow down the server), but since only Super Administrators can access these pages, it is not a problem.
FIXED: Removed one link with IP address information from the screen for banning/unbanning users because it does not work anymore.
FIXED: We now make sure that the IP address of the user is valid before we perform certain operations with it in the “Ban Users” module. This will prevent errors if for some reason the provided IP address data is invalid.
FIXED: An issue with the height of text editors in the module settings in WordPress 5. It is a bug in WordPress and I have reported it, but I have also implemented a fix for now.
UPDATED: Language and documentation files.
FIXED: When trying to delete sites with the Cleanup module, in some situations it would infinitely be processing sites without deleting them.
FIXED: When copying a site, if the URL of the site to paste into contained the URL of the site to copy from, the resulted site copy would have an incorrect site URL and not work properly. This would happen for example if you try to copy from the site example.com/test to the site example.com/testing.
FIXED: If you are using CloudFlare, then the Ban Users module would show the CloudFlare IP address as the user IP address. Now when you update to the 1.3.1 version of this plugin, the correct IP address will be set for each user only after the user visits the site while logged-in. If you have already banned any users while using CloudFlare, you should unban them, since the CloudFlare IP address was banned and not the real user IP address. You can check which are the CloudFlare IP address ranges here: https://www.cloudflare.com/ips/
ADDED: The option to show a country flag next to the user IP address was added to the “Ban Users” module. Data is pulled from the free API at www.iplocate.io.
ADDED: A new column in the logs table of the “Copy Maker” module. It displays the log size in KB or MB.
IMPROVED: When a list of site URLs is displayed in the “Cleanup” and “Activated in?” modules, they are now links to those URLs.
IMPROVED: Added a nonce field to some forms of the plugin that did not have one. This improves security.
IMPROVED: The hint for the number of logs in the options of the “Copy Maker” module now contains more useful information.
IMPROVED: Switched to the clean_blog_cache() and get_main_site_id() functions, which are more future-proof. For versions of WordPress lower than 4.9 the previous approach is still used.
FIXED: Trying to save invalid data for the plugin settings would generate PHP notices for “Undefined index” and break the tabs layout.
FIXED: Updating from a version of the plugin lower than 1.2.0 to a version higher or equal to 1.2.0, while the plugin is deactivated, would cause for some settings of the “Insert HTML” module to be lost.
FIXED: The responsive layout of the table with the banned users had some problems when the plugin is translated to a language with longer words than English.
FIXED: The quick links that point to network themes menu items (added by the “Improvements” module), were not working when displayed as buttons, while viewing the active theme on a site.
FIXED: WordPress would sometimes store more than one copy of the same plugin option, which may cause some problems. I suspect that it is a bug in WordPress. So to go around this, now instead of updating an existing option, the plugin first deletes the option (along with any copies) and then adds the option with the new value.
FIXED: A mistake in the Bulgarian translation files.
UPDATED: Language and documentation files.
FIXED: A fatal error saying “Can’t use function return value in write context…” was present when the plugin is activated on a server with a PHP version lower than 5.5.
FIXED: When the “Insert HTML” module was set to insert before the closing body tag on “All except these site IDs:” it would insert on all sites and produce a PHP notice.
FIXED: The action links of the “Activated in?” and “Plugin Control” modules were showing on the “Must-Use” plugins page and PHP warnings were generated.
FIXED: Some tooltip boxes, that hold the hints, were sometimes showing under the tabs of the WordPress text editor, making them partially unreadable.
ADDED: The “Copy Maker” module, which can duplicate blogs from the multisite network.
ADDED: A setting for the “Plugin Control” module that automatically network disables newly installed plugins.
ADDED: A feature for the “Cleanup” module that can delete leftover database tables (created by plugins) from sites that are now permanently deleted.
ADDED: The option to choose on which types of pages to show the HTML code inserted by the “Insert HTML” module: front-end pages that use the theme template, front-end login related pages, or back-end admin pages.
ADDED: A quick link to blacklist information about the user IP address in cleantalk.org.
ADDED: An option in the “Improvements” module that can add a CSS class to the body tag on the wp-signup.php page.
ADDED: An option in the “Improvements” module that can delete leftover database tables when a site is permanently deleted.
ADDED: A hover effect for the icons in the “Last IP” column on the “Users” network admin page.
IMPROVED: The design of the “Modules & Settings” page is changed to increase readability of the module description. It is now split into two tabs and shown in bullets.
IMPROVED: Archived, spammed, or deleted sites are now excluded from scheduled site deletion tasks.
IMPROVED: The options to choose which sites to be affected by the “Insert HTML” module, are now made to work in the same way that similar options in other modules work (for consistency).
FIXED: The comment deletion of the “Cleanup” module now finds links that don’t have a protocol (they start with “www.”).
FIXED: Marking sites as deleted with the “Cleanup” module no longer removes the users from the deleted site.
FIXED: Previewing permanent site deletion or previewing marking not-deleted sites as deleted was causing infinite processing though the sites. This affected only networks with so many sites that they could not be processed in one chunk (10 seconds).
FIXED: If several sites of the same user were scheduled for deletion, the user would sometimes receive more than one notification (instead of just one about all the sites).
FIXED: Some login related messages were not showing if the “Email Users” module is turned on.
FIXED: The action links of the “Activated in?” and “Plugin Control” modules are no longer visible on the “Drop-ins” plugins page.
FIXED: Two options from the “Improvements” module were causing the “Plugins” and “Themes” admin menus to be visible for users that should not see them. It was only a menu issue, users still could not access the actual pages.
FIXED: PHP warnings were sometimes generated when old captcha images are deleted.
FIXED: When the PHP files of the plugin are accessed directly, the script is now terminated immediately (instead of generating an error).
FIXED: Few mistakes in the comments of the source code in some files. They do not affect how the plugin actually works.
UPDATED: Language and documentation files.
ADDED: The new “Email Users” module which allows you to send mass emails to all or some users in the network.
ADDED: A new option in the site deletion form that lets you exclude sites, which deletion has been cancelled in the past (but not earlier than version 1.1.0).
ADDED: The ability to view which site deletions are scheduled and which are cancelled in an active or finished site deletion task.
ADDED: A way to force the maximum email sending speed in a site deletion task even without having enough visitors to trigger the cron job. There is a link to a self-refreshing page that triggers the cron job.
IMPROVED: The captcha will be more compatible with plugins that also add HTML to the WordPress forms. If floating elements are added before the captcha image, now it will show properly on a new line.
IMPROVED: All single row text fields, except the ones for search, have the enter key to prevent accidental submissions.
IMPROVED: After successfully cancelling a scheduled site deletion with the “Cancel deletion!” button, now the big red message fades away and disappears. In the past it stayed until the user goes to another page or reloads the current page.
IMPROVED: After aborting the scheduling of a site deletion task, now a message shows that suggests that you reload the page, in order to see if such a task has been created before you managed to abort it.
IMPROVED: The reloading of the network cleanup page that is related to site deletion task creation or cancellation, now also scrolls down to the site deletion form or the site deletion task information.
IMPROVED: We only call a task active, in various messages, if it is not done. Otherwise we call it finished.
FIXED: A mistake that was causing the maximum email sending speed for the Cleanup module to always be 240 per hour, regardless of the chosen settings.
FIXED: One JavaScript variable was declared two times.
FIXED: Few mistakes in the comments of the source code in some files. They do not affect how the plugin actually works.
UPDATED: Language and documentation files.
FIXED: The “Less than X min/hour(s)/day(s) after registration” option for the “Last updated” drop down menu in the “Site Deletion” form, no longer affects sites with last updated date/time that is before the registered date/time. Even though such sites should not exist, I found that they sometimes do.
FIXED: No longer shows an error when trying to schedule such a number of sites for deletion that they are processed in more than one chunk.
FIXED: No longer shows stage 1 of a scheduled site deletion task as active if there are some email notifications skipped and all others are either sent or failed. Correctly shows stage 2 as active in that case.
Initial release