Приветствую, дорогой гость! В данной статье мы рассмотрим, как скрыть URL входа админ-панели WordPress. Похожая тема уже была затронута на блоге DayAfterNight, она называлась «Как изменить адрес входа в админ-панель WordPress«. Ко мне очень часто обращались со следующим:
Почему не скрывается админ-панель?
Если набрать wp-admin, откроется новая страница логина.
Друзья, прошлая статья была направлена именно на замену страницы логина WordPress, а не на ее скрытие от посторонних глаз. Мы заменяли wp-login.php на свое название, например, admin-login.php. Сегодня, скроем данную страницу.
Итак, для того, чтобы скрыть страницу входа, нам потребуется зайти на хостинг и отредактировать файл .htaccess, который находится в папке вашего WordPress.
Например: Ваш_хостинг/httpdocs/wordpress/.htaccess
В файл .htaccess нужно вставить следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# Hide admin URL start <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^my_admin_url/?$ /wp-login.php?my_secret_key [R,L] RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$ RewriteRule ^my_admin_url/?$ /wp-login.php?my_secret_key&redirect_to=/wp-admin/ [R,L] RewriteRule ^my_admin_url/?$ /wp-admin/?my_secret_key [R,L] RewriteCond %{SCRIPT_FILENAME} !^(.*)admin-ajax\.php RewriteCond %{HTTP_REFERER} !^(.*)site.com/wp-admin RewriteCond %{HTTP_REFERER} !^(.*)site.com/wp-login\.php RewriteCond %{HTTP_REFERER} !^(.*)site.com/my_admin_url RewriteCond %{QUERY_STRING} !^my_secret_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?my_secret_key [R,L] </IfModule> # Hide admin URL end |
my_admin_url — замените название, на желаемое. По этому адресу будет доступен ваш сайт.
Например: DayAfterNight.ru/my_admin_url
my_secret_key — вместо данной строки придумайте сложный ключ и запишите его.
Например: 234sdf79862gsdf7634yrgksf876
site.com — замените на домен вашего сайта.
Также, если вы воспользовались предыдущей статьей о замене страницы wp-login.php (стандартная страница входа), измените строки в коде.
Например: Ваша страница называется admin-login.php, замените 5 значений wp-login в коде на admin-login.
После этих простых манипуляций мы получим:
- Ошибка not_found при наборе site.com/wp-admin
- Ошибка доступа при наборе site.com/wp-login.php
- Доступ к сайту по красивой, придуманной вами ссылке, такой, как site.com/my_admin_url
- Доступ к URL админки по придуманному вами паролю site.com/wp-login.php?my_secret_key. Например, для измененной страницы и выдуманного пароля site.com/admin-login.php?234sdf79862gsdf7634yrgksf876
Данная статья была написана после полугодовалого перерыва. Что случилось со мной, а также другие увлекательные уроки и полезности вы сможете прочитать в следующих статьях.
Спасибо за Вашу подробную инструкцию. Всё отлично получилось с первого раза.
Татьяна, пожалуйста
Здравствуйте.
Отличная статья. с одним сайтом все получилось, но возникла проблема с кириллическим доменом. Если адрес сайта указывать в Punycode, то все работает, как будто ничего и не менялось, если в формате мой-сайт.рф, то всегда происходит переадресация на страницу 404. в чем может быть проблема?
Здравствуйте, Павел.

