Registro de errores de WordPress: dónde encontrar el error y qué significan los mensajes
El registro de errores de WordPress son los archivos donde el servidor, WordPress y los plugins apuntan los detalles de los errores: el mensaje, el archivo y la línea. Busca en tres sitios: debug.log en la carpeta wp-content (con el registro activado en wp-config.php), el panel de tu hosting y WooCommerce → Estado → Registros. Sin ellos, arreglar un error es adivinar.
Autor: El equipo de TellMyShop. Una guía para dueños de sitios WordPress y tiendas WooCommerce: la causa, el arreglo manual y el mismo trabajo en una conversación con el chat.
Última actualización: · 6 min de lectura
Tres sitios donde mirar
Cada uno de estos sitios registra algo distinto. Revísalos en este orden, del más fácil al más difícil.
| Sitio | Qué se guarda ahí | Cómo llegar | Quién suele tener acceso |
|---|---|---|---|
| WooCommerce → Estado → Registros, archivo fatal-errors | errores fatales de PHP con archivo y línea | el escritorio, si funciona | tú |
| debug.log en wp-content | errores, advertencias y avisos de WordPress y los plugins | gestor de archivos del hosting o FTP, con el registro activado | tú o quien cuida el sitio |
| Registro de errores de PHP en el servidor | errores de PHP, incluso cuando WordPress no carga en absoluto | panel del hosting | el hosting, a veces tú |
Una tienda WooCommerce tiene una ventaja: el registro fatal-errors funciona sin rebuscar entre archivos. La propia WooCommerce recomienda empezar por ahí, como describe la documentación de WooCommerce sobre cómo encontrar los registros de errores de PHP.
Cómo activar debug.log paso a paso
El registro en debug.log se activa en wp-config.php. Ese archivo guarda la contraseña de tu base de datos, así que trabaja con una copia y con cuidado. Si no te sientes seguro, pídeselo a tu hosting o a quien cuida el sitio.
- Haz una copia de wp-config.php en el gestor de archivos del hosting.
- Abre wp-config.php para editarlo y busca la línea con WP_DEBUG.
- Pon WP_DEBUG en true, añade WP_DEBUG_LOG en true y WP_DEBUG_DISPLAY en false.
- Guarda el archivo y repite lo que provoca el error, por ejemplo abrir la página o añadir un producto al carrito.
- Abre wp-content/debug.log y lee las últimas líneas.
- Cuando termines, vuelve a poner WP_DEBUG en false.
Todas las constantes y lo que hacen se describen en el manual de depuración de WordPress. Una explicación breve del propio archivo está en la entrada del glosario de GreenGeeks sobre WP Debug Log.
El archivo debug.log está en una carpeta a la que a veces se puede llegar desde el navegador. No dejes el registro activado de forma permanente sin necesidad, o pide a tu hosting que bloquee el acceso a ese archivo.
Cómo leer una entrada del registro
Cada entrada tiene una forma parecida: fecha y hora, nivel del error, mensaje y, al final, la ruta del archivo y el número de línea. Lo que más importa es la ruta. Si contiene wp-content/plugins/nombre-del-plugin, la culpa es de ese plugin. Si es wp-content/themes/nombre-del-tema, del tema.
Niveles, del más grave al menos:
- Fatal error: el código se detuvo, y la página o una parte no funciona.
- Warning: algo salió mal, pero la página sigue.
- Notice y Deprecated: notas para desarrolladores, normalmente sin efecto para los visitantes.
Glosario: cinco mensajes habituales
Allowed memory size of … bytes exhausted. PHP se quedó sin la memoria que tenía asignada. Puede tener la culpa un plugin pesado o un límite bajo del hosting. El límite de memoria lo sube tu hosting o quien cuida el sitio.
Call to undefined function … El código llama a una función que no existe. Una causa habitual es un plugin que depende de otro plugin que está desactivado, o un tema que ya no encaja con un plugin tras una actualización.
Maximum execution time of … seconds exceeded. Un script tardó más de lo que permite el servidor. Pasa durante una importación, una copia de seguridad grande o una conexión lenta con un servicio externo.
Uncaught Error: Class … not found. Falta una parte del código de un plugin, por ejemplo tras una actualización fallida. Ayuda reinstalar la misma versión del plugin.
Cannot modify header information - headers already sent. Algo envió texto al navegador demasiado pronto. Muy a menudo es una línea en blanco o un espacio al final de functions.php tras una edición manual.
Los valores de los mensajes cambian de un sitio a otro, por eso están sustituidos por puntos suspensivos. Si el registro muestra un error fatal y el sitio está caído, ve a la guía sobre el error crítico de WordPress. Si ves una pantalla blanca o un código 500, lee la entrada sobre el error 500 en WordPress.
Qué enviar a tu hosting o a tu desarrollador
Un aviso bien escrito ahorra varias rondas de mensajes. Incluye:
- el mensaje exacto del registro, copiado y no reescrito de memoria, con la ruta del archivo y el número de línea,
- la fecha y la hora en que apareció por primera vez, y si el error se sigue repitiendo,
- qué cambió justo antes: una actualización de un plugin, del tema, de WordPress o de la versión de PHP,
- en qué página y durante qué acción aparece el error, por ejemplo al añadir al carrito,
- las versiones de WordPress y PHP, de Herramientas → Salud del sitio → Información.
Antes de enviarlo, quita del fragmento las direcciones de correo y otros datos de clientes.
Cómo lee el chat los registros por ti
El plugin TellMyShop para WordPress y WooCommerce lee los registros de errores ya en TellMyShop Free. Tu chat (Claude o ChatGPT) recibe los errores de PHP, WordPress y WooCommerce de los últimos días, agrupados: el mismo mensaje es una fila con un recuento y la fecha de la última aparición. Para cada uno indica de qué plugin o tema viene y explica el mensaje con palabras sencillas. Los correos, teléfonos y direcciones IP de los registros están enmascarados.
Tú: Desde ayer el carrito a veces no carga. Mira los registros.
Tu chat: En los dos últimos días hay un error fatal, repetido una docena de veces:
Allowed memory size exhausted, en un archivo del plugin de cálculo de envíos.
Solo aparece al abrir el carrito. El plugin recibió una versión nueva ayer.
Mi propuesta: avisar del error al autor o volver a la versión anterior del plugin. El límite de memoria es cosa de tu hosting.
El resultado de esta conversación es un ejemplo. El chat lee lo que se ha registrado. Si el registro en debug.log está desactivado, no habrá nada en el registro de WordPress. El chat no puede activarlo: wp-config.php está siempre bloqueado para el plugin, en todas las versiones. Eso te toca a ti, a tu hosting o a quien cuida el sitio.
Leer los registros, la salud del sitio y la lista de plugins basta para un diagnóstico, y es gratis. Cuando la causa es un plugin, en TellMyShop Pro el chat puede desactivarlo o actualizarlo cuando activas el interruptor Plugins durante 24 horas, siempre con vista previa y tras tu aprobación. Puedes descargar la versión gratuita desde la página TellMyShop Free, Pro se describe en la página TellMyShop para WordPress y WooCommerce, y las diferencias están en la página de precios.
Preguntas y respuestas
¿Dónde está el archivo debug.log en WordPress?
Por defecto en la carpeta wp-content, pero solo cuando WP_DEBUG y WP_DEBUG_LOG están activados en wp-config.php. El archivo se crea con el primer error después de activar el registro. Si no está, el registro está desactivado o no ha habido errores desde que se activó.
¿Activar WP_DEBUG mostrará los errores a los clientes?
Puede, si dejas activada la visualización de errores. En un sitio en marcha se registra en un archivo con la visualización desactivada, es decir, con WP_DEBUG_DISPLAY en false. Así los errores van solo a debug.log.
¿Hay que corregir enseguida los avisos Deprecated?
Normalmente no. Dicen que un plugin o tema usa una función que desaparecerá de PHP o de WordPress en el futuro. El sitio funciona, pero antes de cambiar de versión de PHP conviene avisar al autor del plugin o buscar una actualización.
¿Un registro de errores puede contener datos de clientes?
Sí, a veces acaban ahí direcciones de correo, direcciones IP o fragmentos de peticiones. Por eso no publiques el archivo entero en un foro ni dejes el registro activado sin necesidad. El plugin TellMyShop enmascara correos, teléfonos y direcciones IP cuando lee los registros.
¿Quién tiene acceso a los registros del servidor?
Tu hosting. Los registros de errores de PHP del servidor suelen estar en el panel del hosting, en la sección de estadísticas o de registros. Si no los ves ahí, pide al soporte el fragmento del momento en que apareció el error.
WordPress es una marca de la WordPress Foundation. WooCommerce es una marca de Automattic Inc. Claude es una marca de Anthropic PBC. ChatGPT y OpenAI son marcas de OpenAI. TellMyShop no está afiliado a estas empresas.