Cookies are blocked: не получается войти в админку WordPress
На странице входа WordPress пишет, что cookie заблокированы. Причин две: сайт выводит лишний текст до заголовков, и cookie не успевают отправиться, — или браузер не принимает cookie сайта.
Содержание 6
Что сделать прямо сейчас
- Посмотрите, какой у вас текст, — таблица ниже.
- Если в тексте есть unexpected output, найдите файл, который выводит лишнее — подробнее.
- Если not supported by your browser, проверьте настройки браузера и COOKIE_DOMAIN — подробнее.
Что означает ошибка
После ввода логина и пароля WordPress ставит в браузер cookie — небольшую запись, по которой узнаёт вас на следующих страницах. Перед этим он проверяет, получилось ли:
| Текст | Что случилось |
|---|---|
Error: Cookies are blocked due to unexpected output. | Какой-то файл вывел текст раньше, чем WordPress отправил cookie |
Error: Cookies are blocked or not supported by your browser. | Браузер не вернул пробную cookie WordPress |
Unexpected output: лишний вывод до заголовков
Cookie передаются в заголовках ответа, а заголовки уходят до текста страницы. Если какой-то PHP-файл вывел хотя бы пробел раньше, отправлять cookie поздно. Включите журнал отладки — как это сделать — и попробуйте войти ещё раз. В журнале появится строка такого вида:
PHP Warning: Cannot modify header information - headers already sent by (output started at /var/www/example.com/wp-config.php:1) in … on line …В скобках после output started at — файл и номер строки, откуда пошёл лишний вывод. Здесь это первая строка wp-config.php.
Если это первая строка, проверьте, нет ли в начале файла невидимой метки BOM — её добавляют некоторые редакторы в Windows. Подставьте свой файл:
head -c 3 /var/www/example.com/wp-config.php | od -cЕсли в ответе 357 273 277 — метка есть. Сначала сохраните копию файла в домашнюю папку, затем удалите метку:
sudo cp /var/www/example.com/wp-config.php ~/wp-config.php.baksudo sed -i '1s/^\xEF\xBB\xBF//' /var/www/example.com/wp-config.phpЕсли в ответе < ? p — метки нет. Тогда откройте файл и проверьте, что <?php стоит в самом начале первой строки, без пробелов и пустых строк перед ним. Если в конце файла есть ?>, после него тоже не должно быть пробелов и пустых строк.
Если в скобках указан файл плагина или темы, отключите плагин или тему — как это сделать, рассказано на странице ошибки 500.
Когда вход заработает, верните журнал отладки в исходное состояние.
Not supported by your browser: браузер не принял cookie
Проверьте, что браузер разрешает cookie для сайта. Попробуйте войти в другом браузере: если там всё работает, дело в настройках первого.
Если не входит ни в одном браузере, откройте wp-config.php и найдите строку COOKIE_DOMAIN. Если она есть и в ней записан другой домен — например, старый адрес сайта после переезда, — браузер не примет cookie: он принимает их только для того домена, с которого открыт сайт. Поправьте домен или удалите эту строку — WordPress обойдётся без неё.
Проверьте и адрес сайта: в «Настройки → Общие» в полях «Адрес WordPress» и «Адрес сайта» должен стоять тот адрес, который вы открываете в браузере, — с тем же https и с www или без. Если в админку не войти, задайте адрес в wp-config.php: добавьте две строки над строкой That's all, stop editing! — со своим адресом:
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );Пока эти строки в файле, поля адресов в «Настройки → Общие» поменять нельзя — WordPress берёт адрес из wp-config.php.
Тексты сообщений сверены с исходным кодом WordPress 7.1.3. В русской версии WordPress те же сообщения показаны по-русски — сравнивайте по смыслу.
Источники
- Исходный код WordPress 7.1.3: wp-login.php — тексты об ошибках cookie на странице входа.
- Исходный код WordPress 7.1.3: default-constants.php — WP_DEBUG, WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT и COOKIE_DOMAIN.
- Исходный код WordPress 7.1.3: functions.php — настройки WP_HOME и WP_SITEURL в wp-config.php заменяют адреса из общих настроек.
- Исходный код PHP 8.3.6: SAPI.c — текст Cannot modify header information - headers already sent.
- WordPress: cookie — справка, на которую ссылается сама ошибка, на английском.
- RFC 6265, раздел 5.3 — браузер не принимает cookie для чужого домена.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026