Как исправить ошибку 429 Too Many Requests при входе в WordPress

Что означает ошибка 429 Too Many Requests и почему она появляется при входе

Ошибка 429 возникает, когда сервер считает, что клиент (браузер или скрипт) делает слишком много запросов за короткий промежуток времени. В контексте WordPress это часто происходит на странице входа wp-login.php из-за ограничений, накладываемых плагинами безопасности, серверами или CDN, либо при атаке brute-force.

Основные причины появления ошибки 429 при попытке входа:

  • Плагин лимитирования попыток входа (например, Limit Login Attempts Reloaded) слишком агрессивно блокирует IP или пользователя.
  • Серверные настройки (например, модуль mod_evasive на Apache или rate limiting в Nginx).
  • Защита на уровне CDN или WAF (Cloudflare, Sucuri и т.п.).
  • Автоматические скрипты или боты, которые вызывают частые запросы.

Диагностика причины ошибки 429 на странице входа WordPress

Чтобы понять источник ошибки, выполните следующие шаги:

  1. Включите WP_DEBUG в wp-config.php, чтобы увидеть подробные ошибки, если они есть:
    define('WP_DEBUG', true);
    define('WP_DEBUG_LOG', true);
    define('WP_DEBUG_DISPLAY', false);
  2. Проверьте логи сервера (Apache/Nginx), ищите записи с ошибкой 429 или ограничениями по rate limiting.
  3. Отключите по очереди плагины безопасности и лимитирования попыток входа, чтобы проверить исчезновение ошибки.
  4. Если используете CDN, временно отключите его или проверьте логи на стороне CDN.
  5. Используйте curl или Postman для имитации входа, чтобы понять, когда возникает ограничение:
    curl -I https://example.com/wp-login.php

Пошаговое решение проблемы ошибки 429 при входе в WordPress

1. Отключение или настройка плагинов лимитирования входа

Если виноват плагин, уменьшите агрессивность ограничений или исключите IP из блокировки. Пример настройки Limit Login Attempts Reloaded в wp-config.php:

define('LIMIT_LOGIN_ATTEMPTS_RELOADED_MAX_LOCKOUTS', 10); // увеличить лимит блокировок
// Исключить локальный IP из блокировки
add_filter('llar_allow_ip', function($allow, $ip) {
    if ($ip === 'ваш_IP_адрес') {
        return true;
    }
    return $allow;
}, 10, 2);

2. Корректировка настроек сервера

Для Nginx проверьте директивы limit_req_zone и limit_req. Например, увеличить лимит:

limit_req_zone $binary_remote_addr zone=one:10m rate=10r/m;

server {
    location /wp-login.php {
        limit_req zone=one burst=20 nodelay;
        # остальные настройки
    }
}

Для Apache с mod_evasive проверьте настройки в mod_evasive.conf:

DOSHashTableSize 3097
DOSPageCount 20
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 10

3. Настройка или временное отключение CDN и WAF

Проверьте правила защиты, которые могут блокировать частые запросы к wp-login.php. В Cloudflare, например, можно добавить исключения для страницы входа:

  • Перейдите в Firewall Rules
  • Создайте правило, разрешающее доступ к /wp-login.php с вашего IP

Проверка результата после внедрения решений

После внесения изменений:

  • Очистите кеш браузера и CDN.
  • Повторите попытку входа с того же IP и устройства.
  • Проверьте логи сервера на отсутствие новых записей 429.
  • Используйте инструменты разработчика в браузере (вкладка Network) для просмотра заголовков ответа и кода статуса.

Частые ошибки при устранении ошибки 429 и способы их исправления

  • Неочистка кеша после изменений — приводит к сохранению ошибки даже при исправленных настройках. Решение: очистить кеш браузера, сервера и CDN.
  • Игнорирование CDN/WAF — часто именно они блокируют запросы. Решение: проверить и настроить исключения для wp-login.php.
  • Слишком агрессивные настройки лимитов — слишком низкие пороги блокировок. Решение: увеличить лимиты и расширить временные интервалы.
  • Неисправная работа плагинов безопасности — конфликты между плагинами. Решение: временно отключить все плагины безопасности и протестировать поочередно.

Практические советы по безопасности и производительности при настройке входа

  • Используйте плагины с возможностью настройки лимитов и исключений, например, Clearfy Pro для оптимизации безопасности и устранения конфликтов.
  • Для дополнительной защиты входа используйте двухфакторную аутентификацию, но не делайте лимиты слишком низкими, чтобы избежать ложных срабатываний.
  • Следите за логами доступа и ошибок, чтобы оперативно выявлять подозрительную активность.
  • Регулярно обновляйте WordPress, плагины и серверное ПО для устранения известных уязвимостей.

Сравнение способов устранения ошибки 429 при входе

МетодПлюсыМинусыПример кода/настройки
Настройка плагина лимитированияГибкий контроль, быстрое исправлениеМожет быть конфликт с другими плагинами
define('LIMIT_LOGIN_ATTEMPTS_RELOADED_MAX_LOCKOUTS', 10);
Изменение настроек сервера (Nginx/Apache)Надежно, работает вне WordPressТребует доступа к серверу, опыт
limit_req zone=one burst=20 nodelay;
Настройка CDN/WAFЗащита на уровне сетиСложно найти и настроить правилоFirewall Rule в Cloudflare с исключением по URL
Как использовать WP-Cron для автоматизации задач в WordPress
08.12.2025
Как автоматически разблокировать пользователей после блокировки в WordPress
12.05.2026
Как сделать OTP-авторизацию для wp-login.php в WordPress
15.04.2026
Как добавить логику отключения входа на wp-login.php по времени в WordPress
27.03.2026
Как создать свой плагин для изменения формы входа в WordPress
03.12.2025

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