Как изменить страницу входа в админ панель WordPress

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

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

Мы уже говорили о том, что первым делом после установки движка нужно изменить логин и пароль администратора. Это повысит надёжность вашего ресурса. Плюсом к этому можно подключить двухуровневую защиту на входе в амин панель сайта. Такой рубеж, вообще, сложно пробить.

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

Доступ в админ панель WordPress стандартными путями.

Для того чтобы перейти в административную панель сайта Вордпресс, как правило, к адресу (url) сайта добавляется wp-admin.

Вид такой ссылки:

http://domen.ru/wp-admin

Введя такой адрес, любой желающий перейдёт на страницу входа в админ панель. И, может, методом подбора пытаться получить доступ к сайту.

Доступ к wp-admin

В интернете много информации по поводу редиректа со страницы wp-admin. Информация полезная и позволяет отсеять таких любопытных посетителей, которые не знаю, что доступ на страницу входа в административную панель WordPress осуществляется по следующему адресу:

http://domen.ru/wp-login.php

И предыдущий скриншот наглядно демонстрирует этот url. Так как после перехода по адресу http://domen.ru/wp-admin происходит переадресация на страницу входа wp- http://domen.ru/login.php?pass=1

И вот этот самый адрес знают и атакуют злобные боты.

А, значит, нам нужно изменить страницу входа и правильно настроить перенаправление.

Как изменить страницу входа в админ панель Вордпресс.

Для этого нам потребуется стандартный файл, отвечающий за вывод формы доступа к админ панели: wp-login.php.

Шаг 1.

Открываете содержимое вашего сайта, через файловый менеджер или через ftp-соединение. И копируете файл wp-login.php к себе на компьютер.

Копируем wp-login на комп

Шаг 2.

— Переименовываете файл, имя подбираете так, чтобы вам было удобно использовать его для входа в админ панель, но при этом оно должно быть довольно сложным для подбора. В качестве примера я переименовал этот файл в 123.php (вы так не делайте). ;-)

— Открываете файл в редакторе кода Notepad++.

— Нажимаете комбинацию клавиш CTRL+F (поиск и замена).

— Перейдите к закладке «Заменить», в поле «Найти» введите wp-login.php, а в поле «Заменить на» введите название файла (в моём примере – это 123.php) и нажмите кнопку «Заменить всё».

Замена в файле wp-login.php

Всего должно быть 12 замен.

— Сохраняете изменения в файле.

— Копируете файл обратно на хостинг.

Копируем файл на хостинг

Всё. Теперь доступ на страницу входа в админи панель доступен по адресу:

http://domen.ru/123.php

Но, он также доступен и по старым адресам:

http://domen.ru/wp-admin

http://domen.ru/login.php

А, значит, нужно исключить доступ к странице входа по старым адресам.

ОБНОВЛЕНИЕ: с версии WordPress 5.7.1 старая страница входа перестала работать, для её восстановления нужно содержимое нового файла wp-login.php скопировать в ваш файл-страницы входа и провести замену, как описано выше. При последующих обновлениях, если страница входа перестанет работать, порядок её восстановления аналогичный.

Как настроить редирект (перенаправление) с wp-admin и wp-login.php.

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

Для настройки редиректа будем использовать файл функции темы (functions.php). Но, при этом, если вы смените тему, то редирект перестанет работать. Это вы должны помнить. В качестве альтернативы можно использовать плагин и тогда ваши доработки будут не тронуты при смене темы. Как создать такой плагин читайте здесь.

Предупреждение: перед началом работ сделайте резервную копию файла functions.php.

Итак, открываете административную панель Вордпресс – «Внешний вид»«Редактор»«Функции темы». Пролистывайте файл вниз. Внизу этого файла будет либо окончание функции (}), либо закрытие кода php (?>).

Окончание файла functions.php

Если у вас заканчивается файл (?>), значит, удаляете эти символы и вставляете функции редиректа. Если файл заканчивается очередной функцией, то ниже этой функции вставляете предложенные ниже коды.

Редирект с wp-admin:

/*редирект с wp-admin*/
add_action( 'init', 'blockusers_init' );
 function blockusers_init() {
 if ( is_admin() && ! current_user_can( 'administrator' ) &&
 ! ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) {
 wp_redirect( home_url() );
 exit;
 }
 }

После добавления этой функции, при вводе адреса http://domen.ru/wp-admin будет происходить переадресация на главную страницу http://domen.ru. У этого кода есть особенность, если кроме админа на сайте есть авторы и редакторы, тогда код нужно дополнить.

Редирект с wp-login.php:

/*редирект с wp-login.php*/
function redirect_login_page() {  
    $page_viewed = basename($_SERVER['REQUEST_URI']);  
  
    if( $page_viewed == "wp-login.php?pass=1" ) {  
        wp_redirect( home_url() );  
        exit;  
    }  
}  
add_action('init','redirect_login_page');

А эта функция не даст добраться к странице входа по адресу http://domen.ru/wp-login.php. Потому как тоже будет перенаправлять на главную страницу сайта, всех желающих перейти по этому адресу.

Редирект при нажатии на кнопку «Выйти»:

/*редирект после выхода из админ панели*/
function logout_page() {  
    $login_page  = home_url( 'wp-admin' );  
    wp_redirect( $login_page . "?loggedout=true" );  
    exit;  
}  
add_action('wp_logout','logout_page');

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

В итоге ваш файл функции темы будет выглядеть так:

Готовые функции редиректа

Можете смело проверять. Попасть на страницу входа и в административную панель вы сможете только по адресу домена и имени файла, который вы создали в начале урока. В моём случае это 123.php.

Единственный момент, если ваш сайт установлен не в корневой папке, тогда после входа вы не будете перенаправляться в админ панель, а будете оставаться на главной странице сайта. При этом административная панель станет доступна в верхней части экрана (как обычно после авторизации и работе с сайтом).

А теперь предлагаю посмотреть наглядную инструкцию в видеоформате.


На этом я заканчиваю. Устанавливайте защиту на свои сайты и спите спокойно. Безусловно, если будут вопросы, обращайтесь в комментариях, я постараюсь помочь. Также советую обратить внимание на плагин Clearfy, который поможет защитить ваш сайт и устранить ещё два десятка ошибок.

Друзья, желаю вам удачи и хорошего настроения. До встречи в новых статьях.

С уважением, Максим Зайцев.

Понравилась статья? Поделиться с друзьями:
Комментарии: 184
  1. Сергей

    Здравствуйте,
    сделал все как в уроке, но не получается выйти из админ панели (перестала работать кнопка выйти — в правом верхнем углу).

    1. Сергей

      Для выхода, внес изменения в файл /wp-includes/general-template.php

      Где поменял «wp-login.php» на новое имя файла для входа

      1. Максим Зайцев (автор)

        Здравствуйте, Сергей. При таком выходе из положения вы должны помнить, что при обновлении движка — нужно будет по новой вносить изменения в файл general-template.php.
        Ссылка «Выйти» могла перестать работать, только если ранее были настройки в направлении изменения страницы входа, с помощью плагина или вручную.

  2. Илья

    Сделал всё. Осталась возможность входа через домен/wp-login.php и через кнопку»вход» посредством виджета VKapi: Вход

    Подскажи, пожалуйста, что не правильно?

    1. Максим Зайцев (автор)

      Илья, добрый вечер. В редиректе с wp-login.php используется страница wp-login.php?pass=1 Откройте свою страницу по wp-login.php, посмотрите прибавляется ли к адресу ?pass=1, если нет. То в коде редиректа уберите этот параметр.
      Настроите редерект с wp-login.php и всё будет ОК.

      1. Татьяна

        Подскажите, как быть — если файл wp-login.php открывается по «wp-login.php?pass=1» и по «wp-login.php»

        Если прописывать 2 редиректа подряд — выскакивает 500 ошибка сервера

        1. Максим Зайцев (автор)

          Здравствуйте, Татьяна. Настройте редирект на wp-login.php?pass=1 страница без передачи параметров тоже будет переадресована.

          1. Татьяна

            Сделала

            [code]function redirect_login_page() {
            $page_viewed = basename($_SERVER[‘REQUEST_URI’]);

            if( $page_viewed == «wp-login.php?pass=1» ) {
            wp_redirect( home_url() );
            exit;
            }
            }
            add_action(‘init’,’redirect_login_page’);[/code]

            site.ru/wp-login.php?pass=1 — продолжает открывать стандартный файл wp-login.php

          2. Максим Зайцев (автор)

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

      2. Илья

        Спасибо большое за ответ. С входом через wp-login.php помогло.
        А не подскажите, как убрать возможность входа через VKapi? Там есть авторизоваться через ВК и просто кнопка вход (и кнопка «регистрация». При нажатии на «вход» переходит на домен/wp-login.php?redirect_to=%2F

        1. Максим Зайцев (автор)

          С виджетом VKapi не пробовал, но вы можете попробовать настроить редирект с wp-login.php?redirect_to=%2F. Сделайте резервную копию файла функции темы, скопируйте функцию для редиректа с wp-login.php и допишите к ней ?redirect_to=%2F

      3. Илья

        Ещё дополню. Входить — не входит, если вводить там логин и пароль, то не входит — перебрасывает на главную страницу.

        1. Максим Зайцев (автор)

          А значит и беспокоиться не надо, через эту форму уже не войти.

      4. Мишаня

        Спасибо за статью. Сперва не работал редирект, убрал ?pass=1 и все заработало

  3. Олег

    Благодарю, Максим!
    Как всегда ты доходчиво и понятно пишешь.
    Я пока плагином пользуюсь, там такой же принцип, схожий, есть ещё другие функции полезные.
    Плагин нагрузку большую не создаёт, проверял… но если, что то сделаю как у тебя в статье.

    1. Максим Зайцев (автор)

      Хорошо, Олег. Главное, у тебя есть альтернативный способ. Если понадобится, знаешь где искать. Удачи!

  4. Лара

    Максим добрый день! Первый файл в блокноте я изменила, правда пока еще не загружала на хостинг, поскольку не поняла с редиректами.
    У меня тема такая же как у тебя на этом сайте. К ней создана дочерняя. Изменения нужно делать в функциях дочерней правильно?
    У меня в самом конце такие строки

    echo apply_filters( ‘tc_post_nav’ , $html );
    }
    }//end of class
    endif;

    Правильно я поняла, что мне удалять ничего не нужно? А просто под последним словом вставить те коды, которые у тебя в статье?
    Максим, а плагин All In One WP Security, в нем тогда отключить генерацию адреса админ панели да?

    1. Максим Зайцев (автор)

      Добрый день, Лара. Редактировать файлы нужно через бесплатный редактор Notepad++. Блокнот меняет кодировку.
      Да, темы у нас одинаковые. Поэтому в файле функции темы дочерней темы в самом конце нужно вставить редиректы. Так как у меня в статье.
      Если станицу входа сделала, как я показал (переименовав wp-login.php и сделав замену), то плагин можно деактивировать. Пока не удаляй, посмотришь, что работает лучше. Желаю удачи!

  5. Иван

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

    1. Максим Зайцев (автор)

      Вань, привет. Ты прав, плагины я использую по минимуму. А насчёт популярного блогера, так ведь мы все стремимся к этому ;-)

  6. Александр

    Добрый день. У меня два дня назад при входе в панель появился какой-то редирект. Выглядит ссылка так http://tvoya-life.ru/wp-login.php?redirect_to=http%3A%2F%2Ftvoya-life.ru%2Fwp-admin%2F&reauth=1
    При заходе с поиска с нового IP выдает сначала админку и после переходит на сам сайт. В яндексметрике и лайвинтернет перестали учитываться переходы с поисковых систем, и пишет неизвестные переходы. Что это может быть? Закачивал на сервер резервную копию — не помогает.
    Ссылка на статистику http://www.liveinternet.ru/stat/tvoya-life.ru/sources.html
    Если можете подсказать буду благодарен. Спасибо.

    1. Максим Зайцев (автор)

      Добрый день, Александр. Вспомните какие плагины вы устанавливали или обновляли в последнее время. Это скорей всего из-за них. К тому же у вас установлен плагин Login LockDown, а он уже создаёт свои редиректы и настройки безопасности.
      Деактивируйте на время все эти плагины и используйте мой способ. Уверен, результат вас устроит. Желаю удачи!

  7. Ольга

    Максим, если изменить страницу входа в админ панель, то можно плагин Limit login Attempts отключить? У меня на бизнесе вход изменён, а на женском нет. Надо бы изменить. Подскажи ты плагин Better WP Security (iThemes Security) устанавливал на сайт?

    1. Максим Зайцев (автор)

      Оля, я после этого решения все эти плагины убрал. Хотя планиг Limit login Attempts можно оставить, так как блокирует вход после нескольких неудачных попыток входа. Но, это лишь для перестраховки, если кто узнает страницу входа.
      Better WP Security уже давно удалил, так как боролся за скорость загрузки сайта. А он её тормозил.

      1. Ольга

        Я для подстраховки оставила на бизнесе Login LockDown, но и никаких попыток проникновения в его админку не было.
        А вот на женский постоянно ломятся… Надо вход в админку менять. Пока, что его защищает Limit login Attempts, хотя в .htaccess стоит запрет на авторизацию для всех IP, кроме моего. Попробую по твоей инструкции.

        1. Максим Зайцев (автор)

          Оль, мне этот способ очень помог. Сейчас я забыл уже про ежедневный мониторинг и наблюдения за ростом нагрузки, сторонними ip и так далее. Запрет в .htaccess тоже установлен. И в совокупности с новой страницей входа работает отлично.

  8. Олег

    Пользуюсь плагином All In One WP Security и WP Super Cache + много различных настроек. Вроде добился что нагрузка у меня стала меньше в 5 раз. Защитой доволен и кэшированием. Тьфу тьфу не сглазить. И скорость сайта более менее хорошая, всё летает. Конечно есть над чем ещё работать, пределу совершенства нет. ))

    1. Максим Зайцев (автор)

      Олег, полностью согласен, всегда есть к чему стремиться. Я вот тоже хочу попробовать WP Super Cache в качестве помощника. Посмотрим может и мне поможет. ;-)

  9. Виктор

    Максим, есть такой мощнейший плагин защиты — iThemes Security. Он позволяет, в частности, подменить страницу входа в админку. Она будет иметь вид http://site.ru/ключ, где ключ — последовательность из 21-го символа, легко меняется из админки, в плагине есть еще много чего. Он регулярно обновляется.

    1. Максим Зайцев (автор)

      Я рассматривал этот плагин, действительно полезная штука. Но, из дополнительных примочек мне ничего не нужно. А из-за того, что мой шаблон и так перегружен всякими примочками, приходится бороться за каждую долю секунды когда речь идёт о скорости загрузки. Вот я и использую минимальное количество плагинов.

  10. Андрей

    Спасибо огромное все отлично работает.

    1. Максим Зайцев (автор)

      Рад, что смог помочь. Удачи вам!

  11. Анатолий

    Здравствуйте. Большое спасибо за инструкцию. Все работает. Только недавно появилась такая проблема: добавляю нового пользователя и выставляю ему роль — редактор, или автор (любую, ниже администратора). И теперь, когда захожу от имени нового пользователя, в админке при нажатии на любую кнопку идет перенаправление на главную. Т.е. нельзя ни статью создать, ни страницу, вообще ничего нельзя. Если же этому пользователю выставляю роль админа, то все работает.
    Подскажите пожалуйста, как можно исправить это? Спасибо!

    1. Максим Зайцев (автор)

      Здравствуйте, Анатолий. Такого не должно происходить. У меня на нескольких сайтах, пользователи с разными ролями работают нормально. Скорей всего у вас установлен какой-то плагин для администрирования пользователей и политики ролей, и из-за него идёт такая путаница. Так что попробуйте отключите подобные плагины на время и проверьте. Желаю удачи!

  12. Михаил (Kashchey)

    Спасибо! Хороша статья!

    1. Максим Зайцев (автор)

      Спасибо, Михаил. Рад, что статья понравилась. Заходите ещё в гости. Удачи вам!

  13. Сергей

    Добрый день, Максим!

    Все сделал, работает, но заметил еще один недочет.

    Если набрать /login
    сайт редиректится на новый файл логина, т.е. можно увидеть панель входа в админ панель.

    Как исправить?

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей. Вы настроили редирект для wp-login.php? Этот редирект служит для того чтобы таких ситуаций не было. Перепроверьте ещё раз. Желаю удачи!

  14. Никита

    Сделал всё как на уроке, но теперь когда ввожу новое имя, появляется панель входа, ввожу логин и пароль, а он перекидывает теперь на главную, срочно помогите пожалуйста=))!!!!!!!!!!

    1. Максим Зайцев (автор)

      Здравствуйте, Никита. Без паники! Сайт работает и посетители не видят этой проблемы. Зайдите на сайт через ftp соединение или менеджер файлов на хостинге, и в файле functions.php отключите редирект. Вероятнее всего вы где-то допустили ошибку. А ещё, если у вас логин admin, то его тоже нужно сменить. Желаю удачи!

      1. Никита

        В тот то и проблема!!!, что в файле functions.php про этот редирект ничего не написано!!=))как быть?)

        1. Максим Зайцев (автор)

          В смысле, вы функции редиректа в файле functions.php не прописывали? Сделали только замену файла?

          1. Никита

            Я сделал изменения в файле wp-login.php и сделал изменения через панель в файле functions.php, но при этом теперь, если зайти через ftp и открыть functions.php (который в wp-includes, правильно?), то там про редирект ничего не вижу.

          2. Никита

            Я думаю, что кнопка «Войти», ведет меня на путь домен.ру/wp-admin , а эта ссылка ведёт меня получается на главную страницу=)))замкнутый круг

          3. Максим Зайцев (автор)

            Никита, вы не тот файл functions.php редактировали. Файл, который вы должны редактировать находится в папке с вашей темой. Переделайте все правильно и будет работать. Файл в папке wp-includes верните в исходное состояние. А редирект настройте в нужном файле в папке с темой.

          4. Никита

            В смысле не тот, если я редактировал файл из админки?В редакторе=), а где теперь найти именно этот functions.php? Спасибо)

          5. Максим Зайцев (автор)

            Темы у всех разные, но если вы говорите о файле в папке wp-includes, то это не тот файл. Вам нужно редактировать файл, который находится в папке с вашей темой. Через фтп зайдите и уберите редирект, который вы сделали. То есть зайдите в папку wp-includes, найдите functions.php и удалите функции редиректа. А дальше всё сделаете уже в файле вашей темы.

          6. Никита

            Вы наверное меня не поняли=))я не редактировал файл в папке wp-includes, я редактировал из админки вордпресса, точно так же как и Вы. У меня всё получилось, но только при нажатии кнопки «Войти» он меня тоже на главную перебрасывает=))и после того, как Вы написали отменить редирект в файле functions.php, я нашёл такой файл только в папке wp-includes, и в этом файле про редирект не написано!!=)Как мне быть?)))

          7. Максим Зайцев (автор)

            Ищите его в папке с вашей темой.

  15. Дмитрий

    Сделал всё как написано. Но всё равно в админ панель можно войти через сайт/wp-login.php (как и в комментарии от 24/10/2015 в 20:35).
    Из вашего ответа, по причине своей малоопытности ничего не понял. Можете поподробнее объяснить? Как убрать вход по /wp-login.php?

    1. Максим Зайцев (автор)

      Здравствуйте, Дмитрий. Возможно, вы допустили ошибку, так как в статье описан вариант именно для wp-login.php и других вариантов достучаться до админки. Если не получится, пришлите мне на почту адрес сайта и я посмотрю.

  16. Алексей Кулагин

    Максим, доброго времени суток!

    Все почти так, как вы написали. Решил замутить свой блог на вордпрессе.
    Но т.к. я сам разработчик, пишу самописные СМС, то проблема безопасности встала для меня первой. Только у вас я нашел более-менее логичное и понятное решение проблемы: изменить вход в админку wordpress

    Замечания:
    1. function logout_page() у меня не отработала. Возможно это связано с разными версиями wordpress. При выходе меня выбрасывало на страницу с параметрами wp-login.php?action=logout&… И, естественно ваша функция этот адрес не обрабатывала.
    2. код, имхо, тяжеловесный, можно упростить.

    У меня получилось следующее
    /*редирект с wp-login.php + редирект после выхода из админ панели */
    function redirect_login_page()
    {
    $str = $_SERVER[‘REQUEST_URI’];

    if (strpos($str, ‘logout’))
    {
    wp_destroy_current_session(); // убиваем вручную текущую сессию
    wp_redirect(home_url());
    exit();
    }

    if (strpos($str, ‘wp-login’))
    {
    wp_redirect(home_url());
    exit;
    }
    }

    1. Максим Зайцев (автор)

      Алексей, добрый день. Спасибо за подсказку, так действительно исключаются лишние телодвижения. Давайте дружить! ;-)

      1. Алексей Кулагин

        Максим, я только за. Давайте дружить и жить дружно.
        Приглашаю вас на мой свеженький, недоделанный сайт, на страницу, где я пишу про вас:
        http://kulagin-alex.ru/bezopasnost-wordpress/
        Сайт в процессе, так что сами понимаете — ничего интересного пока нет.

        1. Максим Зайцев (автор)

          Алексей, привет. Предлагаю перейти на «ты». Статью уже прочитал, отличная концентрация из лучших решений. И спасибо, что упомянул меня в статье ;-) Сайт добавил в закладки.

  17. Jon

    Здравствуй Максим. Все сделал как написано, работает четка, без проблем. Но все равно наблюдаю попытки взлома. Как это возможно, чёрт возьми а?

    1. Максим Зайцев (автор)

      Здравствуйте, Jon. Со временем все эти попытки сойдут на нет. В любом случае, той нагрузки, что была при подборе логина и пароля в форме входа уже не будет. Редирект будет перебрасывать злодея на главную и нагрузка будет минимальной, а со временем и вовсе исчезнет.

      1. Сергей

        Максим, я так понимаю Вы не знаете, каким образом злоумышленник находит страницу входа, при том что она имеет совершенно другой адрес, нежели wp-admin.php. Теоретически это не возможно, но как видим, на практике, злоумышленники как-то узнают о другом роуте. Chmod на папке с плагинами не публичный, дополнительно настроен .htaccess. Как вариант, попытки взлома по левой странице входа возможен лишь при ботоатаке, когда идёт перебор не только логина, но и проиндексированных страниц. Я думаю нужно закрыть от индекса изменённую страницу входа. Из поисковика она исчезнет не сразу.

        1. Максим Зайцев (автор)

          Сергей, лишним закрыть страницу от индексации не будет. Но, при правильной настройке роботса эта страница не попадёт в индекс.

      2. Сергей

        Ещё как вариант, название новой страницы входа содержит слога: log, adm, pas. Это делает поиск страницы в индексе ещё проще.

  18. Юрий

    Всё заработало, спасибо.

    1. Максим Зайцев (автор)

      Отлично! Желаю удачи!

  19. Михаил Бажанов

    Максим, здравствуйте!
    Спасибо за ценную информацию. Всё сделал по инструкции, быстро, легко и понятно.
    Тоже подкорректировал последнее изменение по редиректу с wp-login.php , убрал значение ?pass=1 . Всё работает :)
    Успехов!

    1. Максим Зайцев (автор)

      Здравствуйте, Михаил. Я рад, что всё получилось. Это очень важный шаг, который должен сделать каждый владелец сайта на WordPress. Удачи вам!

  20. Алекс

    Добрый день, Максим!
    Спасибо за статью,реализовал все это на своем сайте. Все работает как часы! Причем швейцарские ))
    Есть только один вопрос…
    Как скрыть следы вордпресс здесь — wp-login.php?action=lostpassword

    Спасибо за полезный материал!
    С уважением, Алекс

    1. Максим Зайцев (автор)

      Алекс, добрый вечер. Рад, что всё получилось. Для того чтобы воспользоваться восстановлением пароля через wp-login.php?action=lostpassword нужно получить доступ к почте админа, и поэтому эта страница не подвержена атаки. Но, чтобы исключить и эти поползновения можно использовать дополнительную функцию:

      /*редирект с wp-login.php?action=lostpassword*/
      function redirect_login_page2() {  
          $page_viewed = basename($_SERVER['REQUEST_URI']);  
        
          if( $page_viewed == "wp-login.php?action=lostpassword" ) {  
              wp_redirect( home_url() );  
              exit;  
          }  
      }  
      add_action('init','redirect_login_page2');
      1. Алекс

        Доброе утро, Максим!

        Спасибо за отклик, я не совсем точно выразился задавая вопрос…
        При переходе на «забыли пароль?» вижу wp-login.php?action=lostpassword, а как я понял должен видеть 123.php?action=lostpassword
        т.е. редирект не нужен на главную, не понимаю почему не срабатывает переход на 123.php?action=lostpassword, вот в чем затыка…

        Я понимаю, что принципиального значения это не имеет, просто сейчас изучаю вордпресс и потому интересно все! )
        Плюс природный пефекционизм иногда жизнь мою усложняет… )))
        Если у Вас найдется решение этого вопроса, буду очень признателен.

        Спасибо за интересные статьи, после знакомства с Вашим сайтом, добавил в закладки!
        С уважением, Алекс

        1. Максим Зайцев (автор)

          Алекс, добрый день. В таком редиректе нет необходимости, так как весь смысл сменить страницу входа и скрыть её от посторонних. А при таком редиректе вы светите свою страницу входа. В таком случае все ваши защитные мероприятия сводятся на 0.

          1. Алекс

            Логично! Об этом я не подумал..
            Спасибо и удачи!

  21. Иван

    Искал как это сделать на движке дле а нашол вордпрезеит все равно спасибо

    1. Максим Зайцев (автор)

      Пожалуйста, Иван!

  22. Александр

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

    1. Максим Зайцев (автор)

      Здравствуйте, Александр. А смысл в таком ложно редиректе. Пользователь для того и вводит данные, чтобы попасть в консоль.

      1. Александр

        Да я у меня сайт больше похож на журнал проблем. По работе сделал. И эта консоль особо то и не нужна. В заблуждение будет вводить пользователей. Подскажите как это сделать, если это возможно?

        1. Максим Зайцев (автор)

          Александр, честно говоря не совсем понимаю зачем пользователям вообще давать доступ к консоли, если всё равно перенаправляете на главную. Но, это дело ваше, в коде вместо home_url() вставьте home_url('/')

          1. Александр

            Максим Спасибо , что находите время отвечать. я только недавно начал изучать wordpress, вопросов не мало))). Один из них: как настроить redirect на тот пост который написал, после того как нажал кнопку опубликовать? А то потом еще нажимать надо «Посмотреть страницу», пользователю это совсем не нужно в моем случае!

          2. Максим Зайцев (автор)

            Александр, а видимо не совсем улавливаю идею вашего сайта. После того как вы опубликовали страницу, у неё появляется постоянный адрес. Вот по нему посетитель и открывает страницу (статью). Здесь не нужны никакие редиректы.

  23. Mr der

    Я для интереса набираю в поисковик эту комбинацию http://мой сайт.ru/wp-login.php, (или добавляю ?pass=1 и т.п.), но окна входа в админ панель, как показано, нету. В выдаче просто страницы сайта. Почему? Или надо вводить не туда, чтобы войти? Мне просто интересно, пишите. что любой может попытаться взломать сайт набрав имя сайта и т.д., но у меня вот не получается вывести логин и пароль своего сайта таким образом. Сайт если что пока не индексирован, но в очереди.

    1. Максим Зайцев (автор)

      Поисковики здесь совсем не причём, в поиске ничего набирать не надо. Все телодвижения осуществляются на вашем сайте. Зная страницу входа злоумышленник может узнать логин, даже если вы его сменили. А узнав логин, остаётся подобрать пароль. А это уже дело техники. В общем вы и знать не будете, а сайт будет взломан.

      1. Mr der

        Вы пишите «Все телодвижения осуществляются на вашем сайте». Вы имеете в виду виджет «мета» на сайте, там есть пункт «войти» или поисковая строка вверху браузера как у вас на первом скрине. Может вопрос тупой, но я никак не догоняю, если я уберу этот виджет «мета» и вход будет не доступен для всех, то как мне потом зайти на свой сайт в качестве администратора в админ панель сайта? Надо же убирать со своего сайта форму входа в админ панель или нет?. Допустим я адрес входа в админ панель сменил, а потом его вбивать надо в ту область, которая показана на первом скрине, чтобы войти на свой сайт?

        1. Максим Зайцев (автор)

          У любого сайта есть страница входа в административную панель. У WordPress по умолчанию это wp-admin. Ссылка в виджете — это всего лишь ссылка на эту страницу. Всё это описано в статье. Так вот зная адрес страницы входа в админку, вы в неё попадаете введя логин и пароль. Так же и злоумышленник может попасть в вашу админку, так как страница входа изначально у всех одинакова, да ещё и логин тоже у многих admin. А подобрать пароль, для знающих людей, не составит труда. Поэтому и меняется логи и страница входа, которые знать должны только вы.

          1. Mr der

            Я изменил файл http://site.ru/login.php, загрузил — работает, страница входа открывается по новому адресу, ну и по старым тоже, но когда сделал редирект добавил предложенные вами коды в functions.php, обновил, и тут появился белый экран смерти сайта, но я всё восстановил через панель управления. В чём может быть причина? скажите. пожалуйста.

          2. Максим Зайцев (автор)

            Сайт перестаёт работать, потому что код вставили неправильно, нарушив работу сайта. С файлом функции темы нужно работать аккуратно. В статье есть объяснение по вставке кода.

          3. Mr der

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

          4. Максим Зайцев (автор)

            Старый файл удалять нельзя, так вы нарушаете связку. Поэтому только редирект.

  24. Mr der

    Ставьте плагин, в сети полно разных, чем морочить себе голову. Может он и замедляет работу сайта, но нервы и время дороже! Все шаблоны разные, одним подойдут указанные коды другим нет. А плагин — это лучший выход. Поставил — и забыл!

    1. Максим Зайцев (автор)

      Плагин тоже выход, особенно если нет желания возиться с кодами! А шаблоны тут не причём, код подходит абсолютно под любой сайт WordPress.

  25. Елена

    У меня есть замечательный, древний, как пирамиды плагин stealth-login. После переезда на SSL, он не хочет работать. Может быть посмотрите почему?

    1. Максим Зайцев (автор)

      Елена, добрый вечер. Плагин рассчитан на протокол http, в то время это был единственных вариант для сайтов. Со сменой протокола он работать не будет. Ковыряться в коде и разбираться в деталях я не могу, сейчас всё время занято.

      1. Елена

        А жаль, если включить к этому плагину GDI, сайт невозможно взломать от слова «вообще», даже зная логин, пароль и ссылку для входа. Не подскажите ему замену? Выше описанный метод не работает, увы(

        1. Максим Зайцев (автор)

          В качестве алтернативы можно использовать двухфакторную аутентификацию от Гугла, защита очень надёжная!

          1. Елена

            Я все их сервисы поганой метлой из телефона вычистила, а Вы мне такое предлагаете? Нет, чтоб написать: Лена, давай я все-таки посмотрю плагин или htaccess, в котором этот плагин ведет свою деятельность. Простая замена HTTP на HTTPS, ничего не дала. Сейчас поставила вот это унылое г-но: Lockdown WP Admin

          2. Максим Зайцев (автор)

            Лена, а вы забавная! ;-)

  26. Алексей

    Максим, добрый день.
    Несколько вопросов к Вам.
    1. Мы переименовали файл wp-login.php в 123.php и закачали обратно. Исходный файл wp-login.php оставляем на сервере? Я удаляю.
    2. У меня много пользователей (авторов) помимо меня (администратора). И если, когда я захожу под собой, меня перекидывает в консоль, как положено, то других пользователей после авторизации перекидывает на главную страницу и в админку зайти уже не получается (все ссылки типа «комментарии», «изменить профиль» кидают на главную страницу).

    1. Максим Зайцев (автор)

      Здравствуйте, Алексей. Видимо, вы допустили где-то ошибку. У меня несколько проектов, где также работают редакторы, и все без проблем входят в админку и работаю. С подобной проблемой не сталкивался, поэтому не могу помочь даже советом.

  27. Николай

    Добрый день!
    Спасибо огромное за инструкцию, все получилось, все заработало. Вот только один вопрос: после смены пути в админку у меня не работает восстановление пароля, а оно очень нужно (задачи такие), как можно его починить?
    Заранее огромное спасибо

    1. Максим Зайцев (автор)

      Николай, добрый вечер. Используйте эту ссылку для доступа к странице восстановления пароля wp-login.php?action=lostpassword. Естественно, перед ней доменное имя вашего сайта. Удачи!

  28. Тимофей.

    Все отлично работает,спасибо Максим.А вы не могли бы сделать урок статью,по созданию слайд шоу карусель и вывода рейтинга звезд,без плагина.Инфы. много в интернете,но ваши обьяснения очень понятны,по крайней мере для меня.Ответьте на почту,заранее спасибо.

    1. Максим Зайцев (автор)

      Добрый день, Тимофей. Ответил Вам на почту.

  29. Вадим

    Добрый день! С Новым Годом, коллеги-блоггеры!
    Только вот сейчас починил свой блог, не мог войти в админку блога. Я так понял, что здесь без помощи «доброжелателей» не обошлось.

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

    1. Максим Зайцев (автор)

      Вадим, добрый вечер. С Новым Годом!
      Я рад, что мой материал Вам помог. Очень приятно слышать такие слова. Удачи Вам!

  30. Тимур

    После этой статьи я решил установить плагин защиты как писали в коментах.
    Установил на сайт плагин Better WP Security (iThemes Security),начал настройку плагина, но страница админки резко вылетела и выдает теперь при заходе на сайт и в админку Fatal error: Call to undefined function wp() in /home/u моя база данных /public_html/wp-blog-header.php on line 16 . После этого открыл фтп , и оказалось что файл wp-config.php полностью пустой!!!
    ПОМОГИТЕ новичку исправить эту ошибку!! Не знаю что делать теперь! В базе данных отключил все плагины «active_plugins
    a:0:{}» ,а сам Security удалил из фтп, но не помогло, скорее всего ошибка из за config.php, я так думаю…

    1. Максим Зайцев (автор)

      Здравствуйте, Тимур. Сейчас трудно будет разобраться в чём именно была проблема, советую восстановить сайт из резервной копии.

      1. Елена

        С Новым годом Максим!

        1. Максим Зайцев (автор)

          Лена, спасибо! И тебя с Новым Годом и Рождеством!

    2. Елена

      Ставь вот этот: WPS Hide Login

    3. Вадим

      Ну так скачайте движок WordPress (если его нет на компе), возьмите оттуда файл wp-config.php, внесите туда имя БД, пользователя БД и его пароль, залейте по ФТП на хост и будет вам счастье. А все плагины можно отключить, переименовав по ФТП папку plagins, добавить в конец названия любую цифру или букву, только и всего.

  31. Kladproraba

    В ходе работы возникла у меня проблема с интернет-магазином kladproraba.com, в админке вордпресс перестала работать верхняя панель настройки экрана и не только, перестали работать блоки, виджеты. Тему переустановил, плагины удалил и по одному активировал, ничего не помогло, а работать нужно. Все советы и рекомендации выполнил. Чисто случайно обратил взгляд на маленький значок в браузере в виде щита – он же блокировщик рекламы. Как то давно уже установил это расширение для браузера. Смотрю щиток зелёный – включено, ну кляцнул, выключил, перезагрузил через пару минут страницу в админке и всё работает. О таком ходе событий я и подумать не мог. Такой рекомендации я не встретил при поиске, делюсь, возможно кому поможет. Блокировщик рекламы нужно просто отключать на сайте над которым работаешь.

    1. Максим Зайцев (автор)

      Спасибо, что поделились своим опытом. Удачи Вам!

  32. Бабажан

    Максим привет, сделал все как в уроке локальном сайте работает, но у меня на хостинге wp-login.php заходить по другой форме, подскажите как это поправить. на выходе 404 ошибка дает жду ответа

    1. Максим Зайцев (автор)

      Здравствуйте, Бабажан. Что значит по другой форме?

      1. Бабажан

        Здравствуйте Максим у меня такая проблеме когда зайду админ панель по другому откроется

        если время есть зайдите мой сайт увидите http://nukus-spk.uz/wp-login
        и потом когда я выйту админ панели вот такой на адресной строке http://nukus-spk.uz/wp-login.php?action=logout&_wpnonce=70aae2a994&redirect_to=http%3A%2F%2Fnukus-spk.uz и 404 Page Not Found
        как это исправить за ранее спасибо.Жду ответа

        1. Максим Зайцев (автор)

          Здравствуйте, Бабажан. Я вообще не могу открыть ваш сайт. Видимо вы что-то накрутили лишнего. А вообще, ошибка 404 может быть из-за того что в файле wp-login.php вы не везде заменили имя файла.

  33. Бабажан

    Здравствуйте Максим у меня такая проблеме когда зайду админ панель по другому откроется
    панель входа админку на левой стороне окна, сегодня целый день на сервере порфилатику делали чтоли незнаю,
    если время заново зайдите мой сайт увидите http://nukus-spk.uz/wp-login
    и потом когда я выйду из админ панели вот такой на адресной строке
    http://nukus-spk.uz/wp-login.php?action=logout&_wpnonce=666b01a085 и 404 Page Not Found
    как это исправить может сервер не правильна настроено, за ранее спасибо.Жду ответа.

  34. Элли

    Максим, большое спасибо за статью. Но не совсем получилось настроить редиректы..С /wp-admin выходит главная страница сайта, а при вызове страницы /wp-login.php выходит окно с логином и паролем.Скопировала и вставила в функцию темы код вроде бы правильно.. С чем может быть связана ошибка?

    1. Максим Зайцев (автор)

      Элли, добрый день. Вижу вы уже разобрались. Отлично!

  35. Андрей

    Максим, добрый вечер:-)))
    Подскажите пожалуйста, как убрать Log out, Log in страницу. Страница вместе с главной, появляется при постановки галочки в меню навигации. Можно конечно отключить меню навигации, но тогда проблемы с настройкой страниц. Спасибо за статью!

    1. Максим Зайцев (автор)

      Здравствуйте, Андрей. Скорей всего это связано с настройками вашей темы. Проверьте настройки.

  36. Виталий

    Приветствую!

    Скопировал wp-login.php
    Переименовал в ….php, внутри файла wp-login.php на ….php
    Удалил с хостинга wp-login.php.

    Сделал редиректы в functions.php

    Сайт доступен по http:/….ru/wp-admin/

    В чем ошибка?

    1. Максим Зайцев (автор)

      Виталий, добрый день. wp-login.php удалять не нужно!

  37. Элли

    Максим, здравствуйте. Подскажите, а как можно отменить все действия, описанные в статье. Все переименовать обратно, или можно обновить wp? Обновления будет достаточно, чтобы восстановить первоначальные данные?

    1. Максим Зайцев (автор)

      Здравствуйте, Элли. Переименуйте всё в обратном порядке. Обновления никак не влияет на ваши доработки. Тут только полная переустановка WP может внести изменения. Так что лучше всё сделать в обратной последовательности.

  38. Элли

    Максим, а если страница входа скрыта способом, описанном в статье, то как запретить вход по IP всем кроме себя? Добавляю в hta acsess код

    order deny,allow
    deny from all
    allow from 77.84.10­5.1

    Но брут не прекращается… Видимо, из- за изменения страницы входа.

    1. Максим Зайцев (автор)

      Страница входа здесь не при чём. Если код не работает, этому есть две причины. 1. Вы вставили его не в том месте. 2. Настройки сервера не поддерживают данный функционал. В этом случае нужно обратиться в службу поддержки хостинга, они подскажут в чём проблема.

  39. Андрей

    Максим, добрый вечер!
    Сделал все, как у Вас написано! В итоге получилось следующее:

    Редирект с wp-admin — работает как надо!

    редирект с wp-login перекидывает на 404 ошибку

    редирект с wp-login.php вообще ломает страницу и выдает в браузере «опера» белый экран с сообщением — «Страница мойсайт.ru не работает»
    а в браузере «сафари» выдает сообщение «САФАРИ НЕ МОЖЕТ ОТКРЫТЬ СТРАНИЦУ При попытке открытия мойсай.ru/wp-login.php произошло слишком много переадресаций. Это может происходить в случаях, когда переадресация страниц зациклина».
    Что за беда, что делать? ))

    1. Максим Зайцев (автор)

      Здравствуйте, Андрей. По описанию похоже, что функция редиректа вставлена не в том месте или был удалён файл wp-login.php. Тут нужно пробовать добавлять функции по одной, и проверять результат.

  40. Ирина

    Здравствуйте, Максим!
    Благодарю за ценную информацию.
    Но у меня, во-первых, после входа по запросу mysite.ru/wp-admin перекидывает на страницу:
    mysite.ru/wp-login.php?redirect_to=http%3A%2F%2Fmysite.ru%2Fwp-admin%2F&reauth=1, на которой установлена традиционная форма с вводом логина и пароля.
    У Вас по другому: http://domen.ru/login.php?pass=1.
    А во-вторых, в установленной теме файл fanctions.php заканчивается двумя закрывающими div, после которых
    <?php
    }
    и потом еще куча разных дополнений с "endif;" в конце.
    Скажите, пожалуйста, как мне настроить редирект в такой ситуации?
    Спасибо!

    1. Максим Зайцев (автор)

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

  41. Ольга

    Максим, здравствуйте!

    Даже не знаю, соответствует ли мой вопрос этой теме.
    На сайте была включена переадресация на другой сайт. Так вот теперь не удаётся зайти в админ-панель. Переадресация срабатывает.
    Захожу и через wp-admin и через wp-login.php — отправляет на сайт переадресации.
    Даже не знаю, как попасть в админку…
    Вы можете помочь ?

    1. Максим Зайцев (автор)

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

      1. Странник

        Здравствуйте. Спасибо) единственная статья где все объяснено от А до Я. Спасибо очень помогло. На сайте пользователи авторизируются через соц сети, редиректы хорошо работают. Новый адрес не светится)

        1. Максим Зайцев (автор)

          Странник, спасибо за добрый коммент. Желаю удачи!

  42. Дмитрий

    Привет, Максим!

    Легко обходить пока. ;) Усовершенствуй. /wp-login.php?loggedout=true или просто /wp-login.php? с любым символом.

    Но мне помогло дальше сделать, спасибо! А то давно на вордпресс ничего не делал, и подзабыл что и где искать. В php не силен.

    1. Максим Зайцев (автор)

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

  43. Сергей

    Это бесполезно так как при восстановлении пароля мы видим ссылку на админку пример — http://сайт/123.php.?action=lostpassword
    Что по этому поводу скажите ?

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей. И какой адрес вы видите на моём блоге?

  44. Евгений

    Здравствуйте!
    Я успешно создал альтернативную страничку входа, но после авторизации на ней открывается админка по старому адресу: домен.ru/wp-admin. Ну и как же теперь делать редирект с этого адреса? В итоге я после авторизации буду попадать на главную вместо админки?

    1. Максим Зайцев (автор)

      Здравствуйте, Евгений. Изменив страницу входа, и настроив редирект вы будете входить под новым адресом, а в админке видеть старый. Это нормально. Так работает редирект для администратора. Остальные не смогут попасть в админку. Если нужно расширить доступ, тогда нужно внести дополнение в код, как я показал в этой статье: https://1zaicev.ru/kak-izmenit-pravila-redirekta-s-wp-admin/

      1. Роман

        Добрый день! Возможно кому-то пригодится, так как видел тут спрашивали про то, что не работают редакторы и авторы. Для того, что бы ваши авторы и редакторы имели возможность входа в админку, код должен быть следующий:
        /*редирект с wp-admin*/
        add_action( ‘init’, ‘blockusers_init’ );
        function blockusers_init() {
        if ( is_admin() && !current_user_can( ‘editor’ ) && !current_user_can( ‘administrator’ ) && !current_user_can( ‘author’ ) &&
        ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) ) {
        wp_redirect( home_url() );
        exit;
        }
        }

        П.С. Автору спасибо за статью! Добавьте в мануал)

        1. Максим Зайцев (автор)

          Здравствуйте, Роман. Спасибо за дополнение, я опубликовал отдельную статью по этому поводу. Но Ваш комментарий будет хорошим дополнением этой статьи. Удачи Вам!

  45. Наталья

    Максим здравствуйте.
    Сделала все по инструкции.
    Ранее для другого сайта делала тоже самое все нормально.

    А здесь сайт вообще теперь не загружается. Зайти никуда не могу.
    Как все вернуть назад? Заранее благодарю.

    1. Максим Зайцев (автор)

      Здравствуйте, Наталья. Вероятнее всего вы допустили где-то ошибку. Откройте файлы через файловый менеджер хостинга или по FTP и проверьте всё ещё раз или верните всё в исходное состояние.

  46. Елена

    Доброго времени суток, Максим!
    Ваши уроки были очень полезны, спасибо Вам за них.
    Но у меня осталась еще одна проблема — как спрятать страницу регистрации http://domen.ru/wp-signup.php
    Она по-прежнему остается доступной и сыпятся спам-регистрации.
    Буду благодарна за помощь!

    1. Максим Зайцев (автор)

      Здравствуйте, Елена. Вообще эта страница должна быть закрыта вмести с wp-login.php. Но, вы всегда можете сделать отдельный редирект, как для wp-login.php, только использовать wp-signup.php

      1. Елена

        Я пробовала так сделать еще до написания комментария, но что-то не так, видимо, прописываю, не особо сильна, честно признаюсь.
        Помогите, пожалуйста, правильно эту функцию прописать)))))

      2. Елена

        Если делаю точь-в-точь как для wp-login.php (меняя на wp-signup.php) — вообще редирект перестает работать и на wp-login.php, и на wp-signup.php….

        1. Елена

          Плагин: WPS Hide Login

        2. Максим Зайцев (автор)

          Елена, конечно перестанет работать. У меня в комментариях запрещены коды, но постараюсь объяснить на пальцах. Вы должны изменть не только wp-login.php на wp-signup.php, но redirect_login_page, например, добавив к нему цифру redirect_login_page1. И сделать это нужно в двух местах, в начале и конце функции.

          1. Елена

            Спасибо, Максим!!!
            Вроде как все получилось. Посмотрим теперь, найдут ли лазейку спамеры-взломщики…

          2. Максим Зайцев (автор)

            Успехов Вам, Елена!

  47. Роман

    Здравствуйте. Сделан плагин по вашей ссылке вначале поста.
    В файле прописано:
    <?php
    /* ====================================
    * Plugin Name: Functions.PHP
    * Description: Мой новый functions.php
    * Version: 1.0
    * ==================================== */

    function functionsphp_head_info(){
    echo "\n\n»;
    }
    add_action(‘wp_head’, ‘functionsphp_head_info’);

    /*редирект с wp-admin*/
    add_action( ‘init’, ‘blockusers_init’ );
    function blockusers_init() {
    if ( is_admin() && ! current_user_can( ‘administrator’ ) &&
    ! ( defined( ‘DOING_AJAX’ ) && DOING_AJAX ) ) {
    wp_redirect( home_url() );
    exit;
    }
    }

    /*редирект с wp-login.php*/
    function redirect_login_page() {
    $page_viewed = basename($_SERVER[‘REQUEST_URI’]);

    if( $page_viewed == «wp-login.php?pass=1» ) {
    wp_redirect( home_url() );
    exit;
    }
    }
    add_action(‘init’,’redirect_login_page’);

    /*редирект после выхода из админ панели*/
    function logout_page() {
    $login_page = home_url( ‘wp-admin’ );
    wp_redirect( $login_page . «?loggedout=true» );
    exit;
    }
    add_action(‘wp_logout’,’logout_page’);

    доступа к wp-admin нет, а вот к wp-login происходит переход страницу авторизации вордпресс. Если убираю ?pass=1, то я вобще не могу авторизироваться, происходит редирект на главную страницу. В чем может быть проблема?

    1. Максим Зайцев (автор)

      Здравствуйте, Роман. Особенность в вашем шаблоне. Но для начала сбросьте кэш браузера и ещё раз всё проверьте. Обратите внимание на окончание ссылки wp-login.php, что там идёт после ?pass=1, попробуйте добавить в код редиректа.

      1. Роман

        Максим, очистил кэш браузера. Ввожу в строке http://хххххххххх/wp-login.php перехожу также на страницу авторизации вордпресса. в строке ничего не меняется http://хххххххххх/wp-login.php

        1. Максим Зайцев (автор)

          Значит в вашем случае функция должна работать без ?pass=1.

          1. Роман

            Тогда Максим какой то замкнутый круг. Без ?pass=1 у меня при попытке авторизации происходит редирект на главную без авторизации.

          2. Максим Зайцев (автор)

            Роман, воспользуйтесь тогда плагином. Елена предлагала хороший вариант в комментариях выше.

    2. Елена

      Связка: WPS Hide Login + Stealth Login Page

  48. Александра

    Здравствуйте, Максим! Надежно сменила страницу входа — теперь сама ее забыла, никак не получается войти — дело давнее, все напрочь вылетело из головы(, есть ФТП доступ, изнутри где нарыть — как же эта страница входа называется? Помогите советом!

    1. Максим Зайцев (автор)

      Здравствуйте, Александра. Если доступ к файлам есть, тогда всё хорошо. Откройте файл wp-login.php и найдите в нем название файла с расширением php. Этот файл будет встречаться 12 раз, вы точно не ошибётесь.

      1. Александр

        Максим добрый день.
        Столкнулся с проблемой после все сделанной методики с переиминованием и заменой файла.
        Ссылка с секретным файлом работает но после ввода Логина и пароля меня не направляет в адм. панель а пишет ошибку 404.
        Помогите пожайлуста с данным вопросом.
        Заранее благодарен.

        1. Максим Зайцев (автор)

          Здравствуйте, Александр. Скорее всего это связано с ошибкой в написании имени файла. Достаточно допустить пробел или другую мелкую ошибку и будет отображаться страница 404. Проверьте имя файла и его написание в файле wp-login.php

          1. Александр

            Благодарю, разобрался. Ошибся при замене названия, вв окончании не поставил. php

          2. Юрий

            Здравствуйте я все сделал как и у вас но есть проблема я набираю в адресной строке свой новый вход в админку
            все работает но когда я вожу свой пароль нажимаю войти он мне выдает ошибку 403 Forbidden
            что это и как мне исправить?

          3. Максим Зайцев (автор)

            Здравствуйте, Юрий. Ещё раз проверьте правильность написания файла и его расположение. А также убедитесь, что вы не удалили wp-login.php

  49. Андрей

    Привет. Настроил всё согласно инструкции.
    Но работают все редиректы кроме редиректа c wp-login.php . В чём может быть причина?

    1. Максим Зайцев (автор)

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

  50. fly380

    Не понравилось как работает
    /*редирект с wp-login.php*/
    function redirect_login_page() {
    $page_viewed = basename($_SERVER[‘REQUEST_URI’]);

    if( $page_viewed == «wp-login.php?pass=1» ) {
    wp_redirect( home_url() );
    exit;
    }
    }
    add_action(‘init’,’redirect_login_page’);
    Хотелось чтобы форуму авторизации вообще нельзя было открыть не зная спец-ссылки. Поэтому заменил на
    add_action(‘init’,’redirect_login_page’);

    function redirect_login_page(){
    global $pagenow;
    if( ‘wp-login.php’ == $pagenow && !is_user_logged_in()) {
    wp_redirect( home_url() );
    exit();
    }
    }
    так мне нравится больше.

  51. Александр

    Здравствуйте Максим.
    У меня файл не wp-admin.php, а admin.php.
    Я его изменил. При замене файла в редакторе Notepad++, указал файл admin.php изменений всего 2. Как быть?
    Пробовал указывать файл wp-admin.php для изменения, как вариант, но изменений вообще не было.

    1. Максим Зайцев (автор)

      Здравствуйте, Александр. Этот метод работает с движком WordPress, если ваш сайт работает на другой CMS или написан ручками, то этот способ не поможет. А судя по названию файла, это так.

  52. Сергей

    Доброй ночи Максим! Подскажите пожалуйста, все работает хорошо, при в wp-admin и wp-login перенаправляет сразу на главную страницу сайта, но вот чтобы добавить второй код для добавления второго автора, оказалось проблемой, и непонятной для меня, когда я вставлял весь описанный код, не было ни этого (?>) и не }, есть просто окончания другого кода с ; , и вот после этого в конце я вставил ваши коды и вот добавление второго автора не сохраняется worpdressom, ошибка в виде вот этого знака } подсвечивается бардовым или красным цветом (но не крестиком), и все.

    И подскажите почему не работает выход из general-template.php? Отправляет на «страница не найдена», у меня стоит плагин Tabbed Login Widget может он мешает? Заметил что при выходе помимо того что перенаправляет на страницу не найдена, так переходя на другую страницу сайта выход все таки произошел, но вот как-то тихо и незаметно.

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей. Проблема по первом вопросу заключается в нарушении синтаксиса, то есть код вставлен неправильно, не в том месте. Нужно разобраться с завершением предыдущей функции и только потом добавлять мой код. А что касается второго вопроса, то попробуйте отключить плагин и проверить снова. Конфликт вполне возможен.

  53. Елена

    Ветка еще жива? Ничего себе, столько лет прошло)

  54. Иван

    Здравствуйте. Сделал все по инструкции. Страница wp-admin редиректит на главную. Пытаясь зайди по сылке wp-login.php выдает 404ю ошибку. И немогу выйти с админ панели, тоже выдает 404ю ошибку.

    /*редирект с wp-login.php*/ и /*редирект после выхода из админ панели*/ поставил

    1. Максим Зайцев (автор)

      Иван, добрый день. Смотрите внимательно, где-то в коде допустили ошибку (пробел, кавычки…). Добавляйте коды по одному и проверяйте работу.

  55. Сергей

    Здравствуйте.
    Делаю все по инструкции,НО.
    после установки редиректа wp-login.php , в админку перестает заходить и по моей новой ссылке.(http://domen.ru/1234567.php)
    Т.е. появляется админ панель ,а после нажатия войти — перебрасывает на сайт.
    Не могу понять что не так?
    и еще,при редактировании файла wp-login.php, замен было не 12,как везде пишут,а 13 )))

    1. Максим Зайцев (автор)

      Здравствуйте, Сергей! Так трудно сказать в чём именно проблема. Однозначно, где-то допускаете ошибку. А быть может кэш браузера сыграл злую шутку, попробуйте перепроверить в режиме инкогнито.

  56. ZH

    Здравствуйте! Большое спасибо за статью. Реально все работает (до этого перепробовала много способов — и все мимо). Правда не знаю как будет после обновления темы. Вставила редиректы в основную и дочернюю тему. Пока все прекрасно работает.

    1. Максим Зайцев (автор)

      Здравствуйте! Если вносили изменения в основную тему, то обновления конечно же затрут эти изменения. Сделайте обязательно резервную копию перед обновление темы.

    2. ZH

      Сегодня к сожалению обнаружила проблему. Критическую проблему. Оказывается после внесенных изменений (хотя редиректы скрывают админку), но зайти как простой пользователь (через кнопку вход и авторизацию) по паролю на сайт не получается… Наверное придется плагином пользоваться… Извините.

      1. Максим Зайцев (автор)

        Смысл, как раз в том, чтобы эту кнопку убрать с сайта и спрятать страницу входа. Вход осуществляется только со страницы, которую знаете вы.

  57. Андрей

    Респект за такую длительную поддержку темы!

    Это побудило почитать Ваш блог/сайт)

    1. Максим Зайцев (автор)

      Спасибо за доверие ;-)

  58. Роман

    Добрый день Максим..
    В новом вордпресс перестало работать ! (еще месяц назад работало!!!!)
    Сейчас изменился файл http://domen.ru/login.php (теперь при создание своего файла входа меняется wp-login.php уже не 12 а 13 раз)
    И сейчас при входе на сайт через свой файл НЕ ПОЯВЛЯЕТСЯ «админ панель» в верху…… после введения логина и пароля просто сбрасывает на главную страницу сайта (без админки)
    Как можно поправить ?

    1. Максим Зайцев (автор)

      Здравствуйте, Роман. Нужно содержимое нового файла wp-login.php скопировать в Ваш файл и провести замену, как указано в статье. В новой версии Вордпресс замен будет 14. После чего всё будет работать.

Добавить комментарий