Спасибо
Не приходилось работать с кириллическими доменами, даже не знаю, что вам подсказать, извините
Сергей, а как вы сделали, чтобы у вас не отображался автор постов?
Ярослав, в index.php (главная страница) либо с page.php удалите или заккоментируйте вывод автора
У меня нет слова author в этих файлах. Ни в корне, ни в папке темы. Видимо это зависит от версии ВП. Как ещё, по-вашему, может это решаться?
Решение где-то в вашей теме. Скиньте тему на seregadadk(СобакА)mail.ru, я гляну
О, вы так любезны!
Отправил тему Вордпресс в которой хочется скрыть автора.
Проверьте почту
О! Получилось! Автор теперь не отображается! Большое спасибо! ))
Большое пожалуйста
Заполнять только это? А то не получается у меня что — то.
RewriteCond %{HTTP_REFERER} !^(.*)site.com/wp-login\.php
RewriteCond %{HTTP_REFERER} !^(.*)site.com/my_admin_url
RewriteCond %{QUERY_STRING} !^my_secret_key
Здравствуйте, Владислав. Заменять нужно:
my_admin_url – замените название, на желаемое. По этому адресу будет доступен ваш сайт.
my_secret_key – ключ
site.com – замените на домен вашего сайта.
Также, если вы воспользовались предыдущей статьей о замене страницы wp-login.php (стандартная страница входа), измените строки в коде.
Добрый день, спасибо за данный материал.
Из предыдущей статьи (про изменение файла wp-login.php) работает всё, но админка по прежнему доступна по адресу /wp-admin , просто происходит редирект на новый файл, который заменил wp-login.php. Из-за этого попробовал внедрить на сайт материал, написанный в данной статье.
Не получилось ничего, кроме того, что при наборе /wp-admin выдаёт ошибку 404 (что в принципе хорошо). Секретный код не работает и новый урл админки тоже. Сейчас доступ в админку один, через файл /wp-login.php (с изменённым названием конечно).
Возможно, это происходит по следующей причине: когда я пытался включить кэширование фалов сайта при помощи функции в файле .htaccess, возникли большие проблемы, как оказалось эта функция включается со стороны моего хостинга и включали кэширование уже они на своей стороне (после обращения в техническую поддержку), без моего участия. Может ли с этим быть связана моя проблема, как Вы считаете? Странно, что после внедрения данного кода замаскировалась страница /wp-admin – значит, часть кода сработала.
При наборе свой сайт.wp-login.php после данных изменений, выдаёт не 404, а цикличное перенаправление на странице-это нормально?
Здравствуйте, Александр.
В каждом хостинге свои заморочки и зачастую именно из-за него у одних работает, а у других нет. Возможно, претерпела изменений и сама CMS WP. Статья писалась для более ранней версии.
Добрый день!
Все сделала как описано выше. Итог — выдает ошибки при входе по ссылкам site.com/wp-admin
и site.com/wp-login.php
Зайти в админку можно только через site.com/wp-login.php?my_secret_key
А Доступ к сайту по красивой, придуманной вами ссылке, такой, как site.com/my_admin_url Не работает!
Не подскажите, что я могла сделать не так?
Здравствуйте, Александра.
Как вы могли заметить, значения my_admin_url повторяются в коде несколько раз, перепроверьте, все ли вы заменили значения на свои.
У меня проблем не возникает, все хорошо работает и на последней версии ВП.
Сделал также как Александра с помощью автозамены и такая же проблема. Через site.com/wp-login.php?my_secret_key заходит, а по второй ссылке — нет.
Я постараюсь найти причину этого недоразумения :smilie:
Хм, все сделала заново… пользовалась Заменой значения одного на другое — пропустить не могла. А ссылка my_admin_url все равно выводит на страницу ошибки 404.
В общем до авторизации в админке ссылки site.com/wp-admin и site.com/wp-login.php не работают. А после авторизации через site.com/wp-login.php?my_secret_key ссылка site.com/wp-admin работает
Есть смысл так оставлять?
Возможно, WP претерпел каких-либо изменений, в версии WordPress 4.2.5 все отлично работает.
Если удобно входить через secret key, то почему нет?)

