Saltar al contenido
Technologies 2025-03-07 13 min de lectura

Cómo Monitorear tu WordPress con Query Monitor: Guía Completa

Cuando un sitio WordPress se vuelve lento, la causa casi nunca es evidente a simple vista: puede ser una consulta SQL sin índice, un plugin llamando a una API externa que tarda dos segundos en responder, o un tema cargando treinta archivos JavaScript. Query Monitor es el plugin de depuración de referencia para diagnosticar exactamente eso: expone en cada carga de página las consultas a la base de datos, los hooks, las peticiones HTTP, los errores de PHP y el consumo de memoria, y lo atribuye al plugin o tema responsable. Esta guía explica qué muestra cada panel, cómo instalarlo, cómo leer los datos en cinco minutos y cómo dejarlo configurado sin arriesgar el rendimiento de un sitio en producción.

Cómo Monitorear tu WordPress con Query Monitor: Guía Completa
#Technologies#WordPress#Debugging#Rendimiento
J John Coveña
John Coveña
Fundador de Terranode · Infraestructura y redes

¿Qué es Query Monitor?

Query Monitor es un plugin gratuito de depuración para WordPress que registra todo lo que ocurre durante la generación de una página y lo presenta en un panel dentro del propio administrador. Lo desarrolla John Blackbourn, tiene más de 200.000 instalaciones activas, y su versión actual es la 4.0.7, publicada el 20 de junio de 2026. Requiere WordPress 6.2 o superior y PHP 7.4 o superior.

Su diferencia frente a otras herramientas de velocidad es el ángulo desde el que mira. PageSpeed Insights o GTmetrix miden el resultado desde fuera: cuánto tardó la página en pintarse en el navegador. Query Monitor mira desde dentro del servidor y responde la pregunta siguiente: qué código concreto consumió ese tiempo. Por eso es la herramienta que convierte "el sitio va lento" en "el plugin de reservas ejecuta 340 consultas en la portada".

El plugin no guarda de forma persistente los datos que recopila ni incluye rastreo de terceros: la información se genera durante la petición y se descarta al terminarla.

Qué muestra cada panel de Query Monitor

Query Monitor organiza la información en paneles independientes a los que se accede desde la barra de administración. Estos son los que resuelven la mayoría de los diagnósticos:

PanelQué respondeCuándo mirarlo primero
OverviewTiempo total de generación, memoria usada, número de consultasSiempre, como punto de partida
QueriesCada consulta SQL, su duración y qué componente la lanzóSitio lento sin causa evidente
Queries by ComponentConsultas agrupadas por plugin o temaSospechas de un plugin concreto
HTTP API CallsPeticiones salientes a servicios externos y su duraciónEl sitio se cuelga de forma intermitente
Hooks & ActionsQué se enganchó a cada hook y en qué ordenComportamiento inesperado o filtros que no aplican
Scripts y StylesArchivos JS y CSS encolados, orden y dependenciasConflictos entre plugins, errores de consola
PHP ErrorsAvisos, advertencias y errores fatales con archivo y líneaPantalla en blanco o funciones que no responden
TimingMarcas de tiempo de bloques concretos de códigoOptimización fina de un proceso propio
TransientsTransients guardados durante la peticiónCaché interna que no se está reutilizando
EnvironmentVersiones de PHP, MySQL y WordPress, y límites de memoriaVerificar el entorno antes de culpar al código

Un detalle que ahorra mucho tiempo: Query Monitor marca en rojo las consultas lentas y los errores. El umbral por defecto para considerar lenta una consulta es de 0,05 segundos, y se puede cambiar con la constante QM_DB_EXPENSIVE.

Cómo instalar Query Monitor

La instalación toma menos de un minuto y no requiere tocar archivos:

  1. 1 En el panel de WordPress, ve a Plugins → Añadir nuevo.
  2. 2 Busca "Query Monitor", pulsa Instalar ahora y luego Activar.
  3. 3 Recarga cualquier página del sitio con tu sesión de administrador abierta. Aparecerá un nuevo elemento en la barra superior con el tiempo de generación, el pico de memoria y el número de consultas.

