Investiga los problemas de tu WordPress con DebugPress

Publicada en WordPress.

Mira nuestro v铆deo

Existe una versi贸n mejor de tu web

Comparte este art铆culo

Recogiendo el guante lanzado por Juan en la edici贸n #189 de Enlace Permanente, hoy vamos a probar DebugPress, un plugin para WordPress de reciente lanzamiento para investigar posibles problemas en tu instalaci贸n.

Una de las ventajas de WordPress es que la cantidad de modificaciones que puedes hacerle a una instalaci贸n base es infinita. Pero esto es tambi茅n un arma de doble filo. Cuanto m谩s compleja es una instalaci贸n de WordPress, m谩s f谩cil es que hayan incompatibilidades y posibles problemas, y m谩s complicado es encontrarlos.

Instalando y configurando DebugPress

DebugPress es un plugin de WordPress desarrollador por Milan Petrovic que puedes encontrar en el directorio de plugins de WordPress.org. Esto quiere decir que puedes ir a tu instalaci贸n WordPress, acceder al men煤 Plugins y all铆 a帽adir uno nuevo. Con s贸lo buscar la palabra clave 芦DebugPress禄, encontrar谩s el plugin y lo podr谩s descargar y activar desde all铆.

Una vez lo tengas activado en tu WordPress, has de ir a los ajustes de DebugPress (dentro del men煤 Ajustes) para poder configurar el plugin:

Entre las cosas que puedes escoger, tienes la posibilidad de limitar qu茅 roles de usuario pueden acceder al panel de DebugPress. Tambi茅n puedes decidir qu茅 paneles adicionales activar. En nuestro caso, yo los he activado todos en mi instalaci贸n WordPress de pruebas.

De la misma forma, he activado que DebugPress analice todos los errores y alertas PHP, as铆 como llamadas AJAX y dem谩s opciones. Adem谩s, para que DebugPress sea capaz de mostrar informaci贸n sobre consultas SQL y actividad en el log de errores de WordPress, he activado 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);

Las dos primeras constantes las ten铆a activadas antes, ya que estoy probando DebugPress en mi instalaci贸n de desarrollo y pruebas. Como desarrollador, te interesa tener estas constantes activadas para que WordPress te muestre errores y dem谩s mensajes que oculta por defecto.

Las otras dos constantes activan el log de errores (que es un archivo debug.log que se guarda en el directorio /wp-content/ de tu instalaci贸n) y el almacenamiento de consultas, que comentaba antes. Ten en cuenta que puedes no activar estas constantes, pero entonces algunos paneles de DebugPress no mostrar谩n toda la informaci贸n posible.

El icono para ver el panel de DebugPress aparece en la parte derecha de la barra superior de WordPress.
El icono para abrir los paneles de DebugPress aparece en la parte derecha de la barra superior de administraci贸n de WordPress.

Cuando tengas todo listo, ya puedes ir al icono del bichito que aparece en la parte superior derecha de tu WordPress. Ese icono te aparecer谩 tanto en el Escritorio de WordPress como cuando accedas al frontal de tu web (puedes cambiar esto 煤ltimo en los ajustes de DebugPress).

Por tanto, DebugPress te proporciona informaci贸n sobre tu instalaci贸n de WordPress y sobre lo que est谩 pasando cuando accedes al frontal de tu web.

Los paneles de informaci贸n de DebugPress

Cuando hacemos clic en el bot贸n de DebugPress se nos abre un popup con varias paneles agrupados en pesta帽as. Cada pesta帽a contiene los paneles concretos de un tipo de informaci贸n espec铆fica. Veamos cada uno de ellos y qu茅 informaci贸n contienen.

En la primera pesta帽a de DebugPress tenemos la informaci贸n b谩sica sobre nuestra instalaci贸n WordPress. Aqu铆 podemos ver los l铆mites de memoria y de 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 algunos conditional tags de WordPress para saber si la instalaci贸n es multisitio, entre otros valores.

