Optimización web

Bookmark and Share
Voto 0 votos

La Web ha cambiado drásticamente en los últimos años. Desde el año 2000 a esta parte la Web ha evolucionado dejando de ser un medio estático de un solo sentido para transformarse en una plataforma dinámica para servicios interactivos, tales como compartir fotos, música o vídeos.

Cuando en el 2000 la casi totalidad del volúmen de tráfico era causada por los formatos tradicionales de imágenes y HTML, en días corrientes casi todo el volúmen de tráfico se compone de vídeos, actualizaciones binarias de software y descargas . Debido a este cambio de videos clips y descargas, el tamaño de la respuesta media de los sitios web ha aumentado de 12,294 a 68,275 bytes, un factor de 5,5 veces mayor. El caché y la eficiencia de la Web han disminuido mientras que han aumentado las respuestas dinámicas del 21,2% al 37,1%. Estos cambios muestran cómo la Web ha pasado de información estática a dinámica y como ha aumentado el contenido de medios enriquecidos.

La velocidad de descarga tiene vital importancia en una página web, ésta depende directamente del tipo de conexión de los internautas, la que a su vez varía segun la región y continente.
En la comparativa mundial de velocidad de conexión a internet, Uruguay ocupa el lugar 83 con una velocidad promedio de 1,050kbps. Liechtenstein, Estonia, y Suecia son los países con mayor velocidad del planeta.

Velocidad de conexión a Internet (comparativa mundial)

Entre otros consejos sobre optimización para sitios web, se recomienda que el tamaño total de cada página no supere los 100 Kb, que la cantidad total de objetos no sea mayor a 20 y siempre reducir al máximo la cantidad de solicitudes (requests) al servidor en los archivos externos, como .css o .js. El número de solicitudes por cliente se ha más que duplicado, pasando de 7.074 solicitudes en 2000 a 14.670 solicitudes en 2007, mientras que el promedio de tamaño de página se ha duplicado de 2000 a 2007.

tamaño total de un sitio web (promedio)

En el sitio WebSiteOptimization.com encontramos un test muy útil a la hora de checkear la correcta optimización de un sitio web.
Este sitio web realiza un test de velocidad con el fin de que el autor o desarrollador de una página web pueda mejorar su rendimiento. Ud Introduce su URL para calcular el tamaño de la página, la composición, y el tiempo de descarga. El script calcula el tamaño de cada uno de los elementos y las cantidades de los distintos componente de la página web. Sobre la base de estas características el script entonces ofrece asesoramiento sobre cómo mejorar el tiempo de carga de la página. El script incorpora las últimas y mejores prácticas, directrices, tendencias y técnicas de optimización web en sus recomendaciones.

Enlace: Web Page Analyzer (inglés).

Aquí parte del resultado del test de optimización para pixelmod.net:

Object type Size (bytes) Download @ 56K (seconds) Download @ T1 (seconds)
HTML: 4553 1.31 0.42
HTML Images: 0 0.00 0.00
CSS Images: 174554 41.19 7.32
Total Images: 174554 41.19 7.32
Javascript: 114322 23.98 1.81
CSS: 17687 4.12 0.69
Multimedia: 0 0.00 0.00
Other: 0 0.00 0.00

Obviamente que el sitio web en cuestión se encuentre debidamente optimizado favorece la integración y garantizará el éxito. Optimizar el código Xhtml de una página maximizará la audiencia potencial de la misma, consulte las ventajas de optimizar el código Xhtml de una página web.

