#Что происходит и как определить неисправность
Цикл входа в WordPress выглядит так: логин и пароль приняты, но браузер опять показывает wp-login.php. Обычно браузер не сохраняет или не пересылает авторизационные cookie, адреса WordPress расходятся либо кеш/защитный прокси вмешивается в ответ.
#Вероятные причины и признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Разные адреса входа и сайтаРазные адреса входа и сайта. URL меняется с www на без www или http на https | URL меняется с www на без www или http на https | Согласовать home/siteurl и редирект. |
| Cookie заблокирован браузеромCookie заблокирован браузером. В DevTools ответ Set-Cookie есть, но в следующем запросе Cookie отсутствует | В DevTools ответ Set-Cookie есть, но в следующем запросе Cookie отсутствует | Проверить атрибуты домена, протокола и политику браузера. |
| Плагин кеширования отдаёт входную форму как страницу для гостейПлагин кеширования отдаёт входную форму как страницу для гостей. После очистки кеша цикл исчезает | После очистки кеша цикл исчезает | Исключить /wp-login.php и /wp-admin/ из кеширования. |
#Пошаговая диагностика и исправление
- Откройте точный адрес входаВ приватном окне введите https://ваш-домен/wp-login.php, авторизуйтесь и запишите итоговый URL. Проверьте, не переходите ли вы между www/без www или двумя доменами. Не повторяйте десятки неверных попыток: защита входа может заблокировать IP.
- Сравните поведение другого браузераПопробуйте браузер без расширений и с разрешёнными cookie для этого домена. Если вход работает только там, проверьте настройки конфиденциальности, блокировщики и сохранённые cookie WordPress; очищайте данные только конкретного сайта.
- Проверьте заголовки cookie и цепочку переходовF12 → Сеть → сохранить журнал. Отправьте форму и посмотрите ответ wp-login.php, Set-Cookie и следующий запрос /wp-admin/. Должны быть согласованные https и Domain/Path; идентификаторы не записывайте в общедоступный отчёт.
- Сверьте адреса WordPressЕсли вход в панель временно доступен, откройте Настройки → Общие и посмотрите «Адрес WordPress (URL)» и «Адрес сайта (URL)». Если вход недоступен, администратор проверяет значения home и siteurl в таблице опций и возможные определения WP_HOME/WP_SITEURL в wp-config.php. Перед изменением обязательно экспортируйте базу.
- Проверьте, кто делает перенаправлениеВ журнале запросов и цепочке 301/302 найдите, переключает ли схему и имя хоста Nginx, Apache, CDN или сам WordPress. Если сайт за обратным прокси, проверяйте корректную передачу признака HTTPS от доверенного прокси; не доверяйте внешнему X-Forwarded-Proto без настройки доверенных узлов.
- Исключите кеширование авторизацииВ панели плагина кеширования проверьте исключения для /wp-login.php, /wp-admin/ и авторизованных cookie. Очистите кеш только этого сайта/зоны и повторите вход. Внешний CDN должен не кешировать ответы авторизации и заголовки Set-Cookie.
- Изолируйте конфликт расширения через файловый доступЕсли проблема возникла после установки плагина авторизации, из панели файлов переименуйте только его каталог в wp-content/plugins, проверьте вход и восстановите имя при отсутствии эффекта. Для сайта с двухфакторной защитой не обходите второй фактор и не отключайте безопасность постоянно.
- Проверьте доступ после исправленияАвторизуйтесь в чистом окне, перейдите в Записи → Все записи, обновите страницу и выйдите через меню профиля. При успешной работе новый вход должен требовать пароль, а после выхода закрытые страницы не открываться как авторизованные.
#Как проверить результат
После входа /wp-admin/ открывается без цикла и сохраняет сеанс, адреса согласованы, выход завершает сеанс, публичный кеш не хранит авторизационные страницы.
#Если не помогло
Если cookie отправляются, но вход сбрасывается, проверьте ошибки PHP и хранилище сессий/фильтры авторизации. Если cookie отсутствуют — начните с браузера, домена и HTTPS.