La mayoría de los mensajes de error de WordPress te dan una idea de lo que está causando problemas en tu sitio. El error «Advertencia: no se puede modificar la información de la cabecera – las cabeceras ya han sido enviadas por» no es una excepción. Si un archivo PHP no puede ejecutarse debido a un problema en su código, te encontrarás con este mensaje.

Hay varias causas potenciales para el error «No se puede modificar la información de la cabecera». Afortunadamente, el propio mensaje te dirá qué archivo está causando el problema. Incluso señala la línea de código que contiene el problema.

En este artículo, vamos a hablar de este error y de sus causas. Luego, repasaremos dos formas de solucionar el problema. ¡Manos a la obra!

Qué Causa el Error «No se Puede Modificar la Información de la Cabecera: las Cabeceras ya han sido Enviadas por»

Como hemos mencionado antes, te encontrarás con este error cuando uno de los archivos .php de tu sitio no pueda ejecutarse. WordPress depende de los archivos .php, como wp-config.php y functions.php, para su funcionalidad principal.

Si hay un problema dentro de uno de los archivos .php que tu sitio web necesita cargar, verás un mensaje de error parecido a este:

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-config.php:#) in /home/public_html/wp-includes/file-example.php on line 33

Afortunadamente, el error «No se puede modificar la información de la cabecera» proporciona mucha información que hace que la solución de problemas sea relativamente sencilla. El mensaje te indicará dos archivos: el primero contiene el problema, que impide que el segundo se ejecute.

Al final del mensaje de error, verás una sección que dice «línea XX». Muestra la ubicación del código específico que está causando el problema.

Normalmente, el problema en el código PHP es bastante fácil de solucionar. Algunas causas comunes que pueden desencadenar el mensaje de error son

  • Los espacios en blanco antes del segmento de código <?php o después de la etiqueta de cierre ?>
  • Un bloque HTML antes de la función de cabecera de PHP
  • print o echo añadidos antes de la función de cabecera de PHP
  • Problemas con el código de un plugin

Arreglar este tipo de errores requiere que te sientas al menos mínimamente cómodo modificando el código PHP. No tendrás que añadir ningún código.

Aun así, es posible que necesites un poco de ayuda adicional para identificar el problema. Esto es especialmente cierto si el problema no está relacionado con los espacios en blanco o las declaraciones antes de la función de cabecera de PHP.

Cómo Solucionar el Problema de la «Advertencia: No se Puede Modificar la Información de la Cabecera – Las Cabeceras ya han sido Enviadas» (2 Métodos)

Hay dos métodos para solucionar el error «No se puede modificar la información de la cabecera – las cabeceras ya han sido enviadas por». El primer método no requiere que salgas del panel de control de WordPress.

Sin embargo, la segunda estrategia utiliza FTP/SFTP si no puedes acceder al panel de control o utilizar WordPress.

Empecemos con el primer método de solución de problemas.

1. Arregla el Error con el Editor de Plugins/Temas o Sustituye un Plugin

Lo primero que debes hacer cuando te encuentres con el error «No se puede modificar la información de la cabecera – las cabeceras ya han sido enviadas por» es abrir el archivo que está causando el problema. A continuación, localiza la línea que indica el mensaje.

Por ejemplo, si ves un error que dice lo siguiente, significa que tienes que mirar dentro del archivo functions.php de tu tema:

