it-swarm-es.tech

La velocidad del sitio web es horrible

Trabajo como desarrollador web aprendiz que se ha quedado a cargo del equipo web (todos mis colegas se han ido) y se ha quedado con una tarea imposible.

Tenemos un servidor Windows de 10 núcleos, con memoria más que suficiente, y aloja múltiples Joomla! sitios web, así como HTML personalizado y PHP sitios web. No hay problemas con los sitios web personalizados, toda la carga es instantánea. Sin embargo, todos los sitios web de Joomla! (todos son comercio electrónico ) son muy lentos y pueden tardar 30 segundos en cargarse.

He realizado múltiples pruebas de velocidad en los sitios web y créeme, sé lo que la mayoría de ustedes está pensando.

"Reduce el tamaño de la imagen y comprime CSS y JavaScript"

Ya he hecho esto El problema radica en TTFB (Tiempo hasta el primer byte), ya que esto puede tomar el total 30 segundos .

El siguiente sitio web le muestra el TTFB.

http://www.bytecheck.com/results?resource=http%3A%2F%2Fhealthypetstemp.co.uk.5-189-187-215.premierepos.co.uk%2Fen%2F

Este es solo uno de los Joomla! Los sitios web que alojamos y yo podemos proporcionar más si es necesario. También puede verificar las velocidades usando Google Chrome DevTools, pero solo le dirá lo mismo.

Como dije, esto es lo que está causando el problema y agradecería enormemente alguna ayuda en este asunto.

Gracias por adelantado.

6

Ok, comencemos desde el principio.

En primer lugar, debe ejecutar la prueba Lighthouse de Chrome para detectar cualquier problema relacionado con el rendimiento. En Chrome, presione F12, luego vaya a la pestaña Audit.

Ejecuté una auditoría en el escritorio sin limitación y el rendimiento es simplemente terrible.

Entonces, primero lo primero, deshabilite el complemento Joomla JCH Optimize para que pueda ver todos los activos que se están cargando.

1. General:

Parece que está cargando demasiados activos y su lista Node tiene más de 4.5k cuando debería estar por debajo de 1.5k. Comience a pensar en cambiar la estructura de su página y mover ciertos elementos a otras páginas si es necesario be. Solo muestra contenido crítico en la página de inicio.

En cuanto a los muchos activos, un ejemplo es que está cargando 7 fuentes. Esto simplemente no está justificado en absoluto. Si desea cargar FontAwesome para íconos, es lo suficientemente justo, pero no necesita otras 6 fuentes para diseñar su contenido. Este es un diseño pobre. Elija 1 fuente para su marca, quédese con ella y elimine el resto.

2 - HTTP/2.0:

Obtenga un certificado SSL gratuito de LetsEncrypt , instálelo en su servidor, luego habilite HTTP/2.0. Esta actualización cambia la forma en que se obtienen los activos y, por lo tanto, reduce el tiempo necesario para cargarlos.

3 - LazyLoad:

Un buen sitio web en 2018 representa el HTML primero con una pequeña porción de CSS crítico para que la carga de la página inicial no se vea por todas partes. Una vez que se carga el HTML básico, luego carga lentamente su CSS, JS e imágenes. Lo que estás haciendo actualmente es cargar todos los CSS y JS en el <head>, lo que significa que el navegador esperará hasta que se hayan descargado, antes de continuar procesando el resto del HTML.

Prefiero hacer esto a nivel de plantilla (más rápido) en lugar de depender de complementos ... pero luego, soy un desarrollador de IU, así que desarrollo mis propias plantillas.

Es posible que desee considerar crear su propia plantilla.

Alguien con quien he trabajado personalmente en el CMS de Joomla tiene excelentes tutoriales sobre cómo crear su propia plantilla:

https://www.youtube.com/channel/UCSinMbPPdEPx6Hw5QcueITg/featured

4 - SVG'S:

