Síntoma
La web y el panel de administración de WordPress se quedan "pensando" y dejan de cargar durante unos minutos, normalmente en las horas de más visitas (por ejemplo, a media tarde), y después vuelven a funcionar solos sin que hayas hecho nada. No aparece un código de error concreto: la página simplemente no termina de cargar.
Causa habitual
En la mayoría de estos casos el problema no es el servidor en sí, sino la saturación de la CPU por culpa de MySQL/MariaDB. Algún plugin de WordPress está lanzando consultas muy "caras" (pesadas) contra la base de datos: consultas que recorren tablas con cientos de miles o millones de registros cada vez que se ejecutan, y cada visita las dispara. Cuando coinciden muchas visitas a la vez, la base de datos no da abasto y la web deja de responder durante unos minutos.
Un caso típico es el plugin WP Hide Post (y otros plugins similares de ocultación o control de contenidos, o de estadísticas), que consultan tablas muy grandes en cada carga de página.
Cómo identificarlo
Revisa qué procesos de MySQL se están ejecutando y si hay consultas que tardan varios segundos (el slow query log ayuda a detectarlas).
Fíjate en si esas consultas pesadas apuntan siempre a las mismas tablas y si dichas tablas tienen un número de registros muy alto.
Relaciona el plugin que genera esas consultas con las franjas horarias en las que se producen las caídas.
En TropicalServer podemos hacer este análisis por ti: identificamos el proceso y el plugin responsable del consumo.
Solución
Si el plugin no es imprescindible, desactívalo. En cuanto deja de lanzar esas consultas, el consumo de MySQL baja y las caídas desaparecen.
Si el plugin es necesario, busca una alternativa más ligera o una versión actualizada que esté mejor optimizada.
Mantén WordPress, la plantilla y todos los plugins actualizados, y elimina los que no utilices.
Tras desactivar el plugin, conviene observar el comportamiento durante uno o dos días para confirmar que la mejora se mantiene también en las horas punta.
¿Sigues con problemas?
Si después de revisar los plugins la web sigue cayéndose, abre un ticket con nuestro equipo de soporte indicando la franja horaria exacta en la que ocurre. Así podremos revisar los registros del servidor en ese momento concreto y localizar la causa.