Panel Basics de DebugPress.
Panel Basics de DebugPress.

Adem谩s, en DebugPress tienes estad铆sticas de carga de la p谩gina. Esto es especialmente 煤til para ver si la p谩gina ha tardado m谩s de lo esperable en cargar, as铆 como averiguar el n煤mero de consultas SQL que se han realizado, la cantidad de hooks que se han ejecutado y la memoria que PHP ha usado.

En la pesta帽a de Request de DebugPress tenemos informaci贸n sobre la petici贸n actual que se ha hecho en al servidor de WordPress. Podemos ver la URL que se ha pedido, as铆 como las cabeceras tanto de la petici贸n como de la respuesta. Otra vez, esto es especialmente 煤til para ver si tanto la informaci贸n de la petici贸n como de la respuesta obtenida son correctas y no tienen problemas.

Panel de Request de DebugPress.
Panel de Request de DebugPress.

En la pesta帽a de Admin tienes datos sobre la p谩gina actual del Escritorio 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 (current screen):

Panel de Admin de DebugPress.
Panel de Admin de DebugPress.

Una de las pesta帽as m谩s interesantes de DebugPress es la de Content. Aqu铆 puedes ver toda la lista de tipos de contenidos personalizados registrados en WordPress, as铆 como las taxonom铆as personalizadas y los post statuses. Adem谩s, para cada uno de estos tipos, puedes desplegarlo y ver los valores que tienen.

Si no tuvieras este panel, tendr铆as que investigar qu茅 plugins para registrar contenidos tiene la instalaci贸n o bien ver si en alg煤n lugar del c贸digo PHP hay registros de tipos de contenidos, taxonom铆as o estados. Est谩 claro que tenerlo todo en un mismo lugar ayuda mucho.

Panel de Content de DebugPress.
Panel de Content de DebugPress.

En la pesta帽a de Constants tenemos todas las constantes definidas en WordPress. Adem谩s, para cada constante definida podemos ver su valor en este preciso momento:

Panel de Constants de DebugPress.
Panel de Constants de DebugPress.

En la pesta帽a de SQL Queries de DebugPress podemos ver en un momento dado qu茅 consultas SQL se han ejecutado para visualizar la p谩gina actual. Adem谩s de ver cada una de estas consultas, las podemos ordenar por su tiempo de ejecuci贸n y as铆 tener de un vistazo qu茅 consultas son las m谩s lentas y qu茅 funciones PHP son las que las han lanzado.

Si tienes un plugin que hace cosas raras con la base de datos y hace que tu web vaya mucho m谩s lenta, con esta vista de DebugPress conseguir谩s identificar los problemas.

Panel de SQL Queries de DebugPress.
Panel de SQL Queries de DebugPress.

En la pesta帽a User 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 tienes acceso a la base de datos y necesitas ver el rol de tu usuario y las capabilities concretas que te han asignado, este panel te va a ser muy 煤til.

Panel de User de DebugPress.
Panel de User de DebugPress.

Otro panel interesante de DebugPress es el que te muestra todos los estilos y scripts que hay encolados en WordPress en una p谩gina concreta. Muchas veces hemos tenido problemas con usuarios de alguno de nuestros plugins porque en su instalaci贸n nuestros scripts JavaScript no se cargaban. Tener esta informaci贸n es de especial inter茅s para desarrolladores como nosotros.

Ahora podemos pedir a esos usuarios m谩s reticentes a darnos acceso a su instalaci贸n WordPress que instalen DebugPress y nos pasen una captura de la pesta帽a de Enqueue para as铆 ver si hay scripts que no se est谩n cargado como toca. Solucionar los problemas con esta informaci贸n deber铆a ser m谩s sencillo.

Panel de Enqueue de DebugPress.
Panel de Enqueue de DebugPress.

