WordPress Debug Mode: depuración de tu sitio web con solo unos clics

8 min.
WordPress debug mode tips

Si has llegado a este artículo, supongo que ya te has topado con un error en tu sitio web WordPress o eres una persona que realiza regularmente el mantenimiento y espera encontrarse con un error. En cualquier caso, quiero recordarte que escribir código y escribir errores van de la mano. Incluso los/as mejores desarrolladores/as cometen errores. Para que no te desesperes por estos errores, te he escrito esta guía sobre el modo de depuración WordPress o "WordPress Debug Modus". Se trata de una herramienta muy útil para descubrir y comprender los errores en WordPress. 

El primer paso para depurar tu código 

Siéntate, respira profundamente y suelta el aire, y comprende que todos/as los/as desarrolladores/as han escrito código con errores en algún momento. Cada vez que escribes código con errores, aprendes algo, y si aprendes algo, seguirás desarrollando y mejorando tus habilidades. 

Aunque puede parecer que un fallo está ahí para volverte loco/a, por suerte eso es relativamente improbable 😉 Lo bueno es que: a menos que estés tratando con la tecnología más avanzada, hay muchas posibilidades de que alguien más se haya encontrado ya con el mismo fallo. 

¿Qué es la depuración de programas o el "debugging"? 

Si no estás familiarizado/a con el término "debugging", este proviene del lenguaje informático, un error en el código se denomina "bug". Así que "debugging" significa depurar o eliminar los errores de tu código. Aunque a la gente le gusta suponer que los errores son causados por su propio personal o por actualizaciones de software mal pensadas, la verdad es que muchos errores tienen su propia letra, y es mejor aceptarlos desde el principio.

Por qué el debugging de PHP parece más complicado que el de JavaScript

Tal vez estés acostumbrado/a a depurar en otro lenguaje, por ejemplo, JavaScript. Un poco confuso es que JavaScript solo se ejecuta después de renderizar tu sitio web. Al menos este es el estándar en la web y la razón por la que se inserta tu archivo .js al final del documento HTML. Esto significa que tu sitio web puede seguir mostrándose aunque haya errores de JavaScript. Si no te das cuenta de esto o no compruebas el registro de tu consola, puede que ni siquiera sepas que se ha producido un error. 

Sin embargo, PHP es un lenguaje del lado del servidor y se utiliza para construir sitio web (aunque puede hacer mucho más que eso). Por lo tanto, si hay un error en tu código PHP, puede que tu web no cargue y los/as visitantes/as no vean ningún contenido. Así, los errores de PHP suelen ser más evidentes. 

Depuración en WordPress con WP-Debug 

¿Qué es el WordPress Debug Mode?

Si el modo de depuración de WP (a veces también llamado wp-debugger o wp-debug) está activado, te muestra los errores, sugerencias y advertencias reportados por el sistema WordPress. Por defecto, el wp-debugger está desactivado. La constante de PHP wp_debug es la variable global que indica el estado del modo de depuración de WordPress mediante un booleano, es decir, si está activado o desactivado. 

¿Por qué debes utilizar el WordPress Debug Mode?

Porque WordPress utiliza algunos componentes básicos diferentes: 

Frontend - HTML / CSS

Backend - PHP / Base de datos

Plugins - Aplicaciones PHP creadas por terceros

Por lo tanto, puede ser bastante difícil averiguar qué ha causado un problema en tu sitio web. El wp-debugger es una herramienta que permite ver o registrar los errores. 

Antes de empezar a depurar, ¡haz una copia de seguridad! 

Hay un viejo dicho que dice que "más vale prevenir que curar". Es decir, es mejor no dejar que surja un problema en primer lugar. Para ti, esto se traduce en: ¡asegura tus datos!

Un trabajo de mantenimiento de 30 minutos puede convertirse rápidamente en una pesadilla de 5 horas solo porque no se hizo una copia de seguridad antes de que alguien se metiera con los archivos internos.

Afortunadamente, si alojas tu sitio web en RAIDBOXES, la copia de seguridad se crea automáticamente. Solo tienes que ir a tu panel de control, hacer clic en la pestaña "backups" (copias de seguridad) y ver todas tus copias de seguridad diarias. 

resumen de sus copias de seguridad en su RAIDBOXES panel de control

