ERROR en página de login: Las cookies están bloqueadas debido a una salida inesperada
Tengo un sitio WordPress en el que recientemente descubrí este error en la página de inicio de sesión:
ERROR: Las cookies están bloqueadas debido a una salida inesperada. Para obtener ayuda, consulte esta documentación o pruebe los foros de soporte.
Solo puedo acceder a la página de inicio de sesión desde wp-login.php
, ya que /wp-admin/
muestra una página en blanco.
He buscado en la web y probado muchas cosas sin éxito:
Eliminar
?>
y espacios al final delfunctions.php
Asegurarme de que tanto
functions.php
comowp-config.php
no tuvieran espacios al principio o final del archivoAbrir
wp-config.php
yfunctions.php
en Notepad++ y convertirlos a UTF-8 (la gente recomienda 'sin BOM' pero esa es solo una opción en la versión más nueva de Notepad++ - supongo que UTF-8 ahora lo hace por defecto)He establecido
WP_DEBUG
en true y no he recibido errores endebug.log
, excepto 2 que se relacionan con cuando no había subido completamente algunos archivos. Ese error en particular mencionabanav-menu.php
; esto confirmó que está reportando errores, solo que no relacionados con mis problemas de inicio de sesiónRenombré cada carpeta de plugins con
_tmp
al final para tratar de descartar que algún plugin cause el problemaTambién renombré la carpeta de plugins para descartar todos los plugins al mismo tiempo
Dados estos intentos que he realizado, y que no estoy recibiendo errores de PHP, ¿qué más podría probar?

Este error se genera en wp-login.php, ocurre cuando el servidor no puede establecer cookies. Esto puede deberse a varias razones, uno de los problemas comunes es: la salida de contenido enviada antes de configurar las cookies.
Prueba las siguientes opciones:
- Actualiza el núcleo de WordPress, si no está al día
- Cambia el tema, si estás usando un tema personalizado, accede por FTP al servidor y elimina la carpeta del tema personalizado, WordPress volverá al tema predeterminado.
- Si el problema persiste, renombra la carpeta de plugins
También revisa el registro de errores, los errores pueden no mostrarse en pantalla.

@DmitrijA gracias por señalarlo, tienes razón, con las cookies deshabilitadas el mensaje de error es diferente. Respuesta actualizada

¿Cómo puedo hacer cualquiera de las opciones anteriores si no puedo iniciar sesión en WP? El único acceso que me queda es FTP.

Puedes seguir estos pasos que se detallan a continuación:
- Cambia el nombre del directorio
themes
y del directorioplugins
. - Ahora visita /wp-admin/ o /wp-login.php. Espero que esta vez funcione.
- Si el paso 2 funciona, inicia sesión en el panel de control.
- Ahora, cambia nuevamente el nombre del directorio
themes
athemes
. - Luego, visita el menú
Apariencia
y activa cualquier tema predeterminado de WordPress.
<6. Espero que en este punto también puedas acceder al front-end.
- Si eso funciona, ahora puedes intentar activar el tema que usabas antes. Si funciona, probablemente tu tema no tenga ningún problema.
- Si el paso 7 funciona, entonces puedes cambiar el nombre del directorio
plugins
de nuevo aplugins
y verificar si hay algún plugin problemático. Si eso vuelve a romper tu sitio, repite los pasos 1-6 nuevamente. Si el paso 7 no funciona, repite los pasos 1-6 nuevamente. En este caso, tu tema tiene algunos problemas. Arrégalo.
Espero que esto funcione para ti. Gracias.

