Безопасность – самый важный этап разработки сайта. Несмотря на все меры, принятые разработчиками, хакеры ищут новые лазейки, в основном – направленные на админку. Разбираемся, как обезопасить себя и изменить страницу входа в WordPress.
Зачем менять страницу входа в WordPress
Панель администратора – самый важный раздел на всем сайте. Именно из нее добавляются новые статьи, редактируются страницы и настраивается техническая часть. Поэтому основная цель злоумышленника – взломать или ее, или сервер. Последнее сделать тяжело, поэтому основной целью становится админ-панель.
Сам WordPress крайне плохо ее защищает: помогает сбрутить (brute-force – метод взлома через перебор всех возможных вариантов) и войти по логину и паролю, создает дыры в базовом функционале и одинаковый URL авторизации, поэтому для защиты необходимо вручную принимать кастомные меры.
В этой статье я рассматриваю только смену адреса урла логина, но на блоге описаны и другие проблемы.
Как изменить стандартный вход wp-admin
Поменять страницу авторизации можно двумя способами: через адаптивные плагины, подходящие для новичка: легко устанавливаются и настраиваются, или через ручные правки в системном файле ВордПресс.
Заранее сохраните логин и пароль. После изменения урла в базе данных password не поменяется (входим по старым данным), но браузер не сможет ее автоматически вставить. Поможет смена, предварительное сохранение в буфер или регистрация.
Используя WPS Hide Login
Поддерживаемая разработчиками утилита (ищите при установке по логотипу), требующая версии WordPress 4.1+. Настраивается легко:

- Открываем параметры модуля.
- “URL входа” – вводим новый адрес (запишите его) в форму.
- “Redirection” – страница для перенаправления со старого урла. Ставьте или главную, или 404 (предусмотренную темой).
Сохраните изменения и проверьте старый адрес.
Через Clearfy PRO
Плагин от разработчиков из России, доступен на русском. Прокачивает SEO и безопасность блога по 57+ пунктам. Меняет также и ссылку страницы входа. Для этого:

- В левом сайдбаре выберите настройки дополнения.
- В меню откройте вкладку “Защита”.
- Активируйте первый чекбокс (как на скрине).
После сохраните правки (кнопка в конце страницы) и перейдите в режиме инкогнито на старую ссылку.
-15% по промокоду
С помощью .htaccess
Самый тяжелый метод (аналог functions.php для обычных изменений), требующий знания синтаксиса .htaccess. Если его нет – создайте в корневой папке и проверьте: не открывается/правки не работают – сервер работает не на Apache.
Откройте файл и вставьте этот код, заменив your-site.ru на свой домен, secr на новый урл, а key на адрес wp-login.php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^secr/?$ /wp-login.php?key [R,L]
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^secr/?$ /wp-login.php?key&redirect_to=/wp-admin/ [R,L]
RewriteRule ^secr/?$ /wp-admin/?key [R,L]
RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php
RewriteCond %{HTTP_REFERER} !^(.*)your-site.ru/wp-admin
RewriteCond %{HTTP_REFERER} !^(.*)your-site.ru/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)your-site.ru/secr
RewriteCond %{QUERY_STRING} !^key
RewriteCond %{QUERY_STRING} !^action=logout
RewriteCond %{QUERY_STRING} !^action=rp
RewriteCond %{QUERY_STRING} !^action=postpass
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$
RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L]
RewriteCond %{QUERY_STRING} ^loggedout=true
RewriteRule ^.*$ /wp-login.php?key [R,L]
</IfModule>
Если все работает – скрыть wp-admin в WordPress получилось. Если нет – откатите до предыдущей версии.