Como mejorar el rendimiento de una web


Cuando somos webmaster de un sitio web una de las cosas a las que debemos prestar atención es el rendimiento general de nuestro sitio, es decir, conseguir que el tiempo que tarda en cargar cada página sea lo más corto posible con el fin de no aburrir al usuario y que se vaya de nuestra web, quizá para siempre. Otra de las ventajas de la optimización de la web es la disminución del consumo de ancho de banda.

Aunque no hay unas reglas generales para detectar los problemas y el origen del problema de lentitud pueden ser muy diversos (base de datos sin índices, sobrecarga del servidor, excesivo consumo de memoria, etc) en mi experiencia se puede optimizar considerablemente el tiempo de carga de una web centrandonos en unos pocos puntos.

a) Disminuir el número de peticiones http. Hay formas de reducir el número de solicitudes http sin necesidad de comprometer el diseño de las páginas. Sobre todo en relación a las imágenes se puede disminuir el número de peticiones utilizando CSS sprites. Ésto es que varias imágenes de una pagina se combinan en una sola y se muestra

b) Disminuir el tamaño de la información de cada petición http. Ésto se puede conseguir, en relación a las imágenes, utilizando formatos de imagen adecuados y con la calidad más ajustada posible a la web. También se puede reducir comprimiendo los ficheros CSS o javascript y eliminando comentarios del código de la página. También debemos verificar que las páginas se estén sirviendo comprimidas utilizando directivas GZIP.

c) Cachear los contenidos descargados. Ésto se puede hacer utilizando Etags para cada tipo de contenido. Por ejemplo podermos hacer que el tiempo de expirado de las imágenes jpg sea de 1 año, por lo que el browser del usuario, al descargar la página en diferentes ocasiones, comprobará que ya dispone de la imagen y no la volverá a descargar, ahorrandonos así peticiones http y consumo de ancho de banda.

d) CSS al inicio y javascript al final. Con ésto conseguimos que la página se pueda comenzar a mostrar una vez descargados los CSS y los javascript al final de la página con lo que conseguimos que la renderización de la página y la descarga de los js puedan realizarse en paralelo.

e) Paralelizar la descarga de contenidos. Utilizando CDN para páginas con gran concurrencia de usuarios. Un CDN es un conjunto de servidores web distribuidos en varias localizaciones que nos permiten paralelizar la carga de contenidos de una página.

Para poder valorar éstos aspectos, y otros muchos, podemos utilizar dos herramientas online que nos facilitarán la vida y con las que podremos ver la evolución de nuestra página según los cambios que hagamos.

GTmetrix

websiteoptimization

En cualquiera de ellas nos informan, de manera bastante clara, los puntos más criticos que tenemos que abordar para mejorar el tiempo de carga.

0 comentarios: