The solution I offer for now is to add a couple request_uri checks in three places to kick the plugin back to normal while on the robots.txt (and the wp-activate.php).
I think this works for me.
Here…
function ds_users_authenticator () {
if( strpos($_SERVER['REQUEST_URI'], 'robots.txt')) return;
if( strpos($_SERVER['REQUEST_URI'], 'wp-activate.php')) return;
if ( !is_user_logged_in() ) {
and here…
function ds_members_authenticator() {
global $current_user, $blog_id;
if( strpos($_SERVER['REQUEST_URI'], 'robots.txt')) return;
if( strpos($_SERVER['REQUEST_URI'], 'wp-activate.php')) return;
if( is_user_member_of_blog( $current_user->ID, $blog_id ) || is_super_admin() ) {
and here …
function ds_admins_authenticator() {
if( strpos($_SERVER['REQUEST_URI'], 'robots.txt')) return;
if( strpos($_SERVER['REQUEST_URI'], 'wp-activate.php')) return;
if( current_user_can( 'manage_options' ) || is_super_admin() ) {
Let me know if that works for you and I’ll roll it out through the plugin updater later.
Thread Starter
Simon
(@simoniannelli)
Thanks that did the trick. Looking forward to the updated plugin.