En el panel de PHP podemos ver la informaci贸n que contienen las variables $_SERVER, $_REQUEST y $_COOKIE de PHP para la petici贸n de la p谩gina actual:

Panel de PHP de DebugPress.
Panel de PHP de DebugPress.

Tambi茅n, en la pesta帽a de System tenemos informaci贸n general sobre el servidor en el que tenemos instalado WordPress. Importante aqu铆 el poder ver la versi贸n de PHP, la IP y algunos l铆mites de tama帽o de subida de archivos y de tiempo de ejecuci贸n:

Panel de System de DebugPress.
Panel de System de DebugPress.

Por 煤ltimo, en la pesta帽a AJAX vemos las llamadas AJAX que se realizan en la p谩gina actual. En esta vista he de decir que tampoco he visto cosas demasiado interesantes. Si tienes acceso a la instalaci贸n WordPress, lo que puedes encontrar sobre llamadas AJAX en la consola de desarrollador del propio navegador es mucho m谩s interesante que lo que DebugPress muestra aqu铆.

Panel de AJAX de DebugPress.
Panel de AJAX de DebugPress.

Finalmente, al lado del 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. Si hacemos clic vemos que es la vista en la que podemos ver el log de WordPress que activamos al principio.

Aqu铆 vemos d贸nde est谩 el log almacenado en la instalaci贸n y el tama帽o del archivo. Adem谩s, tenemos un bot贸n azul para cargarlo. Sin embargo, no he conseguido que este bot贸n azul funcione y muestre el contenido del archivo de log.

Vista del log de WordPress en DebugPress.
Vista del log de WordPress en DebugPress.

Cada vez que hago clic en este bot贸n azul se lanza una petici贸n AJAX que devuelve un error. Podemos ver esta petici贸n fallida en la propia pesta帽a de AJAX de DebugPress.

Si abro el archivo de log de WordPress con un editor de texto cualquiera veo que hay en error en DebugPress que ocurre al hacer clic en ese bot贸n. As铆 que supongo que ahora mismo esta versi贸n de DebugPress tiene un error que el desarrollador solucionar谩 en futuras versiones.

Al intentar cargar la informaci贸n del log de WordPress, DebugPress da un error que podemos ver con el propio DebugPress.
Al intentar cargar la informaci贸n del log de WordPress, DebugPress da un error 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 a conciencia las diferentes vistas y paneles que DebugPress proporciona.

Opini贸n sobre DebugPress

Aunque toda la informaci贸n que DebugPress nos proporciona es posible consultarla a trav茅s de otros medios, tenerla toda en un 煤nico lugar es lo que m谩s valor proporciona el plugin.

Obviamente, DebugPress no es un plugin para tener activado todo el tiempo en tu WordPress, pero puede ser de gran ayuda cuando tienes que investigar en la instalaci贸n de un cliente posibles problemas de los que no tienes demasiada idea de porqu茅 est谩n pasando. Con suerte, DebugPress te puede ayudar a intuir qu茅 problemas hay y a partir de ah铆 tirar del hilo para arreglar tu WordPress.

Con DebugPress tienes toda la informaci贸n necesaria para que encontrar problemas en WordPress sea una tarea un poco m谩s sencilla. Espero que arreglen los problemillas que tienen con el log y as铆 mejorar a煤n m谩s la calidad de este plugin totalmente recomendable para desarrolladores WordPress.

Imagen destacada de Xuan Nguyen en Unsplash.

Deja una respuesta

No publicaremos tu correo electr贸nico. Los campos obligatorios est谩n marcados con: 鈥

He le铆do y acepto la Pol铆tica de privacidad de Nelio Software

Al marcar la casilla de aceptaci贸n est谩s dando tu leg铆timo consentimiento para que tu informaci贸n personal se almacene en SiteGround y sea usada por Nelio Software con el prop贸sito 煤nico de publicar aqu铆 este comentario. Cont谩ctanos para corregir, limitar, eliminar o acceder a tu informaci贸n.