wpurok.ru wordpress WPUrok

Как отключить регистрацию пользователей в WordPress

Иногда возникает необходимость полностью отключить регистрацию новых пользователей на сайте WordPress. Это может быть связано с тем, что сайт предназначен только для просмотра контента без возможности регистрации, либо для предотвращения спама и нежелательных регистраций.

Почему стоит отключать регистрацию пользователей

По умолчанию WordPress позволяет посетителям регистрироваться на сайте, если эта функция включена. Однако не всегда это нужно. Отключение регистрации помогает снизить нагрузку на сайт, уменьшить количество спам-ботов и повысить безопасность. Особенно это актуально для сайтов, где регистрация не нужна — например, для корпоративных блогов, лендингов, новостных порталов.

Отключение регистрации помогает избежать:

  • Незаконных регистраций и спама
  • Перегрузки базы данных ненужными учетными записями
  • Потенциальных уязвимостей, связанных с аккаунтами пользователей

Как проверить, включена ли регистрация пользователей в WordPress

Для этого достаточно зайти в админ-панель WordPress и перейти в раздел Настройки > Общие. Там есть пункт Любой может зарегистрироваться. Если галочка стоит, регистрация разрешена. Если убрать галочку — регистрация будет отключена.

Однако этого часто бывает недостаточно, потому что регистрация может быть реализована через кастомные формы или плагины.

Отключение регистрации пользователей через функции темы

Если вы хотите полностью запретить регистрацию, включая любые кастомные способы, можно добавить код в файл functions.php вашей темы или в отдельный плагин:

function wpurok_disable_user_registration() {
    // Отключаем стандартную регистрацию
    if ( isset( $_GET['action'] ) && $_GET['action'] === 'register' ) {
        wp_redirect( home_url() );
        exit;
    }
}
add_action( 'login_init', 'wpurok_disable_user_registration' );

// Отключаем REST API регистрацию, если плагин использует её
add_filter( 'rest_user_register', '__return_false' );

// Отключаем отображение страницы регистрации
add_filter( 'register_url', '__return_false' );

Этот код блокирует переход на стандартную страницу регистрации и перенаправляет пользователей на главную страницу сайта. Также он отключает REST API регистрацию, если она используется плагинами.

Использование плагинов для отключения регистрации

Если не хочется писать код, можно использовать специальные плагины. Вот несколько вариантов:

  • Disable User Registration — простой плагин, который отключает регистрацию, оставляя при этом возможность администрирования пользователей.
  • WP Cerber Security
  • Clearfy ProClearfy Pro на WPSHOP.

Отключение регистрации через REST API и XML-RPC

Для защиты от автоматических регистраций через API стоит отключить REST API регистрацию и XML-RPC, если они не нужны:

add_filter( 'rest_user_register', '__return_false' );

add_filter( 'xmlrpc_enabled', '__return_false' );

Этот код нужно добавить в functions.php темы или в плагин. Также можно отключить XML-RPC через плагин Disable XML-RPC Pingback или в настройках безопасности Clearfy Pro.

Проверка и удаление уже зарегистрированных пользователей

Если на сайте уже много пользователей, можно их проверить и удалить неактивных или подозрительных. Для этого подойдет плагин Bulk Delete или собственный скрипт:

function wpurok_bulk_delete_inactive_users() {
    $args = array(
        'role'    => '',
        'orderby' => 'registered',
        'order'   => 'ASC',
        'number'  => 100,
    );
    $users = get_users( $args );
    foreach ( $users as $user ) {
        $registered = strtotime( $user->user_registered );
        if ( time() - $registered > 365 * DAY_IN_SECONDS ) { // старше года
            require_once ABSPATH . 'wp-admin/includes/user.php';
            wp_delete_user( $user->ID );
        }
    }
}
// Запускайте вручную или по крону
// wpurok_bulk_delete_inactive_users();

Этот код удалит пользователей, зарегистрированных более года назад и неактивных.

Выводы и советы

Отключение регистрации пользователей в WordPress — простой и важный шаг для повышения безопасности и удобства управления сайтом. Рекомендуется:

  • Отключать регистрацию в настройках и коде
  • Блокировать регистрацию через REST API и XML-RPC
  • Использовать проверенные плагины для безопасности, например, Clearfy Pro
  • Регулярно проверять и удалять неактивных пользователей

Эти меры помогут поддерживать сайт в чистоте и безопасности без лишних рисков.

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее