
Надпись «You have been locked out» вместо страницы сайта пугает сильнее, чем любая другая ошибка WordPress: сайт вроде бы жив, домен открывается, но вместо содержимого — сообщение о блокировке, и часто оно висит именно на той странице, которая приносит основной трафик. Хорошая новость в том, что к взлому и к падению хостинга это не имеет отношения. Так работает плагин безопасности, который решил, что посетитель с вашим адресом опасен. Плохая новость — если блокировка задела не только вас, а ещё и поискового робота, сайт начнёт терять позиции молча, без единого сообщения в панели.
Ниже — что означает это сообщение, какие плагины его выдают, почему срабатывает защита, как вернуть себе доступ через файловую систему и базу данных, и как настроить лимиты так, чтобы не выбивать живых людей и робота Яндекса вместе со взломщиками.
Что на самом деле означает сообщение
Фраза «You have been locked out» — не ошибка сервера и не сообщение самого WordPress. Её печатает плагин безопасности, который перехватил запрос раньше, чем движок успел отдать страницу. Полный вариант обычно звучит как «You have been locked out due to too many invalid login attempts» — то есть доступ ограничен из-за слишком большого числа неудачных попыток входа.
Механика такая: плагин ведёт счётчик неудачных действий по IP-адресу и по имени пользователя. Когда счётчик переваливает через настроенный порог, адрес попадает в список заблокированных на заданное время. Дальше любой запрос с этого адреса обрывается на раннем этапе, до загрузки темы и содержимого. Именно поэтому вместо привычной страницы появляется голый текст на белом фоне без оформления.
Ключевой момент, который определяет всю дальнейшую диагностику: блокируется адрес, а не сайт. Для остальных посетителей ресурс работает нормально. Проверить это можно за минуту — откройте сайт с мобильного интернета, отключив Wi-Fi: если страница загрузилась, значит проблема в блокировке вашего адреса, а не в сайте.
Какие плагины выдают эту надпись
Формулировка отличается от плагина к плагину, и по ней можно понять, кого искать в списке установленных расширений. Это экономит время: не придётся отключать всё подряд.
| Плагин | Типичная формулировка | Где хранит блокировки |
|---|---|---|
| iThemes Security (ранее Better WP Security) | You have been locked out due to too many invalid login attempts | Собственные таблицы блокировок в базе плюс правила в .htaccess |
| All In One WP Security | Сообщение о блокировке с указанием времени разблокировки | Таблица журнала входов в базе, при жёстком режиме — записи в .htaccess |
| Limit Login Attempts и его форки | Too many failed login attempts, повтор через N минут | Опции в таблице настроек, без записи в .htaccess |
| Wordfence | Your access to this site has been limited by the site owner | Собственные таблицы блокировок и правил брандмауэра |
| Cerber Security | Сообщение о блокировке доступа с таймером | Отдельные таблицы блокировок в базе |
Отдельно про режим недоступности по расписанию: у некоторых плагинов есть функция, закрывающая административную часть в определённые часы. Если она включена и часовой пояс сервера не совпадает с вашим, вы получите блокировку в самое неожиданное время и без всяких неудачных попыток входа. Эта функция — частая причина «внезапных» блокировок у тех, кто ничего не менял.
Почему срабатывает блокировка
Причин немного, и почти все они безобидные. Перебор паролей злоумышленником — лишь одна из них, и далеко не самая частая.
| Причина | Как выглядит | Что проверить |
|---|---|---|
| Несколько неверных паролей подряд | Блокировка сразу после попыток входа | Сохранённые устаревшие пароли в браузере и менеджере |
| Перебор паролей ботами | Десятки записей в журнале с разных адресов | Журнал неудачных входов плагина |
| Общий внешний IP офиса или провайдера | Блокируются сразу несколько сотрудников | Совпадает ли ваш адрес с адресом коллег |
| Обращения к отсутствующим файлам | Блокировка без попыток входа вообще | Настройка реакции на ошибки 404 |
| Активность через программный интерфейс | Блокировка после подключения приложения или сервиса | XML-RPC, мобильные клиенты, внешние интеграции |
| Режим недоступности по расписанию | Доступ закрыт в определённые часы | Часовой пояс сервера и настройки расписания |
| Конфликт после смены версии PHP | Сбой сразу после переезда или обновления | Совместимость версии плагина с версией PHP |
Строка про ошибки 404 заслуживает пояснения. Некоторые плагины считают подозрительным любой запрос к несуществующему адресу и после нескольких таких запросов блокируют адрес. На практике это ловит не взломщиков, а обычных людей, которые перешли по устаревшей ссылке, и поисковых роботов, обходящих старые адреса из своей базы. Порог по умолчанию у таких настроек часто слишком низкий.
Тему разбирал отдельно: «Как продвинуть сайт в поисковиках».
Первая диагностика: кто именно заблокирован
До того как лезть в файлы, определите масштаб. Разные ответы требуют разных действий, и половина случаев решается без вмешательства в сайт.
- Откройте сайт с другого подключения. Мобильный интернет вместо Wi-Fi, телефон коллеги, любое другое место. Если сайт открывается, заблокирован ваш адрес.
- Проверьте, закрыта ли только админка или весь сайт. Иногда блокируется вход, а публичные страницы работают. Это меняет срочность: сайт для клиентов жив.
- Посмотрите ответ сервера для поискового робота. В Яндекс Вебмастере есть инструмент проверки ответа сервера. Если робот получает код блокировки, дело срочное.
- Уточните свой текущий IP-адрес. Он понадобится и для разблокировки, и для белого списка. Многие провайдеры выдают динамический адрес, и он меняется при перезагрузке роутера.
- Загляните в почту. Большинство плагинов отправляют администратору письмо о блокировке с адресом, временем и причиной. Это самый быстрый способ понять, что произошло.
Помогу с продвижением: продвижение сайта в Яндексе — вывожу сайты в топ Яндекса белыми методами.
Отдельный трюк для тех, у кого динамический адрес: перезагрузка роутера иногда меняет IP и сама снимает блокировку. Способ не решает причину, но даёт доступ прямо сейчас, чтобы спокойно разобраться в настройках.
Общий разбор: как продвигать сайт в Яндексе:
Возврат доступа через файловую систему
Самый надёжный путь, который работает даже когда админка полностью закрыта. Понадобится доступ к файлам — по FTP или через файловый менеджер хостинг-панели.
- Найдите папку плагина. Она лежит в каталоге wp-content/plugins и называется по имени расширения.
- Переименуйте её. Например, добавьте в конец слово off. WordPress не найдёт файл плагина при следующей загрузке и автоматически отключит расширение — это штатное поведение движка, а не поломка.
- Проверьте сайт. Если блокировка снята, причина найдена. Если нет — переходите к следующему шагу, дело в правилах на уровне сервера.
- Откройте файл .htaccess в корне сайта. Плагины безопасности пишут туда свои правила между служебными комментариями с названием расширения. Удалите блок целиком вместе с обрамляющими комментариями.
- Сделайте резервную копию перед правкой. Скачайте .htaccess на компьютер до изменений: ошибка в этом файле роняет сайт целиком с пятисотой ошибкой.
- Верните имя папки обратно и активируйте плагин заново. После этого настраивайте лимиты, не оставляя сайт без защиты.
Важная деталь про переименование: часть плагинов при отключении оставляет правила в .htaccess и записи в базе, поэтому блокировка может пережить деактивацию. Именно с этим сталкиваются те, кто отключил расширение из админки и не увидел эффекта. Порядок правильный такой — сначала снять правила сервера, потом чистить базу, и только затем возвращать плагин.
Разблокировка через базу данных
Когда правила в .htaccess сняты, а блокировка держится, значит адрес лежит в таблице базы. Работа делается через phpMyAdmin или консольный клиент в панели хостинга.
Смежный материал по теме — «Как SEO оптимизировать сайт».
- Найдите таблицы плагина. У расширений безопасности они называются по имени плагина и содержат слова lockout, blocks, login или lockdown. Префикс у таблиц общий с остальными таблицами WordPress.
- Посмотрите содержимое. В таблице будут строки с адресом, временем блокировки и сроком окончания. Найдите свою запись по адресу.
- Удалите нужные строки, а не всю таблицу. Очистка таблицы целиком тоже сработает, но вы потеряете журнал реальных атак, который может пригодиться.
- Проверьте таблицу настроек. Плагины уровня Limit Login Attempts хранят список блокировок не в отдельной таблице, а в опциях — ищите записи с именем плагина в названии.
- Сбросьте кэш. Если на сайте стоит плагин кэширования или кэш на стороне сервера, старый ответ может отдаваться ещё какое-то время после снятия блокировки.
Перед любыми правками базы сделайте её выгрузку. Это занимает минуту в панели хостинга и спасает от ситуации, когда лишний удалённый ряд ломает что-то в настройках сайта.
Настройка лимитов, которая не бьёт по живым людям
Значения по умолчанию у плагинов безопасности рассчитаны на паранойю, а не на реальный сайт с посетителями и роботами. После возврата доступа стоит пересобрать настройки под нормальную работу.
| Параметр | Частая настройка по умолчанию | Разумное значение |
|---|---|---|
| Число неудачных попыток входа | 3 | 5–8, этого хватает против перебора |
| Время блокировки | Часы или сутки | 15–60 минут для первой блокировки |
| Блокировка за ошибки 404 | Включена с низким порогом | Отключить или поднять порог до нескольких десятков |
| Белый список адресов | Пустой | Внести адреса офиса и разработчика |
| Уведомления администратору | На каждое событие | Только на блокировки, иначе письма перестают читать |
| Режим недоступности по расписанию | Иногда включён | Выключить, если сайтом занимаются нерегулярно |
Дополнительно уменьшают число ложных блокировок несколько мер, которые действуют на причину, а не на симптом. Уберите пользователя с именем admin — большая часть перебора идёт именно по нему. Поставьте длинные пароли и двухфакторную проверку для администраторов: тогда даже низкий порог блокировок перестанет иметь значение, потому что перебор ничего не даст. Отключите XML-RPC, если через него не работают внешние приложения, — это закрывает популярный канал массовых попыток входа.
А вот смену адреса страницы входа на нестандартный я советовать не стану. Защиты она добавляет мало: боты находят новый адрес, а вот сами вы рискуете потерять вход после смены темы, миграции или конфликта плагинов, и восстанавливать его придётся через базу.
Когда блокируется поисковый робот
Это самая дорогая часть проблемы, потому что она не видна. Человек, получивший блокировку, звонит и жалуется. Робот молча получает код ошибки и уходит, а страницы постепенно выпадают из поиска.
Если нужна помощь по теме — заказать сайт.
Механизм простой: робот обходит сайт быстрее живого посетителя, ходит по адресам из своей базы, включая давно удалённые страницы, и не выполняет скрипты. Для агрессивно настроенного плагина такое поведение выглядит подозрительно. Дальше адрес робота попадает в список блокировок, и вместо страниц он получает код отказа.
Если нужны детали, смотрите «Как сделать сайт для B2B продаж».
| Что получает робот | Как это трактуется | Последствия |
|---|---|---|
| Код 403 | Доступ запрещён навсегда | Страницы исключаются из поиска относительно быстро |
| Код 503 | Временная недоступность | Обход откладывается, при длительном повторении страницы выпадают |
| Код 200 со страницей блокировки | Обычная страница с текстом о блокировке | Худший вариант: в индекс попадает служебное сообщение вместо содержимого |
| Таймаут без ответа | Сайт недоступен | Снижение частоты обхода, рост числа ошибок в панели |
Третья строка требует внимания. Если плагин отдаёт текст блокировки с обычным успешным кодом ответа, поисковая система считает это нормальным содержимым страницы. В результате в выдаче может оказаться сниппет с сообщением о блокировке вместо описания вашей услуги. Проверяется это тем же инструментом проверки ответа сервера в Вебмастере — смотрите не только код, но и то, какой текст отдан.
Профилактика сводится к трём действиям. Внесите адреса поисковых роботов в белый список плагина, если он это поддерживает. Отключите блокировку за ошибки 404 — робот регулярно ходит по старым адресам, и это нормальная его работа. И раз в месяц заглядывайте в раздел ошибок обхода в Вебмастере: всплеск недоступных страниц — первый признак, что защита работает против вас.
Как отличить блокировку от других причин
Похожие симптомы дают совсем разные проблемы, и лечатся они по-разному. Отличить их можно по тому, что именно видно в браузере и в панели хостинга.
- Белая страница с текстом о блокировке. Работа плагина безопасности, лечится по схеме выше.
- Полностью белый экран без текста. Фатальная ошибка PHP. Смотрите журнал ошибок в панели хостинга, чаще всего дело в несовместимости плагина с версией PHP.
- Ошибка установки соединения с базой данных. Проблема с доступом к базе или её перегрузка, к безопасности отношения не имеет.
- Ошибка 500 на всём сайте. Обычно битый .htaccess или превышение лимитов на хостинге.
- Сайт недоступен только по одному адресу страницы. Вероятнее, дело в правилах переадресации, а не в блокировке.
- Сообщение от хостинга о превышении нагрузки. Сайт остановлен провайдером, плагин здесь ни при чём.
Отдельный сценарий — блокировка на уровне хостинга. Некоторые провайдеры сами банят адреса за подозрительную активность, и внешне это выглядит похоже. Отличается тем, что не снимается ни отключением плагинов, ни чисткой базы; решается только обращением в поддержку.
Частые вопросы
Блокировка пройдёт сама? Обычно да, по истечении заданного срока. Проблема в том, что срок может быть настроен на сутки и больше, а при повторных попытках входа отсчёт начинается заново. Если счётчик снова растёт от ботов, блокировка продлевается бесконечно.
Можно ли просто удалить плагин безопасности и жить без него? Не стоит. WordPress — самая массовая система, и перебор паролей по ней идёт непрерывно, независимо от посещаемости сайта. Правильный путь — оставить защиту, но настроить пороги разумно и добавить двухфакторную проверку для администраторов.
Почему блокировка вернулась после переустановки плагина? Потому что настройки и списки блокировок хранятся в базе и переживают удаление расширения. Перед чистой установкой удалите таблицы плагина и его записи в настройках, иначе новая копия подхватит старое состояние.
Влияет ли всё это на позиции в поиске? Влияет, если робот получал коды отказа несколько дней подряд. Страницы уходят из индекса, а возвращаются не мгновенно — нужен повторный обход. Ускорить возврат помогает переобход по списку адресов в Вебмастере после устранения причины.
Как понять, что блокировали именно робота, а не человека? В журнале плагина рядом с адресом обычно записывается строка представления клиента. У поисковых роботов она содержит название системы и адрес их документации. Дополнительно адрес робота можно проверить обратным запросом по имени узла — у настоящих роботов он принадлежит домену поисковой системы.
Коротко
- Сообщение «You have been locked out» печатает плагин безопасности, а не сервер: блокируется конкретный адрес, для остальных посетителей сайт работает.
- Первый шаг диагностики — открыть сайт с другого подключения и проверить ответ сервера для поискового робота в Вебмастере.
- Надёжный способ вернуть доступ — переименовать папку плагина в wp-content/plugins, затем убрать его блок правил из .htaccess.
- Если блокировка держится после деактивации, адрес остался в таблицах плагина: чистятся строки с блокировками, после чего сбрасывается кэш.
- Пороги по умолчанию слишком жёсткие: поднимите число попыток, сократите время блокировки, отключите реакцию на ошибки 404 и заполните белый список.
- Опаснее всего блокировка робота — она проходит незаметно и выбивает страницы из индекса, поэтому проверять коды ответов нужно регулярно.
Если сайт уже терял доступность и вы не уверены, успело ли это отразиться на индексации и позициях, приходите на SEO-консультацию — посмотрим коды ответов, ошибки обхода и состояние индекса вместе.
Увеличьте позиции и продажи вашего сайта
Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:
Остались вопросы по продвижению?
Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.
Связаться со мной →
Комментарии
Богдан Ратушный
Словил ровно это на корпоративном сайте. Оказалось, у нас в офисе один внешний адрес на всех, коллега трижды ошибся паролем — и заблокировало весь этаж. Догадался не сразу, потому что с телефона сайт открывался нормально.
Анатолий Кузнецов автор
Классический случай для офисов и любых сетей с общим выходом в интернет. Решение здесь не в увеличении порога, а в белом списке: внесите внешний адрес офиса в исключения плагина, и внутренние ошибки перестанут выбивать всех сразу. Если адрес динамический, попросите у провайдера статический — обычно это стоит символических денег и снимает целый класс проблем. Параллельно проверьте, у скольких сотрудников есть учётные записи уровня администратора: чаще всего их больше, чем нужно, а каждая лишняя — это ещё один источник неудачных попыток входа. И включите двухфакторную проверку хотя бы для тех, кто действительно правит сайт.
Розалия Мартиросян
У нас блокировка держалась, хотя плагин был отключён из админки. Три дня искали причину, пока не открыли .htaccess и не увидели там список адресов с запретом. Отключение расширения эти строки не убирает.
Трофим Бондаренко
Вопрос про роботов. Как понять, что защита блокирует именно поискового робота, если в журнале плагина сотни записей и разбирать их вручную нереально?
Анатолий Кузнецов автор
Не разбирайте журнал плагина — идите с другой стороны, из Вебмастера. Там есть раздел со статистикой обхода, где видно количество страниц, отданных с кодами ошибок, и график по дням. Всплеск отказов на графике совпадёт по дате с моментом, когда защита начала блокировать робота. Дальше используйте инструмент проверки ответа сервера: указываете адрес страницы, выбираете основного робота и смотрите, что он получает прямо сейчас. Это занимает минуту и даёт однозначный ответ. Журнал плагина после этого нужен только для того, чтобы найти конкретное правило, которое сработало, и отключить именно его.
Ксения Волошина
Отдельная благодарность за пункт про режим по расписанию. У нас админка закрывалась ночью, а сервер стоял в другом часовом поясе, и по факту доступ пропадал днём. Полгода списывали это на глюки хостинга.
Наум Перельман
Не соглашусь насчёт смены адреса страницы входа. У нас после переноса входа на нестандартный адрес количество попыток перебора упало практически до нуля, и нагрузка на сервер заметно снизилась.
Анатолий Кузнецов автор
Против снижения нагрузки не спорю — массовые скрипты действительно долбятся по стандартному адресу и на нестандартный не переключаются. Мои возражения о другом: это защита от шума, а не от целевой атаки, и она создаёт риск потери доступа. Адрес хранится в настройках плагина, и при конфликте, откате базы или отключении расширения вы остаётесь без входа вообще, а восстанавливать приходится правкой базы. Если решение уже работает, оставьте, но подстрахуйтесь: запишите адрес в надёжное место, держите под рукой доступ по FTP и знайте, в какой таблице лежит настройка. И не считайте это заменой сильным паролям и двухфакторной проверке — вот они защищают по-настоящему.
Виолетта Стародубцева
Попала в ситуацию со страницей блокировки, отдававшей успешный код ответа. В выдаче месяц висел сниппет с английским текстом про ограничение доступа вместо описания услуги. Заявок в тот месяц не было вообще.
Анатолий Кузнецов автор
Это самый неприятный вариант из всех, потому что сайт формально работает и ни один мониторинг доступности не поднимает тревогу. После устранения причины сделайте три вещи. Первое — проверьте инструментом проверки ответа сервера, что робот теперь получает нормальное содержимое, а не остаток кэша. Второе — отправьте страницу на переобход в Вебмастере, тогда сниппет пересоберётся быстрее естественного цикла. Третье — на будущее поставьте простой внешний мониторинг, который проверяет не код ответа, а наличие определённого слова в теле страницы. Тогда подмена содержимого при формально исправном коде будет ловиться сразу, а не через месяц.
Кондратий Шелестов
Добавлю про переезд на новую версию PHP. У нас после смены версии старый плагин безопасности начал блокировать всех подряд без всякой логики. Откат версии не помог, помогло только удаление плагина через файловый менеджер.
Марьяна Соколовская
Уточните, пожалуйста, про блокировку за ошибки 404. Разве это не полезная функция против сканирования сайта в поисках уязвимостей? Мне казалось, что её как раз стоит держать включённой.
Анатолий Кузнецов автор
Идея разумная, реализация обычно нет. Порог по умолчанию настолько низкий, что под него попадает нормальное поведение: поисковый робот, обходящий старые адреса из своей базы, человек, пришедший по устаревшей ссылке из чужой статьи, любой сервис проверки битых ссылок. В результате функция ловит своих чаще, чем чужих. Если хотите её оставить, поднимите порог до нескольких десятков обращений за короткий промежуток и обязательно добавьте исключения для поисковых роботов. И приведите в порядок сами ошибки: выгрузите список несуществующих страниц из Вебмастера и настройте переадресацию на актуальные адреса. Когда битых ссылок мало, функция перестаёт срабатывать вхолостую.
Ратмир Юсупов
Про удаление таблиц перед переустановкой — золотой совет. Переставлял плагин трижды, каждый раз он подтягивал старые настройки и снова блокировал. Дошло только когда посмотрел базу.
Агния Топоркова
У меня блокировка сама снялась после перезагрузки роутера, адрес у провайдера динамический. Но через два дня повторилось. Видимо, боты продолжают долбиться, а порог стоит на трёх попытках.
Феликс Дорожкин
Хочу предостеречь: правил .htaccess без резервной копии не трогайте. Удалил лишнюю строку, и сайт лёг с пятисотой ошибкой на два часа, пока хостинг не восстановил файл из бэкапа.
Пелагея Ознобишина
Убрали пользователя с именем admin и поставили двухфакторную проверку, как советуете. Количество записей в журнале неудачных входов не изменилось, но блокировки прекратились совсем. Логично, ведь перебор теперь бесполезен.