WordPress con error de cabeceras ya enviadas cómo corregir
Error de cabeceras ya enviadas en WordPress: identifica archivo y línea, corrígelo sin romper la web y recupera acceso con criterio.
Cuando aparece el error de cabeceras ya enviadas en WordPress, lo que suele indicar es que PHP o WordPress ha enviado algún contenido al navegador antes de tiempo. Eso impide modificar correctamente las cabeceras HTTP, algo necesario para redirecciones, cookies, sesiones o ciertos accesos al área de administración.
La buena noticia es que, en muchos casos, no se trata de una avería grave del sitio, sino de un problema de edición, codificación o conflicto tras un cambio reciente. Conviene actuar con método: identificar el archivo implicado, revisar la línea indicada y corregir solo lo necesario.
Qué significa el error de cabeceras ya enviadas en WordPress
Este mensaje suele aparecer cuando una parte del código genera salida prematura antes de que WordPress pueda enviar o modificar cabeceras HTTP. Esa salida puede ser visible, como texto o avisos, o invisible, como espacios en blanco o un archivo guardado con una codificación incorrecta.
Por eso el efecto práctico puede variar: una redirección que falla, un inicio de sesión que no termina bien, errores con cookies o incluso la sensación de que WordPress no permite acceder al administrador. El problema no siempre está en WordPress como tal, sino en el archivo o cambio que ha provocado esa salida antes de tiempo.
Causas más habituales del mensaje “headers already sent”
- Espacios en blanco antes de <?php o después de ?>. Es una causa muy común al editar archivos críticos manualmente.
- Codificación UTF-8 con BOM. Algunos editores añaden caracteres invisibles al principio del archivo, lo que genera salida sin que se vea a simple vista.
- Errores al tocar wp-config.php, functions.php o archivos de plugins. Una línea añadida, un cierre PHP innecesario o un copiado pegado defectuoso pueden bastar para activar el fallo.
- Notices, warnings o deprecated messages. Si PHP muestra avisos en pantalla antes de una redirección o del envío de cookies, también puede aparecer el mensaje.
- Conflictos tras actualizar plugins, temas o snippets. En muchos casos el error aparece justo después de una actualización o de añadir código personalizado.
Cómo localizar el archivo y la línea que provocan el error
El primer paso es leer el mensaje completo con atención. Normalmente indica un archivo y línea del error, y a veces también el punto donde WordPress intentó enviar las cabeceras. Esa pista suele ser más útil que aplicar soluciones genéricas.
Si el mensaje no se muestra entero, conviene revisar el registro de errores del servidor o activar el modo de depuración con prudencia. Puedes revisar la configuración de WP_DEBUG y el archivo debug.log, pero no conviene dejar la depuración visible en producción más tiempo del necesario.
Como orientación práctica, empieza por el último archivo editado o actualizado. Si el problema apareció tras tocar un plugin, un tema hijo o un snippet, esa suele ser la zona más razonable para revisar primero, especialmente si vienes de errores de PHP en WordPress tras cambio de hosting.
Cómo corregir el problema sin romper la web
Antes de modificar nada, si tienes acceso, haz una copia del archivo afectado. Después aplica cambios pequeños y verificables:
- Abre el archivo señalado y comprueba si hay espacios o saltos de línea antes de <?php.
- Revisa si existe ?> al final. En muchos archivos PHP de WordPress no es necesario, y dejarlo puede facilitar que se cuele salida posterior.
- Guarda el archivo como UTF-8 sin BOM si el editor lo permite. Esto ayuda a corregir archivo con BOM cuando el origen es la codificación.
- Si el aviso apunta a error en wp-config.php o error en functions.php, revisa especialmente cualquier código añadido recientemente.
- Si el origen parece un conflicto con plugin o tema, conviene desactivar temporalmente el elemento afectado por una vía segura, por ejemplo desde el panel si aún es accesible o mediante el entorno de archivos si no lo es.
Evita editar varios archivos a la vez o aplicar “limpiezas” masivas sin diagnóstico. En este tipo de error, tocar demasiado suele complicar la trazabilidad del problema.
Qué hacer si el error persiste después de aplicar cambios
Si has corregido el archivo aparente y el mensaje continúa, puede que la salida prematura proceda de otro punto relacionado. A veces el primer archivo que se ve en pantalla no es el único implicado.
- Compara con una copia anterior del archivo si dispones de ella.
- Revisa si hubo cambios recientes de versión de PHP, tema, plugin o fragmentos de código.
- Consulta los logs del hosting para detectar warnings o notices que no se muestran completos en pantalla.
- Si el acceso al admin está bloqueado, prioriza restaurar el último cambio antes de seguir probando.
Cómo prevenir este error en futuras actualizaciones
- Edita archivos PHP con un editor que permita guardar en UTF-8 sin BOM.
- Evita cerrar con ?> en archivos PHP donde no aporta nada.
- Prueba cambios en staging o en una copia previa cuando sea posible.
- Documenta qué plugin, tema o snippet has tocado para poder revertir con rapidez.
- Usa el modo depuración solo con criterio técnico y sin dejar mensajes expuestos en producción.
Resumen y siguiente paso recomendable
En la mayoría de casos, el error de cabeceras ya enviadas en WordPress se diagnostica localizando la salida prematura y corrigiendo el archivo exacto que la provoca. El fallo más común sigue siendo muy básico: espacios en blanco, cierre PHP innecesario o una edición incorrecta de archivos críticos como wp-config.php o functions.php.
Si necesitas avanzar con seguridad, el siguiente paso más razonable es revisar el último cambio realizado y contrastarlo con el mensaje completo del error. Si la web sigue bloqueada o no quieres arriesgar más, pedir soporte técnico especializado en WordPress suele ser la vía más prudente.
(sin enlaces externos preseleccionados — el artículo puede incluir hasta 1 referencia a una fuente oficial verificable si encaja de forma natural; no invente ni deduzca URLs)
Fuentes
Documentación oficial de WordPress sobre depuración y documentación oficial de PHP sobre el comportamiento de las cabeceras HTTP.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.