Descubre qué le pasa a tu WordPress con DebugPress

Publicado: 2020-10-13

Hoy vamos a probar DebugPress, un complemento de WordPress lanzado recientemente para investigar posibles problemas con su instalación.

Una de las ventajas de WordPress es que la cantidad de modificaciones que puedes realizar en una nueva instalación es casi infinita. Pero esto también puede ser un arma de doble filo. Cuanto más compleja es una instalación de WordPress, más fácil es tener incompatibilidades y posibles problemas, y más difícil es encontrarlos.

Instalación y configuración de DebugPress

DebugPress es un desarrollador de complementos de WordPress de Milan Petrovic que puede encontrar en el directorio de complementos de WordPress.org. Esto quiere decir que puedes ir a tu instalación de WordPress, acceder al menú de Complementos y allí agregar uno nuevo. Con solo buscar la palabra clave " DebugPress ", encontrará el complemento y podrá descargarlo y activarlo desde allí.

Una vez que lo tengas activado en tu WordPress, ve a los ajustes de DebugPress (dentro del menú Ajustes) para configurar el plugin:

Entre las cosas que puede modificar, tiene la capacidad de limitar qué roles de usuario pueden acceder al panel DebugPress. También puede decidir qué paneles adicionales activar. En mi caso, los he activado todos en mi instalación de prueba.

De la misma manera, he habilitado DebugPress para rastrear todos los errores y alertas de PHP, así como las llamadas de AJAX y otras opciones. Además, para que DebugPress pueda mostrar información sobre las consultas SQL y la actividad en el registro de errores de WordPress, definí las siguientes constantes en el archivo wp-config.php de mi instalación:

 define('WP_DEBUG', true); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', true); define('SAVEQUERIES', true);

Ya había definido las dos primeras constantes antes, ya que estoy probando DebugPress en mi instalación de desarrollo y prueba. Si eres desarrollador, te recomiendo que también los definas, ya que probablemente deberías estar interesado en obtener la mayor cantidad de comentarios posible de WordPress (por defecto, los oculta a todos).

Las otras dos constantes activan el registro de errores (un archivo debug.log que se almacena en la carpeta /wp-content/ de su instalación) y el almacenamiento de consultas del que hablamos. Tenga en cuenta que es posible que no defina estas constantes, pero algunos paneles de DebugPress no mostrarán tanta información como sea posible.

El icono para ver el panel DebugPress aparece en el lado derecho de la barra superior de WordPress.
El icono para abrir los paneles de DebugPress aparece en el lado derecho de la barra de administración superior de WordPress.

Cuando tengas todo listo, puedes ir al icono del bicho que aparece en la esquina superior derecha de tu WordPress. Este icono aparecerá tanto en el Panel de control de WordPress como cuando acceda a la interfaz de su sitio web (puede cambiar este último en la configuración de DebugPress).

Allí, DebugPress le brinda información sobre su instalación de WordPress y lo que sucede cuando accede a la interfaz de su sitio web.

Los paneles de información de DebugPress

Cuando hacemos clic en el botón DebugPress, se abre una ventana emergente con varios paneles agrupados en pestañas. Cada pestaña contiene los paneles específicos de un tipo particular de información. Veamos cada uno de ellos y qué información contienen.

En la primera pestaña tenemos la información básica sobre nuestra instalación de WordPress. Aquí podemos ver los límites de memoria y tiempo de ejecución de PHP, la versión de WordPress y los directorios más importantes de la instalación, así como el valor de algunas etiquetas condicionales de WordPress para saber si la instalación es multisitio, entre otras cosas.

Panel básico de DebugPress.
Panel básico de DebugPress.

Además, en DebugPress tienes estadísticas de carga de página. Esto es especialmente útil para ver si la página ha tardado más de lo esperado en cargarse, así como para saber el número de consultas SQL que se han realizado, el número de ganchos que se han ejecutado y la memoria que ha utilizado PHP.

En la pestaña Solicitud de DebugPress tenemos información sobre la solicitud actual que se ha realizado al servidor de WordPress. Podemos ver la URL que se ha solicitado, así como las cabeceras tanto de la petición como de la respuesta. Nuevamente, esto es especialmente útil para ver si tanto la información de la solicitud como la respuesta obtenida son correctas y no tienen problemas.

Panel de solicitud en DebugPress.
Panel de Solicitud de DebugPress.

En la pestaña Admin tienes datos sobre la página actual del Panel de WordPress. Al acceder al calendario editorial de Nelio Content en mi instalación puedo ver el valor de la variable $pagenow así como los valores de la pantalla actual :

Panel de administración en DebugPress
Panel de administración de DebugPress.

Una de las pestañas más interesantes de DebugPress es Contenido . Aquí puede ver la lista completa de tipos de publicaciones personalizadas registradas en WordPress, así como las taxonomías personalizadas y los estados de las publicaciones. Además, puedes expandir cada uno de estos tipos y ver los valores que tienen.

Panel de contenido de DebugPress.
Panel de contenido de DebugPress.

En la pestaña Constantes tenemos todas las constantes definidas en WordPress. Además, para cada constante definida podemos ver su valor en este preciso momento:

