Ошибки

Cookies are blocked: не получается войти в админку WordPress

На странице входа WordPress пишет, что cookie заблокированы. Причин две: сайт выводит лишний текст до заголовков, и cookie не успевают отправиться, — или браузер не принимает cookie сайта.

Обновлено 10.10.2026≈ 4 мин чтения
Содержание 6

Что сделать прямо сейчас

  1. Посмотрите, какой у вас текст, — таблица ниже.
  2. Если в тексте есть unexpected output, найдите файл, который выводит лишнее — подробнее.
  3. Если 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.bak
sudo sed -i '1s/^\xEF\xBB\xBF//' /var/www/example.com/wp-config.php

Если в ответе < ? p — метки нет. Тогда откройте файл и проверьте, что <?php стоит в самом начале первой строки, без пробелов и пустых строк перед ним. Если в конце файла есть ?>, после него тоже не должно быть пробелов и пустых строк.

Если в скобках указан файл плагина или темы, отключите плагин или тему — как это сделать, рассказано на странице ошибки 500.

Когда вход заработает, верните журнал отладки в исходное состояние.

Проверьте, что браузер разрешает 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 те же сообщения показаны по-русски — сравнивайте по смыслу.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026