Si quieres hacer cambios y tienes que crear una copia de seguridad manual, haz clic en el botón "crear copia de seguridad manual" y dale un nombre a la copia de seguridad. Consejo: elige un nombre que tenga sentido para que puedas reconocer la copia de seguridad más adelante y haz lo que quieras con la web. Si algo va mal, basta con restaurar tu copia de seguridad. 

cómo crear una copia de seguridad manual en su RAIDBOXES panel de control

Activar el WordPress Debug Mode en RAIDBOXES

En tu panel de control RAIDBOXES puedes activar el wp-debugger en la configuración de tus BOX con un solo clic: 

cómo activar el depurador de wp en su RAIDBOXES panel de control

Si haces clic en WordPress Debug Logs después de activar el modo de depuración de WP, podrás ver en el registro en vivo los errores que arroja tu sitio web WordPress. Puedes acceder al registro de depuración propiamente dicho a través de los ajustes del elemento WP Debug (ver captura de pantalla) o a través de la vista general de tu BOX. También puedes acceder a los archivos de registro de depuración de WP a través de FTP: tus archivos de registro se almacenan en la sección /wp-content/ en el archivo debug.log.

WordPress Debug Mode: depuración de tu sitio web con solo unos clics

Para más información sobre el análisis de errores de tu sitio WordPress en RAIDBOXES visita nuestro centro de ayuda.

¿Necesitas wp-config.php para la depuración?

En RAIDBOXES puedes activar el WordPress Debug Modus en un solo clic en tu panel de control. El wp-config.php es de lectura únicamente, por razones de seguridad. En la configuración de tu BOX enWordPress > wp-config. php podrás añadir entradas o posts especiales si lo consideras necesario.

Muy importante: utiliza esta función solo si estás seguro/a de lo que hacen las entradas. Editar el wp-config.php puede llevar a un sitio web defectuoso. Por lo tanto, antes de añadir una entrada, comprueba bien que ya has creado una copia de seguridad.

En la siguiente sección explicamos cómo habilitar el WP Debug Mode a través de wp-config.php cuando desarrollas localmente.

Activar WordPress Debug localmente 

En tu desarrollo local puedes habilitar wp-debug editando el archivo wp-config.php en el directorio (carpeta raíz) WordPress y añadiendo el siguiente código: 

// Dies aktiviert das Debugging.
define( 'WP_DEBUG', true );

También puedes descubrir que esta instrucción ya ha sido añadida, pero el valor es falso. Si es el caso, simplemente cámbialo a "true". 

// Dies deaktiviert das Debugging.
define( 'WP_DEBUG', false );
donde se encuentra su archivo wp-config
activar el modo de depuración WordPress  en PHP

Llegados a este punto, me gustaría insistir una vez más en lo importante que es tener una copia de seguridad. Ahora es un buen momento para comprobarlo de nuevo.  

El WordPress Debug Mode ya está activado, ¿y ahora qué?

Ahora que el wp-debugger está activado, los errores se muestran directamente en la ventana del navegador (si WP_DEBUG_DISPLAY está ajustado a true) - esto es tanto una maldición como una bendición. Por un lado, puedes ver los errores, pero por otro lado, todos los usuarios de tus pueden verlos, lo que no es ideal. Por poner un ejemplo, he añadido una pequeña función desconocida al pie de página de la página estándar WordPress Themes "Twenty Twenty-One". 

Antes de activar wp-debug: 

antes de que se active el modo de depuración WordPress

Después de activar wp-debug: 

después de activar el modo de depuración WordPress

Probablemente no quieras que los/as visitantes de tu web vean esto, ¿verdad? El mensaje de error no solo daña el diseño, sino que incluso podría revelar información sensible. Por ejemplo, antes de hacer algunos cambios, salía mi nombre de usuario y con esta información cualquier hacker podría lanzar un ataque. 

¿Se registran tus errores?

Si activas WP-Debug, la información sobre el error no se guarda, sino que solo se muestra. Para guardar esta información, necesitas habilitar wp_debug_log. Más adelante aporto más información al respecto.

De este modo activas el WordPress Debug Mode y evitas que se muestren errores en el código HTML

Afortunadamente, existe una solución a este problema en WordPress. Añade el siguiente código a tu wp-config.php: 

define( 'WP_DEBUG_DISPLAY', false );

Esto evita que aparezcan errores en tu código HTML y ahorra a tus usuarios/as la pesadilla que hubieras causado. La última pieza del rompecabezas es cómo comprobar los errores sin publicarlos. ¡Bienvenido/a al registro de errores! 