Paso 1: Revisa los registros de errores para ver qué archivo(s) está(n) causando el error. Revisar tu archivo de registro de errores te ayudará a entender exactamente qué está causando el problema.
Paso 2: Si los errores son del tipo "No se puede modificar la información de la cabecera - las cabeceras ya fueron enviadas por (salida iniciada en" y luego la ruta del archivo y la ruta del archivo wp-login.php con el número de línea. Esto confirmará que se trata de un problema de UTF-8 BOM y podrás ubicar el archivo que tiene el problema.
Paso 3: Abre el archivo (en mi caso era el archivo "custom-posts.php") que está causando el error en Notepad++, el cual tiene el problema. Te mostrará "Codificar en UTF-8" seleccionado bajo la opción Codificación en el menú. Necesitas asegurarte de que has seleccionado "Codificar en UTF-8 sin BOM" y NO "Codificar en UTF-8", luego haz clic en "Convertir a UTF-8 sin BOM", presiona enter en cualquier parte de tu archivo y guárdalo.
Funcionó en mi caso; sin embargo, en algunos casos puede tratarse de un problema de plugins y renombrar la carpeta de plugins puede ayudar. Pero antes de hacer cualquier cambio asegúrate de haber revisado los registros de errores para que sepas lo que estás haciendo.

Primero verifica tu sitio con un tema predeterminado de WordPress y si tu problema se resuelve, entonces intenta revisar los archivos PHP de tu tema y elimina cualquier espacio o salto de línea antes de <?php
y elimina ?>
al final de los archivos.
También revisa https://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain y usa define( 'COOKIE_DOMAIN', 'www.askapache.com' );
en tu archivo wp-config.php.

En mi opinión, esto está relacionado con algún problema del tema. Sigue los pasos a continuación y espero que encuentres la solución.
1. Establecer WP_DEBUG
en TRUE
Cambia el valor de WP_DEBUG
a TRUE
en tu archivo wp-config.php
. Esto te mostrará un mensaje de error significativo en la página wp-login.php
. Una vez solucionado, puedes revertir este cambio.
2. Revisa el ERROR
Al establecer TRUE
para WP_DEBUG
, podrías recibir un mensaje de error como No se puede modificar la información de la cabecera. Basándonos en ese mensaje, podemos asumir que podría haber problemas con tu Tema.
3. Cambia el nombre de la carpeta del tema
Si el punto 2 aplica, necesitas renombrar la carpeta de tu tema activo (ejemplo: mytheme A mytheme1). Deberías poder iniciar sesión, aunque se usará el tema predeterminado.
4. Reactiva el tema
Después de completar el paso 3 y haber iniciado sesión correctamente, podrías enfrentar el mismo problema de pantalla en blanco. No te preocupes, esto se debe al paso 3. Activa uno de los temas disponibles desde Panel de administración > Apariencia > Temas.
NOTA: No selecciones tu tema anterior (el que renombraste en el paso 3), ya que ese tema tiene problemas. Una vez resueltos, podrás volver a usarlo.
Para el problema relacionado con tu tema, puedes revisar qué está fallando consultando el archivo de registro (log).
Si sigues teniendo el mismo problema, significa que necesitas probar otras opciones como:
1. Actualizar tu versión de WordPress. Revisa cómo hacerlo
2. Desactivar todos los plugins y luego reactivarlos uno por uno.
¡Listo! Espero que esto te sea de ayuda.

Parece extraño que el error.log no muestre nada...
Para descartar completamente los caracteres BOM, intentaría volver a escribir manualmente cualquier código (en functions.php
y wp-config.php
) que hayas copiado de otras fuentes en un documento del que estés seguro que tiene formato UTF-8. Es posible que los caracteres permanecieran aunque el formato del documento se cambiara en el programa.
Nota adicional: Si no estás seguro si tu versión de Notepad++ soporta "sin BOM", prueba usando un editor diferente. Lo más probable es que solo necesites usar uno diferente para este problema en particular.
Aparte de eso, ¿has intentado reemplazar completamente tu archivo wp-login.php
? Podrías probar eso y/o reemplazar toda la carpeta wp-admin
. Si tuviste problemas con que nav-menus.php
no se subiera correctamente, otros archivos/directorios podrían haber fallado o subido parcialmente también.

En algunos casos, si ves errores o advertencias en la página de inicio de sesión, puedes intentar configurar define('WP_DEBUG', false); en el archivo wp-config.php como solución temporal. Una vez que inicies sesión, deberás corregir el problema real, que en la mayoría de los casos se debe a un plugin o tema desactualizado. Yo he solucionado esto de esta manera en algunas ocasiones y luego, una vez dentro, actualicé todo y quedó solucionado.
