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.
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.
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
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