My Private Site – Make Your Whole Site Private, Force Login & Block Registration Spam
Changelog
4.2.1
Fixed privacy enforcement for block themes when using Standard compatibility mode.
Preserved compatibility with WordPress 5.8 and classic themes while adding block-theme detection for WordPress 5.9 and later.
4.2
Added Spam Account Cleanup, a staged dry-run, CSV export, and batch deletion tool for safely removing spam subscriber accounts.
Added optional reCAPTCHA protection for the WordPress registration form, sharing the existing reCAPTCHA keys with Login Guard.
Added a public user-insert backstop so selected Registration Spam Guard checks can block suspicious unauthenticated user creation outside the default registration form.
Strengthened Spam Account Cleanup protections for hidden/custom post types, detected store-order customer records, and EDD/WooCommerce customers.
Increased Registration Spam Guard log retention from 20 to 100 entries.
Added default-off deterministic spam signals for digit-dominant email addresses, gibberish email addresses, and profile bios containing URLs.
Added suspicious Gmail plus-alias detection to Registration Spam Guard.
Added reserved administrator username, URL-like username, crypto scam phrase, and disposable email domain detection to Registration Spam Guard.
4.1.1
Added the Protection-tab Registration Spam Guard controls for honeypot, gibberish username, excessive email dots, missing MX, and StopForumSpam checks.
Added reCAPTCHA Login Guard settings, including Google site key and secret key fields.
Added admin notices and settings save handling for the new spam guard and reCAPTCHA controls.
Updated AI Crawler Defense wording and related Site Privacy UI labels.
4.1.0
Added Registration Spam Guard and reCAPTCHA login protection to the free plugin.
4.0.4
Fixed Site Privacy save actions being intercepted by the robots.txt retest control.
Improved AI Crawler Defense retest notice when a physical robots.txt file is present.
4.0.3
Added AI Crawler Defense subsystem
Added built-in video tutorials for all sections
Added Manage Settings subtab to Advanced to save, restore, and reset settings
Substantially optimized plugin startup operations
Added subtabs engine for easier grouping of functions
Updated main My Private Site page to make it more readable
Fixed bug in mail list sign up experience
Refactored some of the source code for more maintainable files
Removed direct serialization of settings array for increased security
Updated EDD licensing library
Upgraded CMB2 library from 2.10.1 to 2.11.0
3.2.1
Safeguarded selective content processing with nonce and capability checks
Hardened core admin handlers with current_user_can for membership, site privacy, landing, advanced, and more
3.2
Added feature to hide the admin bar from the front-end for logged-in users
This feature works whether the site is set to private or not
3.1.1
Minor UI tweak to provide better clarity for theme option
3.1.0
Added REST API Guardian protection to core plugin
Increased size of heading font in dashboard
Replaced tags set (login, pages, private, security, visibility, plugin, page, posts, post) with (registered only, privacy, protected, restricted, password protect)
3.0.14
Minor compatibility update for WordPress 6.4.
3.0.13
Minor update to better support my_private_site_public_check_access_by_page filter.
3.0.12
Slight improvement to HTML support pages
3.0.11
Fixed a CMB2 type error that popped up from time to time (Thanks, Michael!)
3.0.10
Fixed a bunch of over-eager security checks
3.0.9
Fixed compatibility switch bug
3.0.8
Fixed some security bugs
3.0.7
Added more hooks for increased granular control of access
Fixed some minor bugs
3.0.6
Moved compatibility mode option to Site Privacy tab and added additional theme compatibility fixes
3.0.5
Added a compatibility mode option on the Advanced tab which will hopefully finally fix the Elementor issues
Complete rewrite with an entirely new, streamlined UI
Added the selective content subsystem
2.14.2
Minor fix for password reset. Thanks to user o2Xav.
2.14.1
Minor support update
2.14
Force login at ‘get_header’ instead of ‘template_redirect’ Action to be compatible with wpengine.com hosting
Allow Custom Login page that is NOT on the current WordPress site, and clean up Settings page validation of related fields
Fix double display of Error Messages on Settings page
2.13
Remove Plugin’s entry on Users submenu on WordPress Admin panels
Remove associated Setting, which determined whether Users submenu entry existed
2.12
Wait until Pretty Permalinks applied before deciding whether to force a login
Add an Override Advanced Setting with Warnings on Usage, to allow Landing Location and Custom Login to both be specified.
Correct coding error that allowed Landing Location with Custom Login, a potential Redirection error
Fix Error Log warning on [mb]strpos Offset parameter
2.11.4
Use Custom Login setting, if present, to redirect failed login attempts with blank username and/or password
2.11.3
Use Custom Login setting, if present, to redirect failed login attempts
2.11.2
Provide a Setting to disable User with No Role behaviour introduced in 2.11
2.11.1
Remove forced logout when User with No Role attempts to access a Site (Network/Multisite install), to fix repeated messages when wp_logout is hooked by other plugins
2.11
In a WordPress Network (“Multisite”), block Users with No Role on the current Site
Make Landing Location work when free Paid Membership Pro plugin is activated
2.10.1
Add setting to obey Landing Location for users who login via a URL of wp-login.php without a &redirect_to= following
2.10
Add setting to not display a Users submenu option for the plugin’s settings
Conditional logic for Settings Saved update message in Validate function
2.9
Set Landing Location for logins via Meta Widget link, as well as automatic Login prompts
2.8
Add Prefix option to Always Visible URLs
Automatically use mb_ Multi-Byte string functions, if available
2.7
Add Custom Login URL setting
2.6.1
Older versions of WordPress require a parameter be passed to get_post()
2.6
Detect and make visible Login-associated Pages created by the Theme My Login plugin
2.5
Allow other URLs to be Always Visible with new Setting
2.4.2
Reveal BuddyPress /activate/ Activation page when Reveal Registration selected
2.4.1
Fix bug in URL matching for Root, where one URL has a trailing slash and the other does not
2.4
Handle BuddyPress’ redirection of Register URL in Reveal Registration
2.3
Add Setting to Reveal Home Page on a Private Site
Fixed Problems with wp_registration_url function in WordPress prior to Version 3.6
2.2
Add the WordPress User Self-Registration field to the plugin’s Settings page
Add the Settings page to the User submenu of Admin panel, too
2.1
Add a settings checkbox to reveal the Register page for User Self-Registration
2.0
Add Settings page, specifying Landing Location and turning Private Site off and on
Warning for new default of OFF for Private Site until Settings are first viewed
Add Networking Settings information page
Track plugin version number in internal settings
Replace WordPress Activation/Deactivation hooks with Version checking code from jonradio Multiple Themes
Add Plugin entry on individual sites when plugin is Network Activated, and Settings link on all Plugin entries
1.1
Change Action Hook to ‘wp’ from ‘wp_head’ to avoid Modify Header errors when certain other plugins are present