Descubre qué le pasa a tu WordPress con DebugPress
Publicado: 2020-10-13Hoy 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:

Configuración de DebugPress, Parte I. 
Configuración de DebugPress, Parte II.
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.

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.

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.

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 :

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.

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:


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.

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.

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.

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:

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:

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í.

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.

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.

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.
