Как изменить страницу входа в WordPress и скрыть стандартный URL

Стандартная страница входа в WordPress обычно открывается по адресу /wp-login.php, а админка — по /wp-admin/. Поменять адрес можно плагином или собственным кодом. Для большинства сайтов безопаснее плагин: он меняет адрес входа и закрывает доступ к стандартному URL. Кодовый вариант тоже возможен, но требует работающих правил ЧПУ и внимательной проверки.

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

Самый простой способ — установить плагин

Для этой задачи часто используют бесплатный плагин WPS Hide Login. Он не переносит и не переименовывает файл WordPress: плагин задаёт другой адрес страницы входа и ограничивает обращение к стандартному URL.

  1. Сделайте резервную копию сайта, затем в админке откройте Плагины → Добавить новый.
  2. Найдите WPS Hide Login, установите и активируйте плагин.
  3. Перейдите в Настройки → Общие. Внизу страницы появятся настройки WPS Hide Login.
  4. В поле адреса входа укажите короткий уникальный путь, например my-entry. Не используйте в нём пробелы. Сохраните настройки.

После сохранения новый адрес будет выглядеть примерно так: https://example.com/my-entry/. Запишите его в менеджер паролей или сохраните в другом надёжном месте: после активации старый адрес для входа перестанет работать как обычная страница авторизации. Если в настройках есть поле для адреса перенаправления, оно определяет, куда отправлять посетителя, открывшего стандартный URL. Оставьте значение по умолчанию, если нет причины менять его.

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

Как проверить, что новый адрес работает

Не выходите из текущей админ-сессии, пока не проверите вход. Откройте новое приватное окно браузера и перейдите по новому адресу. Страница авторизации должна загрузиться, а попытка входа с действующими учётными данными — вернуть вас в админку. Затем проверьте стандартный /wp-login.php: он не должен показывать обычную форму входа.

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

Изменение адреса с помощью кода

Если вы не хотите устанавливать отдельный плагин, можно настроить собственный маршрут. Пример ниже направляет адрес /my-login/ на штатную страницу входа и возвращает 404 при прямом обращении к wp-login.php. Код лучше поместить в отдельный файл MU-плагина, а не в functions.php: MU-плагин не отключится при смене темы.

Перед изменениями сделайте резервную копию файлов и убедитесь, что можете открыть сайт через панель хостинга или FTP. Ошибка в коде или правилах маршрутизации может лишить доступа к входу. Создайте каталог wp-content/mu-plugins, если его ещё нет, и файл wp-content/mu-plugins/custom-login-url.php со следующим содержимым:

<?php
/**
 * Plugin Name: Custom Login URL
 */

add_action( 'init', function () {
    add_rewrite_rule( '^my-login/?$', 'index.php?custom_login=1', 'top' );
} );

add_filter( 'query_vars', function ( $vars ) {
    $vars[] = 'custom_login';
    return $vars;
} );

add_action( 'template_redirect', function () {
    if ( (int) get_query_var( 'custom_login' ) !== 1 ) {
        return;
    }

    require ABSPATH . 'wp-login.php';
    exit;
} );

add_filter( 'site_url', function ( $url, $path, $scheme, $blog_id ) {
    if ( is_string( $path ) && strpos( $path, 'wp-login.php' ) === 0 ) {
        $url = preg_replace( '~wp-login\.php(?=([?#]|$))~', 'my-login', $url, 1 );
    }

    return $url;
}, 10, 4 );

add_action( 'login_init', function () {
    if ( (int) get_query_var( 'custom_login' ) === 1 ) {
        return;
    }

    status_header( 404 );
    nocache_headers();
    exit;
} );

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

После установки кода войдите в админку и откройте Настройки → Постоянные ссылки, затем нажмите Сохранить изменения. Пересохранение обновляет правила маршрутизации WordPress; вызывать сброс правил при каждом запросе не нужно. Это решение рассчитано на сайт, где работают ЧПУ и стандартная маршрутизация WordPress. Если постоянные ссылки отключены, сервер не передаёт запросы на обработку WordPress или используются особые правила веб-сервера, маршрут может не заработать. Для мультисайта и нестандартной конфигурации сначала проверьте схему на тестовом сайте.

Проверьте новый путь в приватном окне, попробуйте войти и выйти, а затем откройте стандартный /wp-login.php. Если новый адрес возвращает 404, войдите в панель хостинга или временно переименуйте файл MU-плагина, чтобы отключить этот код, затем проверьте настройки ЧПУ и ошибки в файле.

Почему не стоит ограничиваться заменой ссылки

Фильтр login_url может изменить адрес, который WordPress показывает в ссылках для входа, но сам по себе он не закрывает /wp-login.php и не создаёт новый маршрут. Поэтому одной замены ссылки недостаточно, если задача — скрыть стандартный URL. Не переименовывайте файл wp-login.php вручную: обновление WordPress вернёт штатный файл, а другие компоненты сайта могут продолжить обращаться к стандартному пути.

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

Как добавить и настроить страницу 404 в WordPress
20.10.2026
Как ограничить число попыток входа в WordPress
13.11.2026
Как создать собственный тип записи (Custom Post Type) в WordPress: подробное руководство с примерами
29.09.2026
Как отключить комментарии в WordPress на всём сайте или на отдельных типах записей
16.10.2026
Как найти и удалить неиспользуемые плагины и темы в WordPress
01.11.2026