Al activarse, Query Monitor intenta crear un archivo wp-content/db.php que le permite medir las consultas desde el primer instante de la carga. Si tu instalación ya tiene un db.php de otro plugin, el archivo no se crea y Query Monitor sigue funcionando, pero pierde visibilidad sobre las consultas más tempranas. Al desinstalarlo conviene comprobar que ese archivo desapareció.

Cómo leer el panel en cinco minutos

Este es el recorrido que resuelve la mayoría de los casos, en orden:

  1. 1 Abre Overview. Anota el tiempo de generación y el número de consultas. Una portada de WordPress razonable se resuelve entre 30 y 80 consultas y por debajo de 0,5 segundos de tiempo de servidor.
  2. 2 Ve a Queries → by Component. La tabla ordena los plugins por número de consultas y tiempo acumulado. El culpable casi siempre está en las dos primeras filas.
  3. 3 Ordena por Time dentro de Queries. Una sola consulta de 1,2 segundos hace más daño que doscientas de un milisegundo. Copia su SQL: probablemente le falta un índice o hace un LIKE '%texto%' sobre wp_postmeta.
  4. 4 Revisa HTTP API Calls. Cada llamada externa suma su latencia al tiempo de respuesta. Una API caída puede añadir cinco segundos a cada visita.
  5. 5 Mira PHP Errors. Los avisos que nadie ve en producción suelen ser la pista de un plugin desactualizado.

Si el tiempo total es alto pero ni las consultas ni las llamadas HTTP lo explican, el problema está en el propio código PHP: ahí es donde el panel Timing ayuda a acotar qué bloque tarda.

Ejemplo práctico: de "el sitio va lento" a la causa concreta

Un caso típico y muy repetido: una tienda WooCommerce tarda cuatro segundos en cargar la portada. Query Monitor muestra en Overview 620 consultas y 3,1 segundos de tiempo de servidor. En Queries by Component, un plugin de productos relacionados aparece con 480 consultas y 2,4 segundos acumulados.

Al abrir el detalle se ve el patrón: el plugin recorre 60 productos y por cada uno lanza ocho consultas separadas a wp_postmeta, en lugar de pedir todos los datos de una vez. La solución no requiere programar: se reemplaza ese plugin por uno que haga la consulta agrupada, o se limita el widget a mostrar cuatro productos en vez de sesenta. El tiempo de servidor baja a 0,7 segundos.

La lección que deja el ejemplo es el criterio de diagnóstico: el número de consultas por sí solo no es el problema, el problema es un patrón que se multiplica con el catálogo. Un sitio así funciona bien con 20 productos y se derrumba con 2.000.

Qué hacer con lo que Query Monitor encuentra

Query Monitor diagnostica, no repara. Estas son las acciones que corresponden a cada hallazgo típico:

HallazgoAcción concreta
Un plugin con cientos de consultasBuscar alternativa, limitar sus widgets o desactivarlo en las plantillas donde no se usa
Una consulta lenta sobre wp_postmetaRevisar índices, reducir el uso de metacampos como filtro o cachear el resultado en un transient
Llamadas HTTP externas lentasCachear la respuesta con la API de transients y ponerle un timeout corto
Errores de PHP repetidosActualizar el plugin responsable o reportarlo a su autor
Muchos scripts y estilosRevisar si el tema carga recursos en páginas donde no hacen falta
Tiempo alto sin consultas ni llamadas que lo expliquenRevisar la versión de PHP y los recursos del plan de hosting

Ese último punto es el que más a menudo se pasa por alto. Si Query Monitor muestra pocas consultas y aun así el tiempo de servidor es alto, el cuello de botella está debajo del software: CPU compartida saturada, disco lento o una versión antigua de PHP. En ese caso ninguna optimización de código va a compensar, y toca revisar el plan de hosting o comparar hosting compartido, VPS y servidor dedicado para ver qué necesita realmente el sitio.

Query Monitor en producción: cómo dejarlo sin exponerlo

