Problemas de rendimiento en Wordpress: funciones llamadas repetidamente

  • Autor Autor kaostech
  • Fecha de inicio Fecha de inicio
kaostech

kaostech

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
Verificado por Binance
Hola,

Espero me puedan ayudar.

Tuve un problema de que un sitio web se puso extremadamente lento, haciendo un profiling para ver que pasaba, vi que habían funciones que se llamaban miles de veces, en un plugin una función que recorría los sidebars tenia 2800 llamadas. :s

Rastreando mas a fondo, llegue a que la funciona asociada al registro de un filtro:

add_filter('sidebars_widgets', 'otw_sidebars_widgets', 100000);

Se llamaba mas de 100 veces, coloque un código en la función (otw_sidebars_widgets()) para forzar que se llame solo 1 vez:

global $contador;
$contador = $contador +1;
error_log("Entrando interno " . $contador);
if ($contador > 1) return $sidebars_widgets;

El plugin no se rompió, la pagina donde muestra los sidebars de ese plugin funcionan sin problemas, todo se ve igual, por lo visto no hacia falta que entre tantas veces, todo funciona bien, solo que mucho mas rápido.

Mi preocupación es, por que paso eso?, por que se llama cientos de veces esa función, y mi sitio todavía no esta rápido como se espera, o sea, otras funciones pueden estarse llamando repetidamente, esto es normal?

Alguna idea de donde puede estar el problema?

Gracias, Carlos
 
Y si te han hackeado y te han cambiado los comandos, yo he instalado un antivirus y wordfence también y te sorprenderias el nivel de ataques que recibo con tan pocas visitas como tengo todavía.
No se si el motivo del cambio de codigo ha sido ese que me da pinta de que si.Pero no viene mal un poco de protección o por lo menos saber por donde te vienen los palos.Además si alguien se loguea te manda un aviso a tu correo.
No se si te vladra de algo espero que sí.
:encouragement:
 
¿Por qué se llama cientos de veces esta función?
Porque así la programaron no hay más.

Para determinar la lentitud de tu sitio tienes que revisar todos los factores asociados como plugins, diseño, características del hosting, compresión de imágenes, compresión de códigos, cargas asincrónicas, etc.

Prueba tu sitio con el WP recién instalado con un theme default y sin plugins, ve activando las cosas una a una hasta llegar a la configuración actual y así localoza qué te está dando el problema, una vez localizado pues a comenzar resolverlo manualmente editando código no hay de otra salvo que haya alguna actualización de lo que esté dando el problema 😛
 
El que programo el tema o plugins era un idiota. :ambivalence: :topsy_turvy: 😛7: Se le escapo un bug, es comun, puedes ver que casi todos los temas lo viven actualizando por bugs :s:s
 
Atrás
Arriba