Cuando se trata de portales extensos o redes sociales de intercambio masivo, como MySpace, Flickr o Facebook, es recomandable el uso de Redes de Distribución de Contenido (CDN´s).
Un CDN es una colección de servidores web distribuidos en varias ubicaciones para ofrecer contenidos de manera más eficiente a los usuarios. El servidor seleccionado para la entrega de contenido a un usuario concreto está típicamente basado en una red de medida de proximidad. Los CDN´s agilizan la distribución de archivos estáticos (imágenes, hojas de estilo, javascripts, multimedia...) permitiendo tener el contenido replicado en múltiples servidores por todo el mundo, acelerando la descarga de los mismos de cara a los clientes, puesto que éstos siempre se sirven desde la ubicación más cercana al usuario. Suelen ser sistemas demasiado caros para que pequeños proyectos o particulares se planteen siquiera su uso aunque existen versiones gratuitas. Mediante el uso de un CDN se mejora el rendimiento y el tiempo de actividad de un sitio web

Coral es un servicio CDN gratuito peer-to-peer, compuesto por una red mundial de servidores proxy y nameservers. Permite al usuario correr un sitio web que ofrezca alto rendimiento y reúna gran demanda.
Google y el App Engine es otra opción accesible para pequeñas compañías. Visite el siguiente artículo en Maestros del Web, donde enseñan en 10 pasos a aprovechar la enorme granja de servidores de Google para implementar (casi gratis, a partir de 500MB cobrarán por la transferencia) tu propio CDN.


A continuación, un truco para optimizar la carga de archivos JavaScript en un sitio web.

Usted puede hacer que el contenido de la pantalla se muestre más rápidamente al cargar en el navegador si retrasa o aplaza la carga de archivos externos de JavaScript. Cualquier referencia externa a archivos JavaScript en la cabecera (<head>) del documento XHTML será ejecutada antes de que cualquier contenido en el cuerpo (<body>) del documento aparezca en pantalla. Una forma de evitar esto es retrasar la carga mediante el uso de funciones "talón", ejemplo:

<script ...>
<!--
function talon(){};
// -->

</script>
</head>
<body>
...
<script src="/scripts/talon.js" type="text/javascript"></script>
</body>

Finalmente, una lista de consejos importantes a tener cuenta a la hora de contruir una web. (fuente: mangasverdes.es)

  • Realiza pocas peticiones HTTP
  • Haz uso de CDN
  • Añade un 'Expires header' (función que informa de la actualización de la página)
  • Habilita la compresión Gzip
  • Pon el CSS al principio de todo
  • Pasa los JS al final
  • Evita los comentarios en CSS
  • Pon tu CSS y tus JS en un archivo externo
  • Reduce las consultas DNS
  • Minimaliza tus JS
  • Evita las redirecciones
  • Elimina los scripts duplicados
  • Desactiva los ETags
  • Si usas AJAX, que sea cacheable y pequeño

1 TrackBack

URL de TrackBack: http://pixelmod.net/cgi-bin/blog/mt-tb.cgi/62

Gracias por la información. Lo cierto es que sin tráfico o entradas a tu web, dejan de tener sentido las webs. Las visitas son lo que le da vida y más si existe un feedback con los usuarios. También se puede aprender mucho de ellos. Leer más

1 comentario

| Escribir un comentario

Muy bueno, gracias

1 manera de optimizar una página web puede ser armando una imagen gigante con todas las pequeñas imagenes ( o todas directamente) , iconos, menu, etc. y luego con css aplicar las coordenadas para cada elemento
otra puede ser reducir el texto para cada nombre de archivo, variable, atributo, etc, provocaria una disminución del tamaño final de la página, habria que ver si esto vale la pena intentarlo. si tuvieramos nombres de archivos tales como: administrador-funciones-javscript.php, cambiarlo por a-f-js.php, o nombres de atributos como: contenedor-encabezado-principal, cambiarlo por c-e-p , en fin,,,,
    si el promedio fuera 50 caracteres economizados por archivo, teniendo en cuenta que 1 caracter es un byte, en 20 archivos se ahorraría 1kb , a esto le sumamos otro 5kb por remover los espacios en blanco del codigo de todos los archivos (un espacio en blanco = 1byte), son 6 kb ahorrados cada 20 archivos , ,,, no vale la pena

Abril

Dom Lun Mar Mie Jue Vie Sab
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30