Изменение URL страницы авторизации WordPress — одна из важных мер для повышения безопасности вашего сайта. По умолчанию доступ к форме входа осуществляется через wp-login.php или wp-admin, что делает сайт уязвимым для брутфорс-атак и сканирования. В этой статье мы подробно рассмотрим, как изменить URL страницы входа без использования плагинов, используя собственные функции и возможности WordPress.
Почему стоит изменить URL страницы входа в WordPress
Стандартный URL авторизации известен всем и легко доступен злоумышленникам. Это позволяет им проводить массовые атаки на подбор паролей и автоматические сканирования уязвимостей. Изменение адреса страницы входа снижает риск таких атак, так как усложняет обнаружение формы авторизации.
Кроме безопасности, это также помогает скрыть админ-панель от посторонних глаз и избежать лишнего трафика ботов.
В отличие от плагинов, изменение URL вручную не требует установки дополнительных расширений, что уменьшает нагрузку на сайт и исключает риски, связанные с несовместимостью или обновлениями плагинов.
Создание собственного решения для изменения URL авторизации
Для изменения URL страницы входа мы будем использовать хуки WordPress и функцию wphide_change_login_url, которая заменит стандартные адреса на пользовательские. Рассмотрим шаги подробно.
Шаг 1. Создаем функцию перенаправления
Для начала нужно перехватить запросы к wp-login.php и перенаправить их на новый URL. Добавьте следующий код в файл functions.php вашей темы или в свой собственный плагин:
function wphide_change_login_url() {
$login_slug = 'sekretnyi-vhod'; // новый slug для входа
$request_uri = $_SERVER['REQUEST_URI'];
if (strpos($request_uri, '/wp-login.php') !== false || strpos($request_uri, '/wp-admin') !== false) {
if (!is_user_logged_in()) {
wp_redirect(site_url('/' . $login_slug . '/'));
exit();
}
}
}
add_action('init', 'wphide_change_login_url');В этом коде мы определяем новый адрес входа — https://ваш-сайт.ru/sekretnyi-vhod/ и делаем редирект с стандартных путей на него.
Шаг 2. Обработка нового URL для входа
Далее нужно заставить WordPress отображать страницу входа при обращении по новому адресу. Для этого добавим правило перезаписи URL и обработчик запроса:
function wphide_add_rewrite_rules() {
add_rewrite_rule('^sekretnyi-vhod/?$', 'wp-login.php', 'top');
}
add_action('init', 'wphide_add_rewrite_rules');После добавления правила необходимо обновить пермалинки в админке — зайдите в Настройки > Постоянные ссылки и нажмите «Сохранить изменения» без внесения правок. Это обновит правила перезаписи.
Шаг 3. Защита стандартных URL
Чтобы полностью скрыть стандартные URL, можно принудительно блокировать доступ к wp-login.php и wp-admin для незалогиненных пользователей:
function wphide_block_default_login() {
if ((strpos($_SERVER['REQUEST_URI'], 'wp-login.php') !== false || strpos($_SERVER['REQUEST_URI'], 'wp-admin') !== false) && !is_user_logged_in()) {
wp_redirect(site_url('/404'));
exit();
}
}
add_action('init', 'wphide_block_default_login');Этот код перенаправит всех, кто попытается зайти по старым адресам, на страницу 404.
Тестирование и отладка
После внесения изменений важно проверить функциональность нового URL:
- Переход по адресу
https://ваш-сайт.ru/sekretnyi-vhod/должен открывать форму входа. - Попытки зайти по
wp-login.phpилиwp-adminбез авторизации должны приводить к 404 или перенаправлению. - После входа пользователь должен нормально попадать в админ-панель.
Если что-то не работает, проверьте правильность правил перезаписи и наличие других плагинов, которые могут конфликтовать.
Дополнительные рекомендации и плагины для безопасности входа
Хотя в статье показано, как изменить URL без плагинов, иногда удобно использовать готовые решения для комплексной защиты:
- Clearfy Pro — плагин, который позволяет скрыть системные страницы, оптимизировать работу и повысить безопасность без сложных настроек.
- WPGPT — плагин с расширенными функциями для админ-панели и защиты.
Использование таких инструментов позволит вам дополнительно обезопасить сайт и упростить управление настройками.
Заключение
Изменение URL страницы авторизации в WordPress без плагинов — эффективный способ повысить безопасность сайта. Используя простые хук и правила перезаписи, вы можете скрыть стандартные адреса и уменьшить риск взлома. Важно корректно тестировать изменения и при необходимости комбинировать их с другими методами защиты.