Запретить регистрацию спам-ботов в WordPress довольно просто.
Заметил что частота регистрации спам-ботов возрастает если на главной странице есть форма входа/регистрации пользователей, но убирать ее не нужно, ведь запретить регистрацию ботам можно несколькими простыми способами:
Способ 1. Установить плагин который будет добавлять обязательное для заполнения поле при регистрации. Скрипты авто-регистрации ботов не знают от таком поле и естественно не смогут его заполнить, особенно если в это поле должен вводится фиксированный ответ на какой нибудь вопрос.
Способ 2. Вручную отредактировать код файла wp-login.php (в котором изменим user_login на что угодно). Боты будут заполнять на странице регистрации стандартный user_login, но увы заполнять нужно уже не его :)
Найдём строку:
$user_login = $_POST['user_login'];
И заменим её на:
$user_login = $_POST['user_login'];
if(!empty($user_login)) wp_die('Нет доступа!');
$user_login = $_POST['abc_user_login'];
Найдем ниже:
<label><?php _e('Username') ?>
<input type="text" name="user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
И заменим на:
<div style="display: none;">
<label><?php _e('Username') ?>
<input type="text" name="user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
</div>
<label><?php _e('Username') ?>
<input type="text" name="abc_user_login" id="user_login" value="<?php echo esc_attr(stripslashes($user_login)); ?>" size="20" tabindex="10" /></label>
Способ 3. Установить капчу через плагин например, но увы иногда боты могут распознать текст капчи, по этому капча это как дополнительный метод защиты, который может затруднить регистрацию и самим же пользователям.