Спасибо. На конту покликал))) Инфа полезная.
Андрей, пожалуйста
Здравствуйте!
Воспользовались вашим кодом, помог, спасибо!
Остался вопрос, на данный момент вхожу на сайт по адресу, site.ru/wp-login.php?my_secret_key — работает.
*my_admin_url – замените название, на желаемое. По этому адресу будет доступен ваш сайт. — не работает, правильно понимаю должен быть заменен адрес /wp-admin/ ?
Подскажите имеет смысл заменять адреса админки и адрес формы входа после скрытия?
my_admin_url не работает в версии WP выше 4.2, почему, еще не разобрался. У меня WP 4.2.5 все без нареканий.
Это по вашему желанию, ранее на wp-admin.php производились массовые ддосы.
Спасибо за статьи!
Александр, и вам спасибо за отзыв
Фух, кажется что-то получилось, спасибо вам за инструкцию
Только вот у меня заходит в админку только по ключу, но в целом, именно это и нужно. До этого стоял плагин Login lock down, который ограничивал кол-во попыток на авторизацию. Так вот теперь его уберу, потому что в админку никто так просто не проберется. Спасибо еще раз!
Здвравствуйте, Миша. Всегда пожалуйста
Сейчас, те кто мне пишет, разделились на тех у кого все отлично работает и на последней версии ВП, и те у кого не работает на более ранних. Остается думать, что дело в хостинге. Интересно, какой хостинг вы используете?
Пока обычный shared-хостинг от Айхор (Ihor). Но через пару дней перейду на VPS тариф от этого же хостера
Дело ваше, но, мне кажется, до 1-2 тысяч посетителей переплачивать не стоит
Просто уж очень выгодные у них тарифы. VPS за 250 рублей, поэтому я соблазнился)
Я чуть было не соблазнился на Fozzy, но понял, что еще рановато
у меня все получиться, админ панель откривает по ссылку который я написал но один проблема есть, зайду в админ панел набираю логин и парол но не входит. что нужно сделать?
Внимательно посмотрите, возможно, что-то не заменили
/vhod-admin — новый адрес админки
/vhod-admin.php — новая страница входа
1. Если перейти на /wp-login.php, то редиректит на vhod-admin.php
2. Ошибка по адресу /vhod-admin
Что я сделал не так?
По адресу /vhod-admin.php всё норм.
Александр, посмотрите на 19 строку кода в вашем комментарии, вы не заменили одно значение wp-login. А редирект с wp-login происходит скорее всего из-за того, что вы уже вошли, как администратор, попробуйте с другого браузера набрать путь. У меня, на вашем сайте выводится страница not_found 404 при наборе wp-login.php.
Александр, благодарю за чудесную статью, которая написана понятно и самое главное актуально! Желаю успехов Вам в работе и в ваших проектах! Можете, пожалуйста, рассказать для чего используется my_secret_key? Насколько я понял он не привязывается к логину для захода в админ панель, а используется для усложнения адресной строки, чтобы не удалось подобрать вредителям логин, верно?
Олег, я присоединяюсь и также, желаю Александру всего наилучшего. Да, ключ, как запасной вариант
Все работает, только вот после замены в файле .htaccess записи не отображаются вовсе, вот что выдает:
«Not Found
The requested URL /hello-2/ was not found on this server. »
В чем может быть проблема ?
Попробуйте не заменять, а добавить в начало файла данный код, не удаляя тот, что имеется.
Готово, благодарю за статью и помощь.
Пожалуйста
А как спрятать сам файл htaccess ?
Он у меня открыт для любого.
Здравствуйте
Поставьте атрибут (права файла на хостинге) 600, то есть, только владелец сможет посмотреть и изменить 
Скажите а нельзя сделать так что при наборе стандартного адреса админки происходил бы редирект на главную страницу а не какие-то там ошибки?
Замените строчку RewriteRule ^.*wp-admin/?|^.*wp-login\.php /not_found [R,L] на RewriteRule ^.*wp-admin/?|^.*wp-login\.php /index.php [R,L] и будет кидать на главную, хотя я бы посоветовал оставить 404, что то там с сео и поискавиками связано.
Автору спасибо, но что то у меня не работает..точнее работает но доступа в админку нет через my_admin_url выходит ошибка 404…предыдущей статьёй не пользовался, в шаблоне есть своя форма регистрации и авторизации, нужно было лишь перенаправлять всех на 404 по запросу wp-admin и wp-login
Здравствуйте, Сергей , спасибо, все получилось, только не пойму зачем нужна вообще эта ссылка site.com/my_admin_url?
Ведь идет переход на главную
Здравствуйте, Надежда. Эта ссылка для вас, чтобы вы набирали в адресной строке site.ru/my_admin_url, а не, скажем, site.com/admin-login.php?234sdf79862gsdf7634yrgksf876
Добрый день, подскажите — нельзя ли заменить ссылку для входа site.com/admin-login.php?234sdf79862gsdf7634yrgksf876
на ссылку для входа site.com/234sdf79862gsdf7634yrgksf876
то есть без admin-login.php?
Это делал плагин iThemes Security, сейчас там нет такой опции
Здравствуйе, Ольга. В данном примере, возможности реализации нет
Для тех, у кого не работает site.com/my_admin_url
Файл .htaccess до изменений уже содержит некую информацию.
Для того, чтобы работала site.com/my_admin_url приведённый в статье код необходимо вставлять в самое начало файла .htaccess
Всё остальное содержимое должно идти уже после кода из статьи.
Мужик я не знаю кто ты, но большое спасибо тебе!! ты реально помог, не понимаю почему автор не написал этого в статье, что содержимое лучше оставить и в самое начало воткнуть этот кот. Специально зарегался здесь чтобы сказать спасибо тебе!
Не всем это нужно и не всем поможет. У меня и еще на нескольких сайтах, которым я помогал код стоит в конце файла htaccess и все отлично работает. Здесь регистрироваться не нужно, чтобы оставить комментарий
Serge, пожалуйста, друг!
Стучись в скайп: a.hotulev
Сергей, для тех, у кого не работает вход по кастомной ссылке этот хук (постановка кода в начало файла) поможет. Судя по комментариям — таких не мало.

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