Panel de constantes de DebugPress.
Panel de constantes de DebugPress.

En la pestaña Consultas SQL de DebugPress podemos ver en cada momento qué consultas SQL se han ejecutado para mostrar la página actual. Además de ver cada una de estas consultas, podemos ordenarlas por su tiempo de ejecución y así tener de un vistazo qué consultas son las más lentas, así como las funciones de PHP que las llamaron.

Si tienes un complemento que hace cosas raras con la base de datos y hace que tu sitio web vaya mucho más lento, con esta vista podrás identificar el origen de tus problemas.

Panel de consultas SQL de DebugPress.
Panel de consultas SQL de DebugPress.

En la pestaña Usuario de DebugPress tenemos toda la información del usuario actual. Esto incluye tanto la información que podemos encontrar en la tabla wp_users como en la tabla wp_usermeta de la base de datos de WordPress.

Si no tiene acceso a la base de datos y necesita ver el rol de su usuario y las capacidades específicas que le han sido asignadas, este panel le resultará muy útil.

Panel de usuario de DebugPress.
Panel de usuario de DebugPress.

Otro panel interesante de DebugPress es el que te muestra todos los estilos y scripts que están encolados en WordPress en una página específica. Muchas veces hemos tenido problemas con los usuarios de algunos de nuestros complementos porque nuestros scripts de JavaScript no se cargaron durante su instalación. Disponer de esta información es de especial interés para desarrolladores como nosotros.

Ahora podemos pedir a aquellos usuarios que son más reacios a darnos acceso a su instalación de WordPress que instalen DebugPress y nos compartan una captura de pantalla de la pestaña Enqueue para ver si hay scripts que no cargan como deberían. La solución de problemas con esta información debería ser más fácil.

Panel de puesta en cola de DebugPress.
Panel de puesta en cola de DebugPress.

En el panel de PHP podemos ver la información contenida en las variables de PHP $_SERVER , $_REQUEST y $_COOKIE para la solicitud de la página actual:

Tablero PHP de DebugPress.
Panel PHP de DebugPress.

Además, en la pestaña Sistema tenemos información general sobre el servidor de WordPress. Aquí es importante poder ver la versión de PHP que está utilizando, la IP del servidor y algunos límites en el tamaño de carga y el tiempo de ejecución:

Panel del sistema DebugPress.
Panel del sistema DebugPress.

Finalmente, en la pestaña AJAX vemos las llamadas AJAX que se ejecutan en la página actual. En esta vista he de decir que no he encontrado cosas interesantes: si tienes acceso a la instalación de WordPress, lo que puedes encontrar sobre las llamadas AJAX en la consola de desarrollador del propio navegador es mucho más interesante que lo que muestra DebugPress aquí.

Panel AJAX de DebugPress.
Panel AJAX de DebugPress.

Por último, junto al botón para cerrar la ventana de DebugPress que encontramos en la esquina superior derecha, vemos que hay un botón con forma de hoja de papel. Este botón abre la vista en la que podemos ver el registro de WordPress que activamos al principio.

Aquí vemos dónde se almacena el registro en la instalación y el tamaño del archivo. Puede usar el botón azul grande para cargar el archivo de registro, pero me temo que no pude hacerlo.

Vista del registro de WordPress en DebugPress.
Vista del registro de WordPress en DebugPress.

Cada vez que hago clic en este botón azul, DebugPress inicia una solicitud AJAX, que devuelve un error. Podemos ver esta solicitud fallida en la propia pestaña AJAX de DebugPress.

Si abro el archivo de registro de WordPress con cualquier editor de texto, veo que hay un error en DebugPress que ocurre cuando hago clic en ese botón. Así que supongo que en este momento esta versión de DebugPress tiene un error que el desarrollador corregirá en futuras versiones.

Al intentar cargar la información del registro de WordPress, DebugPress da un error que podemos ver con el propio DebugPress.
Al intentar cargar la información del registro de WordPress, DebugPress da un error de AJAX que podemos ver con el propio DebugPress.

Aún así, este ha sido el único inconveniente que he podido encontrar después de probar exhaustivamente las diferentes vistas y paneles que proporciona DebugPress.

Opinión sobre DebugPress

Aunque toda la información que nos proporciona DebugPress se puede consultar por otros medios, tenerlo todo en un mismo lugar es lo más valioso de este plugin.

Evidentemente, DebugPress no es un plugin para tener activado todo el tiempo tu WordPress, pero puede ser de gran ayuda cuando tengas que investigar posibles problemas en la instalación de un cliente de los que no tienes mucha idea de por qué están ocurriendo. Con suerte, DebugPress puede ayudarlo a adivinar cuáles son los problemas y, a partir de ahí, tirar del hilo para arreglar su WordPress.

Con DebugPress tienes toda la información necesaria para que encontrar problemas en WordPress sea un poco más fácil. Espero que solucionen los problemas que tienen con el log y así mejorar aún más la calidad de este plugin, totalmente recomendable para desarrolladores de WordPress.

Imagen destacada de Xuan Nguyen en Unsplash.