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

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

Почему нужно удалять и блокировать регистрацию пользователей?

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

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

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

Самый простой способ отключить регистрацию — в админ-панели перейти в Настройки > Общие и убрать галочку с пункта Любой может зарегистрироваться. Это базовая мера, но не всегда достаточная.

Если регистрация отключена в настройках, однако вы видите, что регистрация всё равно происходит, значит нужно проверить другие пути регистрации.

Дополнительные пути регистрации и их блокировка

Регистрация может происходить через:

  • Стандартную форму регистрации (/wp-login.php?action=register)
  • REST API вызовы
  • Плагины с собственными формами

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

function wpmentor_disable_wp_registration() {
    if (isset($_GET['action']) && $_GET['action'] === 'register') {
        wp_redirect(home_url());
        exit;
    }
}
add_action('login_init', 'wpmentor_disable_wp_registration');

Этот код проверяет, если пользователь пытается открыть страницу регистрации, его автоматически перенаправляет на главную страницу сайта.

Блокировка регистрации через REST API

WordPress REST API позволяет создавать пользователей через определённые запросы, если у пользователя есть соответствующие права. Для дополнительной безопасности стоит запретить создание пользователей через REST API для неавторизованных или неподходящих ролей.

function wpmentor_block_rest_user_registration($result, $server, $request) {
    if ($request->get_method() === 'POST' && $request->get_route() === '/wp/v2/users') {
        return new WP_Error(
            'rest_user_registration_blocked',
            __('Регистрация пользователей через REST API отключена.'),
            array('status' => 403)
        );
    }
    return $result;
}
add_filter('rest_pre_dispatch', 'wpmentor_block_rest_user_registration', 10, 3);

Этот фильтр блокирует попытки создания пользователей через REST API, возвращая ошибку 403.

Использование плагинов для управления регистрацией

Если вы хотите более удобный и расширенный контроль — рекомендуем использовать плагины:

  • Disable User Registration — простой плагин для полного отключения регистрации.
  • WP Cerber Security — комплексный плагин безопасности с возможностью блокировки регистрации, защиты от ботов и спама.
  • Clearfy Pro (подробнее) — оптимизирует WordPress и позволяет блокировать регистрацию, а также отключать ненужные функции для ускорения сайта.

Как настроить Clearfy Pro для отключения регистрации

После установки Clearfy Pro перейдите в раздел настроек плагина и активируйте опцию Отключить регистрацию пользователей. Это автоматически скроет формы регистрации и заблокирует все пути регистрации, включая REST API и wp-login.php. Плагин также поможет отключить REST API для неавторизованных пользователей, что повышает безопасность.

Удаление страницы регистрации из вывода меню и виджетов

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

function wpmentor_remove_registration_menu_item($items, $args) {
    foreach ($items as $key => $item) {
        if ($item->url === wp_registration_url()) {
            unset($items[$key]);
        }
    }
    return $items;
}
add_filter('wp_nav_menu_objects', 'wpmentor_remove_registration_menu_item', 10, 2);

Этот код удалит пункт меню с ссылкой на регистрацию из любого навигационного меню.

Дополнительные меры безопасности

Чтобы полностью защитить сайт от нежелательной регистрации, рекомендуется:

  • Отключить XML-RPC, если он не нужен.
  • Включить капчу (например, с помощью плагина reCAPTCHA by BestWebSoft) на формы регистрации и входа.
  • Использовать плагины для защиты от ботов, например, WP Cerber или Wordfence.

Так вы минимизируете риски и сделаете сайт максимально защищённым.

Как настроить автоматический экспорт отчетов в WordPress
16.01.2026
Как добавить динамические атрибуты в shortcode WordPress
01.03.2026
WooCommerce: решение проблемы не обновляющегося SKU вариаций товаров
04.06.2026
Как автоматизировать создание и удаление черновиков в WordPress с помощью WP-Cron
10.04.2026
Как создать динамические таблицы в WordPress с помощью shortcode
10.12.2025