Activar el registro de errores en WordPress 

En el archivo wp-config.php, debes habilitar el registro de errores desde WordPress. Así se creará un archivo .log con los registros y detalles de errores ocurridos en tu sitio web. 

define( 'WP_DEBUG_LOG', true );

Por lo general, podrás encontrar el archivo de registro en la carpeta wp-content de tu web WordPress, a menos que tengas una ruta de archivo válida para este registro como se especifica a continuación: 

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Sin embargo, mi registro de errores se escribió en el directorio raíz de WordPress. Así que si no encuentras el registro de errores en la carpeta wp-content, busca en otro lugar:  

archivo de registro en el sistema de archivos

Revisión de un registro de errores

Los registros de errores te dan indicaciones bastante claras de lo que ha ido mal. Pero que algo esté claro no significa que lo entiendas, así que vamos a desglosarlo. 

ejemplo de una entrada de registro de WordPress  modo de depuración
  1. Hora del error
  2. Tipo de error
  3. Causa del error
  4. Lugar donde se ha producido
1) [12-Apr-2021 20:32:47 UTC] 2) PHP Fatal Error: 3) Uncaught Error: Call to undefined function writeMsg() in
4) /home/XXXXXXX/DEVELOPMENT/wp/wp-content/themes/twentytwentyone/footer.php:73

Por si te preguntas a qué se debe el error que he puesto, he definido un método incorrecto llamado writeMsg() en el archivo footer.php que provoca un error. 

¡No te olvides de desactivar!

Importante: no olvides desactivar el WordPress Debug Mode después del análisis. Si lo dejas activo, WordPress escribe todos los errores que encuentra en el archivo debug.log. Si los errores se producen con regularidad, este archivo puede llegar a ser demasiado grande y consumir la memoria.

¿Es demasiado grande el registro de errores de WordPress?

Los registros de errores pueden crecer con el tiempo si no se controlan. Recuerda que no solo se registran los errores, sino también las advertencias y los consejos. Cuando hay nuevas versiones de PHP, ciertos métodos pueden quedar obsoletos o incluso algunos plugins pueden dejar de funcionar. En ese caso, se generarán más errores. 

Normalmente, un registro de errores solo debería tener un tamaño de unos pocos kB, pero incluso así es tedioso rebuscar en este. En los peores casos, los errores se registran en un archivo que ya tiene varios MB de tamaño y contiene miles de líneas de texto. Además de ser más confuso, esto conduce a tiempos de reacción más lentos del archivo de registro y puede ralentizar enormemente la resolución de problemas debido a los tiempos de espera al cargar el registro. ¿Qué puedes hacer entonces? 

¡Descarga el archivo para archivarlo y luego elimínalo! 

Si los registros de error WordPress han sido activados en wp-config.php y no se encuentra ningún archivo error.log, WordPress crea un archivo completamente nuevo y lo rellena con los errores actuales.

Conclusión

La depuración de código hace que el desarrollo sea un reto y una recompensa, porque los errores te obligan a ampliar tus conocimientos, a desarrollar una actitud positiva y a pensar de forma diferente. Si tienes alguna pregunta o dificultad con la depuración de tu sitio web WordPress, no dudes en dejar un comentario o en ponerte en contacto con nosotros/as en el chat de soporte. ¡Diviértete depurando!

¿Tienes alguna otra pregunta?

Si tienes más preguntas sobre WordPress Debug Mode, utiliza la función de los comentarios. ¿Te interesan los temas de actualidad en torno a WordPress, diseño web y negocios en línea? Entonces sigue a RAIDBOXES en Twitter y Facebook, LinkedIn o a través de nuestra newsletter.

Como editor técnico con ojo para los detalles, Patrick apoya al equipo de marketing de contenidos en RAIDBOXES. Ya ha trabajado en una agencia web y sabe qué problemas y cuestiones técnicas pueden surgir. Además de sus estudios de informática para medios de comunicación, a Patrick le gusta expresarse de forma creativa de diversas maneras. También hornea exquisitos "Seelen", panecillos alargados de espelta, una especialidad de su región natal Suabia.

Artículos relacionados

Comentarios sobre este artículo

Escribe un comentario

Tu dirección de correo electrónico no se publicará. Los campos obligatorios están marcados con *.