Hola gente, bueno, hoy quiero mostrarles como
optimizar
una página
web
y lograr un alto performance. Tener optimizada tu página es muy importante ya que si se
carga
lento el riesgo de que los internautas que visiten tu página terminen huyendo antes de que vean lo que tenés para ofrecer es muy alto. Por algo, empresas como Google o Yahoo! que en cierta medida viven por la publicidad que hay en tu página, insisten tanto en que la tengas optimizada.
Empecemos:
Primero que todo debemos saber en que estado se encuentra nuestra página web . Para ser concisos, voy a sugerir solo dos servicios, uno es un pluging y otro es on-line:
El pluging se llama Page Speed es de Google y lo conseguís acá:
La Página es:
En mi caso, la página que yo pongo como ejemplo de optimización es la de una estancia que me pidió, por cuestiones geográficas, que la página les cargara bien en cualquier sitio , aun teniendo dial-up o gprs. Pero eso si, querían que tenga imágenes y una buena estética. Entonces, el secreto era que esté bien optimizada. La página en cuestion es de Estancia La Caledonia Sur - - y al día de hoy logré que la página respondiera con 96/100 en el pluging de Google y en el sitio logré 98/100 lo que es muy buen resultado, 95% y 98% respectivamente.
En PingDom:
En Page Speed Pluging:
Optimizar imágenes, parte 1
Propiedades de la imagen.
Propiedades de la imagen.
TODAS las imágenes destinadas a una página web , tienen que pasar por Photoshop. Primero que todo, tenemos que modificar ciertos parámetros importantes:
Tipo de Color: Para la
web
es recomendado siempre, por defecto, usar RGB primero porque este es el utilizado por las pantallas y segundo porque implica un canal de color menos, lo que representa menos peso que una en CMYK.
Pero el secreto está en utilizar la menos cantidad de colores posibles, acá te doy una guía:
Si la imagen es un icono en blanco y negro o gris, usá Duotono o Escala de Grises.
Si la imagen es un icono a color, usa Color Indexado, el mínima cantidad de colores que puedas.
Si la imagen requiere más colores, como cualquier imagen de dimensiones lo que necesitas es un perfil RGB.
Hacé esto con todas imágenes que puedas.
Canales: Para la
web
se recomienda el mínimo: 8 Bits/canal. (ver arriba)
Optimizar imágenes, parte 2
Redefinir el tamaño y peso de las imágenes
Redefinir el tamaño y peso de las imágenes
Ahora que tenemos optimizadas las propiedades, tenemos que redefir tamaño y peso de las imágenes para que no pesen más de la cuenta y que sin embargo mantenga la calidad. Photoshop tiene una función para optimizar imágenes para la Web . La función se encuentra en:
Archivo
Guardar para
Web
y dispositivos.
O bien con el atajo de teclado Alt+Mayús+Ctrl+S.
Acá podes seleccionar el tipo de archivo, la compresión y el tamaño ideal para la imagen.
Es importante que redimenciones las imágenes a la medida justa, tal como se van a ver en el navegador.
También es importante que compares la calidad de las imágenes que optimizas, para eso la utilidad brinda la posibilidad de ver el original y cuatro posibles optimizaciones (ver en la imagen).
Si querés un efecto de rapidez, no te olvides de usar el Método de progresivo de JPG, que te permite cargar la imagen de forma progresiva, de menor calidad a mayor. El mismo método pero para GIF y PNG se llama "Entrelazado" (aparece en la imagen).
Aviso: si no tenés Photoshop Cs4 o superior, la aplicación se llama Image Ready y generalmente viene en el mismo paquete de instalación de Photoshop Cs3 o inferiores, buscalo.
Los Iconos
El Rollovers y los Sprites
Aglomerar iconos en una sola imagen.
En la página de mi ejemplo, agrupé los iconos de la siguiente manera:
(arrastra las imágenes para darte cuenta de lo que te digo, que son un bloque.)
y esta otra:
Si querés saber como hacerlo, el mejor tutorial es este:
http://www.librosweb.es/css_avanzado/capitulo1/rollovers_y_sprites.html
Imágenes en diferentes servidores
Para distribuir la carga
Es un paso muy sencillo que consiste en alojar buena parte de las imágenes de la página en otro servidor o sitio diferente al servidor principal, para, que de esa manera el navegador pueda realizar más peticiones al mismo tiempo. Recordemos que los navegadores tienen un limite de conexiones simultaneas de entre 4 y 8 por servidor, por tanto si hacemos este paso, el navegador podrá solicitar el doble de información. Sitios que recomiendo y tranquilamente podrían funcionar para alojar las imágenes de tu sitio son, entre muchas otras:
http://flickr.com/
(si Facebook, podes alojar allí algunas imágenes y copiar el link de la imagen en tu html)
http://images*hack.us/
Esta modificación en la forma que administras tus imágenes en paralelo, muestra un cambio visible y eficaz en la carga de tu página.
El caché
Especificar al caché del navegador cuanto tiempo debe guardar los contenidos.
El Rollovers y los Sprites
Aglomerar iconos en una sola imagen.
Si, por ejemplo tenés 20 iconos en la página, el navegador del cliente (tu visitante) tiene que enviar al servidor 20 peticiones diferentes, que congestionan el flujo de datos e impide que otros datos e imágenes se descarguen hasta que estos 20 iconos no terminen de descargarse completamente.
Para esto existe una solución, que aunque parezca un tanto incomodo (porque requiere modificar tanto el HTML como el CSS) organizar tu página con Rollovers y Sprites hará una gran diferencia en la carga se tu página.
Para esto existe una solución, que aunque parezca un tanto incomodo (porque requiere modificar tanto el HTML como el CSS) organizar tu página con Rollovers y Sprites hará una gran diferencia en la carga se tu página.
En la página de mi ejemplo, agrupé los iconos de la siguiente manera:
(arrastra las imágenes para darte cuenta de lo que te digo, que son un bloque.)
y esta otra:
Si querés saber como hacerlo, el mejor tutorial es este:
http://www.librosweb.es/css_avanzado/capitulo1/rollovers_y_sprites.html
Imágenes en diferentes servidores
Para distribuir la carga
Es un paso muy sencillo que consiste en alojar buena parte de las imágenes de la página en otro servidor o sitio diferente al servidor principal, para, que de esa manera el navegador pueda realizar más peticiones al mismo tiempo. Recordemos que los navegadores tienen un limite de conexiones simultaneas de entre 4 y 8 por servidor, por tanto si hacemos este paso, el navegador podrá solicitar el doble de información. Sitios que recomiendo y tranquilamente podrían funcionar para alojar las imágenes de tu sitio son, entre muchas otras:
http://flickr.com/
(si Facebook, podes alojar allí algunas imágenes y copiar el link de la imagen en tu html)
http://images*hack.us/
Esta modificación en la forma que administras tus imágenes en paralelo, muestra un cambio visible y eficaz en la carga de tu página.
El caché
Especificar al caché del navegador cuanto tiempo debe guardar los contenidos.
Para especificar el tiempo que un elemento debe quedar almacenado en el navegador y, de esa manera, evitar que se recargue nuevamente de forma innecesaria, debemos modificar el archivo .htaccess que se encuentra en la carpeta public_html en nuestro servidor. Si tenes CPanel, el camino es este:
Entrá a tu servidor con CPanel, pide nombre de usuario y contraseña.
Entrás al administrador de archivos de CPanel.
Te abre una ventana, elejí la segunda opcion:
Web Root (public_html/www)
Buscá el archivo .htcaccess, seleccionalo y abrilo con el Editor de Código que esta en la parte superior de la página.
Debajo de todo el código, en la parte más baja colocás el siguiente texto:
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault A3600
<filesmatch ".(jpg|JPG|gif|GIF|png|css|ico|js)$">
ExpiresDefault "access plus 7 day"
</filesmatch>
</ifmodule>
Salvas los cambios y listo.
¡Listo!
Cuando hayas terminado los 6 pasos, volvé a probar tu página con Page Speed o con PingDom y nota la diferencia!
Pagina del ejemplo
(diseñada y optimizada por mí)
Entrá a tu servidor con CPanel, pide nombre de usuario y contraseña.
Entrás al administrador de archivos de CPanel.
Te abre una ventana, elejí la segunda opcion:
Web Root (public_html/www)
Buscá el archivo .htcaccess, seleccionalo y abrilo con el Editor de Código que esta en la parte superior de la página.
Debajo de todo el código, en la parte más baja colocás el siguiente texto:
<ifmodule mod_expires.c>
ExpiresActive On
ExpiresDefault A3600
<filesmatch ".(jpg|JPG|gif|GIF|png|css|ico|js)$">
ExpiresDefault "access plus 7 day"
</filesmatch>
</ifmodule>
Salvas los cambios y listo.
¡Listo!
Cuando hayas terminado los 6 pasos, volvé a probar tu página con Page Speed o con PingDom y nota la diferencia!
Pagina del ejemplo
(diseñada y optimizada por mí)
Probala y contame que te parece!