Query Monitor solo muestra su panel a usuarios con la capacidad de administrar el sitio, así que un visitante anónimo nunca ve los datos. Aun así, en producción conviene aplicar tres reglas:

  • Actívalo para diagnosticar y desactívalo al terminar. La sobrecarga es pequeña pero real, y en un sitio con mucho tráfico se nota.
  • Usa QM_DISABLED si prefieres dejarlo instalado. Añadir define( 'QM_DISABLED', true ); en wp-config.php lo deja inactivo sin desinstalarlo, listo para volver a encenderlo cambiando una línea.
  • Verifica que wp-content/db.php se eliminó después de desinstalar el plugin. Es el residuo más común.

Otras constantes útiles, todas definidas en wp-config.php:

php
// Considera "lenta" cualquier consulta que supere este tiempo, en segundos.
define( 'QM_DB_EXPENSIVE', 0.05 );

// Desactiva Query Monitor por completo sin desinstalarlo.
define( 'QM_DISABLED', true );

// Muestra el panel de comprobaciones de capacidades (desactivado por defecto).
define( 'QM_ENABLE_CAPS_PANEL', true );

// Oculta las acciones del núcleo en el panel de hooks.
define( 'QM_HIDE_CORE_ACTIONS', true );

Query Monitor frente a otras herramientas de diagnóstico

Ninguna herramienta cubre todo el recorrido de una petición, y por eso conviene saber qué contesta cada una:

HerramientaQué mideDónde se queda corta
Query MonitorQué código y qué consultas consumen el tiempo del servidorNo mide la experiencia real en el navegador
PageSpeed InsightsMétricas de carga en el navegador (LCP, INP, CLS)Dice que la página tarda, no qué plugin la frena
GTmetrix / WebPageTestCascada de recursos y tiempos de redNo ve lo que ocurre dentro de PHP
Health Check & TroubleshootingAísla plugins y temas sin afectar a los visitantesDescarta por prueba y error, no da métricas
Log de consultas lentas de MySQLConsultas lentas de todo el servidor, incluidas las de cronRequiere acceso al servidor y no atribuye la consulta a un plugin

En la práctica se combinan: PageSpeed Insights detecta que hay un problema, Query Monitor dice de dónde viene, y Health Check confirma la causa desactivando el plugin sospechoso sin afectar a los visitantes.

Cuándo usar Query Monitor (y cuándo no hace falta)

Query Monitor aporta valor real en cuatro escenarios concretos:

  • El sitio está lento y no sabes por qué. Es el caso para el que se diseñó y donde ninguna otra herramienta gratuita llega tan lejos.
  • Sospechas de un plugin. La vista por componente resuelve la duda en un minuto, sin desactivar nada.
  • Antes de lanzar un sitio. Revisar consultas, errores y llamadas externas antes de abrir al público evita sorpresas el día de más tráfico.
  • Al desarrollar temas o plugins. Los paneles de hooks, errores y pilas de llamadas ahorran horas de var_dump.

Y una recomendación honesta: si tu sitio carga rápido y no tienes ningún síntoma, no necesitas instalarlo. Query Monitor es una herramienta de diagnóstico, no una de optimización continua. Para mantener un sitio rápido sirven más un buen hosting para WordPress, la caché bien configurada y las prácticas del artículo sobre cómo optimizar el rendimiento de WordPress.

Query Monitor convierte el diagnóstico de un WordPress lento en un proceso con datos: qué consulta tardó, qué plugin la lanzó, qué API externa está frenando la respuesta y cuánta memoria consumió cada carga. Instálalo cuando tengas un síntoma, sigue el recorrido de cinco pasos —Overview, consultas por componente, consultas por tiempo, llamadas HTTP, errores de PHP— y desactívalo al terminar. Si el panel muestra pocas consultas y aun así el servidor tarda, el problema no está en tu código sino debajo de él, y ahí la conversación pasa a ser sobre recursos e infraestructura. Si tienes dudas durante la implementación, nuestro equipo de soporte técnico está disponible 24/7 para ayudarte.

¿Listo para llevar tu sitio al siguiente nivel?

Hosting con LiteSpeed, NVMe y soporte 24/7 desde $3/mes.

Ver planes de hosting

Preguntas frecuentes