Hay varias imágenes en su sitio que pueden ser SVG en lugar de PNG. Estás cargando imágenes de 200x200 píxeles y se procesan a 94x94. Comience a usar SVG, que en la mayoría de los casos será de menor tamaño y no perderá claridad cuando la página se amplíe o en un dispositivo de retina.

5 - Imágenes:

Sus imágenes son simplemente demasiado grandes para lo que son. Cada imagen del control deslizante tiene entre 250 kb y 500 kb. Además, las imágenes no tienen carga lenta. Para imágenes como fotos o cualquier otra cosa que no funcione de manera óptima como SVG, use WEBP, que es un formato desarrollado por Google. Sin embargo, necesitará tener un respaldo para los navegadores que no lo admiten.

5 - Almacenamiento en caché:

No utilice PHP para almacenar en caché sus activos. Hágalo a nivel del servidor (Apache, NGinx, etc.). Eche un vistazo a algunos tutoriales sobre esto o quizás hable con su proveedor/servidor de alojamiento administrador judicial.

Espero que esto le brinde una pequeña idea para ayudarlo a mejorar su producto.

3
Lodder

¿Ya ha realizado estas comprobaciones básicas ?

1 - Habilitar el almacenamiento en caché de Joomla

Esto ya aumentará significativamente los tiempos de carga de tu página

Vaya a sus complementos y abra ¡Complemento de caché de página Por lo general, ya estará configurado de esta manera:

enter image description here

Guardar y cerrarlo

2 - Configure su caché TTL y comportamiento

Vaya a Sistema - Configuración global - Sistema (-tab)

enter image description here

  • Habilite el almacenamiento en caché en "ON progresivo"
  • establecer el tiempo de caché de acuerdo con esto (de nuestras mediciones)
    • 30 o menos para páginas de alta carga con más de 200 visitas por día
    • 60 para páginas de carga media con más de 100 visitas por día
    • 120 para páginas de baja carga con más de 50 visitas por día
    • 240 para páginas de muy baja carga con más de 20 visitas por día

Estos valores los hemos acumulado durante aproximadamente 1 año midiendo varias páginas. Si tiene más de 200 visitas al día, ya sabrá lo que hace desde el tiempo de caché. Pero una regla general: si actualiza regularmente su contenido (digamos en intervalos medios de 15 minutos), su tiempo de caché debería coincidir, por supuesto, con sus necesidades (15 minutos o menos). Si puede vivir con una entrega de contenido obsoleta por más tiempo, puede mantener un tiempo de caché más largo.

Inconvenientes Pero no olvide en ninguna actualización de Joomla/plugin/extensión que este caché podría producirle un error 500. En este caso, simplemente puede soltar el caché en el Menú - Sistema - Borrar caché (Eliminar todo) Pero aquí debe tener un ojo claro sobre él. Significa que necesitas monitorearlo y verificarlo.

3 - Agregue un minificador y un plugin de precalentamiento

Hay múltiples complementos por ahí. También realmente depende de qué tan bien te guste el complemento. Todos hacen lo mismo:

  • minificar CSS, JS, HTML
  • concatenar múltiples archivos CSS en uno o pocos
  • concatenar múltiples archivos JS en uno o pocos
  • concatenar múltiples archivos HTML en uno o pocos

A veces, incluso pueden ayudarte a mejorar la conversión de imágenes o la concatenación de imágenes en sprites. Pero esto no aumenta tanto el rendimiento de su página. Aquí estás haciendo el nivel de "cereza en el pastel"

2
laendle

Por lo general, esto se debe a un fragmento de código mal diseñado, un complemento incorrecto, algunos errores o enfoques incorrectos en el código, y/o consultas mysql no optimizadas.

A veces también puede ser la combinación con la configuración del servidor.

Debe depurar y realizar una serie de pruebas y experimentos, p. deshabilitar complementos, cambiar plantillas, etc.

En algunos casos, los complementos de optimización como jch pueden no funcionar tan bien y dar como resultado un sitio web más lento.

Asegúrate de usar también las últimas versiones de Joomla y extensiones e informar cualquier problema a sus desarrolladores.

1
FFrewin