Warning: Cannot modify header information - headers already sent by (output started at /home/public_html/wp-content/themes/twentytwentyone/functions.php:#) in /home/public_html/wp-includes/file-example.php on line 1

En este caso, puedes llegar al origen del problema usando el editor de temas de WordPress. Para acceder a él, ve a Apariencia > Editor de temas.

Una vez dentro, utiliza el menú de la derecha para seleccionar el archivo al que necesitas acceder.

Archivo de funciones del tema (functions.php).
Archivo de funciones del tema (functions.php).

Si te fijas bien, verás que hay varios espacios en blanco antes de la etiqueta <?php. El propio mensaje de error apunta a la línea número uno. Por tanto, esto te indica que los espacios en blanco son el origen del problema.

En este ejemplo, todo lo que tienes que hacer es eliminar los espacios en blanco y hacer clic en Actualizar archivo. Ahora intenta recargar tu sitio web, y el error debería desaparecer.

Puedes aplicar el mismo proceso usando el editor de plugins de WordPress (Plugins > Editor de plugins). Este método es aplicable si el mensaje de error apunta a un archivo de plugin defectuoso.

Alternativamente, puedes encontrarte con un error que indique uno de los archivos dentro de tu directorio de plugins de WordPress. En este caso, puedes eliminar y reinstalar ese plugin. En la mayoría de los casos, esto solucionará el problema.

No obstante, ten en cuenta que podrías perder la configuración de ese plugin, dependiendo de la herramienta que utilices. Por ello, es posible que tengas que volver a configurar el complemento.

2. Editar el Archivo del Problema Mediante FTP/SFTP

En algunos casos, el origen del error «No se puede modificar la información de la cabecera – las cabeceras ya han sido enviadas por» no se encuentra en un archivo al que puedas acceder mediante los editores de temas o plugins de WordPress. También es posible que estés utilizando un sitio que no es de WordPress.

En estos casos, tu mejor opción es acceder al archivo problemático mediante FTP/SFTP. Para ello, tendrás que usar un cliente FTP o SFTP como la plataforma FileZilla.

También necesitarás acceder a las credenciales FTP/SFTP de tu sitio web. En la mayoría de los casos, deberías poder encontrarlas dentro de tu panel de alojamiento.

Si utilizas Kinsta, puedes acceder a MyKinsta, seleccionar tu sitio web en Sitios y hacer clic en su pestaña Información.

Detalles SFTP en MyKinsta.
Detalles SFTP en MyKinsta.

Una vez que tengas las credenciales, utiliza tu cliente FTP o SFTP para conectarte a tu sitio web. Tendrás que localizar la carpeta raíz del sitio. Normalmente, su nombre debería ser root, public_html, public, o el nombre de tu propio sitio.

Aquí tienes un vistazo rápido a cómo es el interior de una carpeta raíz de WordPress.

Carpeta raíz de WordPress.
Carpeta raíz de WordPress.

Localiza el archivo que indica el error «No se puede modificar la información de cabecera – cabeceras ya enviadas por». Por ejemplo, si el problema es public/wp-config.php, haz clic con el botón derecho del ratón sobre el archivo y selecciona la opción Ver/Editar.

Haz clic en el archivo wp.config.
Haz clic en el archivo wp.config.

Esa opción abrirá el archivo seleccionado con tu editor de texto predeterminado. Una vez abierto el documento, localiza el problema navegando hasta la línea a la que te señaló el mensaje de error.

Busca la línea con el mensaje de error.
Busca la línea con el mensaje de error.

Si no puedes detectar el error, es posible que tengas que consultar con alguien que tenga experiencia en trabajar con archivos PHP. Sin embargo, supongamos que se trata de un problema de espacios en blanco o de una declaración antes de la cabecera de PHP. En ese caso, deberías ser capaz de solucionar el problema tú mismo.

Cuando hayas terminado, guarda los cambios en el archivo y cierra el cliente FTP/SFTP. Intenta volver a acceder a tu sitio web y el error debería desaparecer.

Resumen

El error «Advertencia: no se puede modificar la información de la cabecera – las cabeceras ya han sido enviadas por» puede ser intimidante porque emite un mensaje largo. Sin embargo, ese mensaje de error detallado hace que este error sea relativamente sencillo de solucionar. A diferencia de otros problemas, este es lo suficientemente cortés como para indicarte qué archivo lo está causando y qué línea de código debes investigar.

Dependiendo del archivo que esté causando el error, hay dos maneras de solucionar el problema:

  1. Arregla el error utilizando el editor de plugins/temas o sustituye un plugin.
  2. Edita el archivo problemático mediante un cliente FTP/SFTP.

Encontrar el origen de este error es sencillo. Sin embargo, solucionarlo puede ser un problema si no estás familiarizado con PHP.

¿Sigues teniendo problemas para solucionar este error? Comparte tu experiencia con nuestra comunidad en los comentarios de abajo

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.