• Saltar a la navegación principal
  • Saltar al contenido principal

Sebastián Thüer

Comunicación, diseño y tecnología

  • Acerca
  • Blog
  • Contacto
  • Show Search
Hide Search

Sebastián Thüer

Buenas prácticas para mejorar la velocidad de tus sitios web

Sebastián Thüer · 19.10.2009 ·

speed
El tiempo de carga de un sitio es uno de los elementos más críticos para la experiencia de usuario. Y también uno de los temas técnicamente más complejos. Muchas veces los diseñadores web piensan que no se puede hacer mucho a respecto excepto contratar un hosting mejor o reducir el  tamaño de los elementos multimedia tanto como sea posible.

Error: Existen buenas prácticas que se pueden implementar para favorecer un mejor aprovechamiento de los recursos disponibles. No son complicadas de implementar y para hacerlo solo necesitamos conocerlas y hacernos con el hábito La mayor parte de los consejos han sido expuestos en Best Practices for Speeding Up Your Web Site, un excelente artículo del equipo de desarrollo de Yahoo donde analizan la forma de optimizar los tiempos de carga. Esta síntesis también incorpora mi experiencia profesional

1. Medir y analizar

La página web del periódico Clarín analizada con YSlow
La página web del periódico Clarín analizada con YSlow

Lo primero que tenemos que hacer para saber si podemos mejorar los tiempos de carga de nuestra página web es medir. Existen dos herramientas específicas para ello: YSlow de Yahoo y Page Speed de Google. Ambas funcionan sobre Firefox y requiern tener instalado Firebug, uno conocido plugin para Firefox que utilizan los desarrolladores para detectar errores y problemas en una página.

Al ejecutar cualquiera de estas herramientas en nuestra página obtendremos un informe donde nos indicarán aquellos aspectos que debemos mejorar para acelerar la carga de nuestras páginas.  Este es nuestro punto de partida para comenzar a mejorar.

2. Minimizar las peticiones al servidor

Foto por Whrelf Siemens (sxc.hu)
Foto por Whrelf Siemens (sxc.hu)

Es la clave para obtener sitios más rápidos. La mayor parte del tiempo los usuarios están esperando que se descargue contenido: la propia página web pero también los archivos que tiene vinculados como hojas de estilo, JavaScript, imágenes, animaciones en Flash. La especificación del protocolo HTTP 1.1 establece que cada navegador limite el número de descargas simultáneas a 2. Por lo tanto, es mejor unificar todas las hojas de estilo en un solo archivo y hacer lo mismo con JavaScript.

En cuanto a las imágenes, una técnica interesante es usar CSS Sprites que consiste básicamente en crear una única imagen con todos los gráficos y luego trabajar mediante CSS con el posicionamiento. Por ejemplo, puedo crear la siguiente imagen para un menú:

speed-file

Como vemos están todas las opciones y hay dos versiones: una normal y otra para cuando el usuario coloca el cursor encima. Mediante CSS simplemente podemos indicarle que desplace la imagen hacia arriba. Si te interesa esta técnica concer más sobre esta técnica de CSS Sprites te recomiendo leer “CSS Sprites: Image Slicing’s Kiss of Death” en A List Apart.

3. Optimizar el tamaño de tus archivos

ruler size
Seguramente el código que generás para una página web está hecho a tu medida para que puedas comprenderlo fácilmente. De esta forma el desarrollo y las actualizaciones son mucho más fáciles. Una idea interesante es crear una copia optimizada de estos archivos y utilizarla en lugar de los originales. Lo de optimizar tiene dos partes. Por un lado revisar el código para ver si no hay información redundante. Ejemplo: En lugar de esto:

H2 {
Font-family: Arial, Helvetica, sans-serif;
Font-weight: bold;
Font-size: 1.8em;
color: #cc0000;
}

H3 {
Font-family: Arial, Helvetica, sans-serif;
Font-weight: bold;
Font-size: 1.4em;
color: #cc0000;
}

H4 {
Font-family: Arial, Helvetica, sans-serif;
Font-weight: bold;
Font-size: 1.2em;
color: #00000;
}

¿Por qué no definir para las 3 etiquetas todo lo que tienen en común y luego modificar el tamaño y el color que es lo único que varía?

H2,H3,H4 {
font:bold  1.8em Arial, Helvetica, sans-serif;
color: #cc000;
}

H3 {
font-size: 1.4em
}

H4 {
font-size: 1.2em;
color: #000000;
}

La otra parte es comprimir el código eliminando comentarios, tabulaciones, espacios y otros elementos que el navegador no necesita par interpretar correctamente la página. Esto es especialmente importante para archivos externos como los JavaScript o CSS. Hay dos herramientas conocidas para hacer esto: YUI Compressor y JSMIN.

4. Emplear de forma inteligente la caché

idea

El protocolo HTTP 1.1 incorpora una serie de etiquetas que permiten especificar si el contenido de una página puede alojarse en la memoria caché o no.  Como sabemos, el contenido cacheado se lee más rápido porque se consulta una vez y luego queda alojado en la memoria que reserva el navegador.

Si tenemos una página estática que no se va a modificar, lo más lógico sería establecer que se pueda cachear el contenido de forma indeterminada. Lo hacemos con la siguiente etiqueta:


Si sabemos que el contenido se va a mantener sin cambios hasta una cierta fecha podemos especificar la “fecha de vencimiento” de la página:


Esto significa que el contenido de la página está vigente hasta las 10 de la mañana del 26 de octubre de 2009. Un dato importante: el día y hora se especifica en GMT, es decir habrá que ajustar el valor según la diferencia que tengamos en el uso horario con el meridiano de Greenwich. El tema del manejo de caché es muy interesante y realmente útil si tu web tiene usuarios que retornan a ella. Podés leer la especificación del HTTP 1.1 a respecto o visitar Web-Caching.com, donde hay un buen tutorial sobre cómo funciona el tema. Otro buen tutorial de caché lo encontrás Mnot.net.

5. Activar GZIP

Foto por Ale Paiva (sxc.hu)
Foto por Ale Paiva (sxc.hu)

Según las mediciones de Yahoo el 90% del tráfico de Internet se realiza a través de navegadores que soportan la compresión de datos. GZIP es el formato más conocido y extendido para ello. Este tema se maneja directamente en la configuración del servidor.

Es posible establecer qué tipo de archivos se enviarán comprimidos y para evitar problemas lo mejor es limitar GZIP solo a los archivos que contengan texto: HTML, CSS y Javascript, por ejemplo. Aplicar GZIP a una imagen JPG o un documento PDF puede producir dos efectos no deseados: incrementar el consumo de CPU del servidor y terminar incrementando el tamaño final del archivo.

6. Usar archivos externos (¡y ubicarlos bien!)

files

Lo primero es algo elemental: el código JavaScript y CSS de una página debe estar en archivos externos. Hay un mejor rendimiento porque el archivo se aloja en la caché y por lo tanto se descarga una sola vez. Además, es mucho más sencillo hacer un mantenimiento y modificamos los cambios en un solo lugar.

El otro tema es ubicarlos correctamente. Los desarrolladores de Yahoo han hecho una serie de test y el mejor rendimiento se obtiene ubicando el CSS al comienzo y el JavaScript al final. Siempre que sea posible hay que hacer esto. Al ubicar el CSS dentro del HEAD de la página permitimos que la página se pueda construir de forma progresiva a medida que se descarga el contenido. Es bastante desagradable comenzar a leer un texto y que cambie su formato porque el CSS que lo modifica está al final de la página.

Con JavaScript sucede al revés. Mientras se descarga un archivo JavaScript no se procesa otra petición, por lo cual lo más óptimo resulta ubicarlos al final una vez que se descargó el resto del contenido de la página. Esto no siempre es posible ya que muchas veces se requiere inicializar algunos elementos al inicio del documento, especialmente se va a escribir una parte de la página web utilizando document.write. Pero siempre que sea posible la opción de cargar el JavaScript al final es preferible. Y como vimos en el apartado sobre minimizar las peticiones al servidor, mejor unificar todo el código en un único archivo.

6. No recargar tu servidor

servidor

La elección de un hosting adecuado es una tarea que no debe desvalorarse. Hay que invertir tiempo, organizarse y tener algunos conocimientos técnicos para realizar una buena decisión. Pero a pesar de todo puede que tu servidor te esté quedando chico porque el tráfico siguió creciendo pero los recursos disponibles no.

Una alernativa más o menos rápida es aprovechar los diferentes servicios de hosting de imágenes y video que hay disponibles como Flickr, YouTube u otros. El video particularmente consume mucho ancho de banda y si nuestro hosting no es potente mejor alojarlo en otro lado.

Otra opción a considerar es utilizar la CDN de Google que incluye algunas librerías de uso frecuente como jQuery, Prototype o inclusive la Yahoo User Interface Library (YUI). Una Content Delivery Network o CDN es una red distribuida de computadoras con la misma información que es ofrecida por el servidor más cercano al usuario. Además, está la posibilidad el use algún servicio de Google con lo cual alguna de estas librerías estarán en la caché de su navegador.

Existen soluciones CDN profesionales como Amazon S3/Cloud Front, Akamai o EdgeCast Networks pero en general son muy costosas para un sitio web normal.

Otra técnica interesante para mejorar el rendimiento es usar subdominios para alojar algunas partes de tu sitio como lo explican en Maestros del Web. Como un servidor puede responder a un número limitado de peticiones al mismo tiempo una posibilidad es desviar parte del tráfico a otro servidor. La forma más sencilla es emplear un subdomino para el contenido estático como pueden ser imágenes o código JavaScript. Pero antes de meter mano esto lo mejor es hablar con la empresa que te proporciona el hosting y verificar que podés hacer esto.

Conclusión

Con el crecimiento de las conexiones de banda ancha también ha crecido la complejidad de los sitios web y el tamaño de las páginas. No hay que olvidar que la velocidad es un elemento fundamental en la experiencia del usuario y por lo tanto cualquier proceso de rediseño o mejora debe incluir mejoras en este apartado.

Más allá de contar con un buen servicio de hosting adecuado al tráfico y las necesidades del sitio hay algunos aspectos concretos sobre el cual los diseñadores web pueden trabajar para obtener un mejor rendimiento de sus páginas. El primer paso es medir el rendimiento de su sitio web con herramientas como YSpeed o PageSlow. Y a partir de allí implementar las técnicas apropiadas que te permitan aprovechar al máximo tu servidor como eliminar el número de conexiones simultáneas, reducir el tamaño de los archivos, implementar la compresión de datos, emplear con inteligencia la caché del navegador y aprovechar los recursos que ofrecen las grandes empresas especialmente para archivos de gran tamaño como videos.

Y si todo esto no alcanza es hora de estudiar más, contratar un hosting mejor o consultar con un especialista.

Avance del estado de la blogósfera 2009

Sebastián Thüer · 16.10.2009 ·

Se está desarrollando la Blog World Expo en Las Vegas y el CEO de Technorati Richard Jalichandra ofrece datos preliminares sobre el estado de la blogósfera anglosajona en el 2009 con un interesante perfil de los usuarios que se puede resumir en el siguiente gráfico:

Clasificación de los bloggers según el estudio de Technorati
Clasificación de los bloggers según el estudio de Technorati

El grupo de personas que tiene su blog simplemente por diversión sigue siendo por lejos el más numeroso (72%) mientras que las restantes categorías podrían agruparse dentro de los bloggers profesionales (28%).

  • Amateurs: Son bloggers por placer que no buscan rédito económico. Dedican a su actividad un promedio de media hora por día y no prestan demasiada atención a las análticas de sus blogs.
  • Part-time: Previsiblemente considera su actividad como un ingreso secundario y sus temas giran entorno a compartir la experiencia profesional. Su principal objetivo es atraer potenciales clientes a su negocio.
  • Full-time: Su princpal actividad es escribir para un blog y en el 22% de los casos el blog es su propia empresa. Solo el 10% dedica más de 40 horas semalanes la actividad.
  • Corporativos: Escriben para empresa para compartir conocimientos. En el 53% de los casos el objetivo es atraer nuevos clientes a la organización.

El estudio incluyó una investigación cuantitativa a 2900 bloggers, datos cualitativos de entrevistas a 20 de los principales referentes en el mundo de los blogs e información de la base de datos Technorati. Según el estudio 2 de cada 3 bloggers profesionales son hombres, el 60% tiene entre 18 y 44 años y el nivel educativo es superior a la media.

Un punto interesante es en relación a los blogs y el resto de los medios sociales. El 73% de los bloggers tiene Twitter frente al 14% de la población general y su principal uso es para promocionar su blog. En general se notó un incremente de la actividad de los bloggers profesionales y menos de los amateurs. Sobre las razones por la que dejaron de escribir tan seguido luego de las razones personales como familia o trabajo (64%) aparece el paso al microblogging (34%) y una mayor actividad en redes sociales (32%).

¿Cómo ganan plata los bloggers profesionales? Básicamente mediante avisos (40%), avisos en resultados de búsqueda (39%) y programas de afiliados (36%). Solo un 8% reconoció generar ingresos porque recibe dinero por escribir un post.

Si te interesan ver más detalles está disponible la keynote de Richard Jalichandra. También podes ver el siguiente video donde es entrevistado por la gente de la Blog Wordl Expo 2009 Las Vegas

Vía TechCrunch.

Actualización 20/10/2009: Ya está el informe final publicado en Technorati.

Las marcas con mayor presencia en medios sociales: Google, Apple y Microsoft

Sebastián Thüer · 14.10.2009 ·

Sysomos, la empresa que elaboró el estudio
Sysomos, la empresa que elaboró el estudio

¿Cuáles son las marcas más populares en los medios sociales? Google, Apple y Microsoft son quienes concentran la mayor parte de la atención según un estudio realizado por Sysomos. Hay que considerar dos cuestiones importantes:

  • Muestra: Solamente se incluyen las 20 marcas más importantes de acuerdo con el ranking de las marcas más valiosas publicado por Interbrand.
  • Localización: Abarca Estados Unidos, Canadá y Reino Unido. Según los investigadores no hay variaciones sensibles en el norte anglosajón.

Que se hable mucho no significa que se hable bien y quienes salen mejor parados son Samsung, Nokia e Intel. En cambio, el sentimiento negativo prevalece en McDonalds, Marlboro y Toyota.

Hay algunas primer observaciones que son bastante obvias como medir la correlación entre la posición global de la marca y su penetración en los medios sociales. Sólo Microsoft conserva el mismo escalón -tercer peldaño en ambos casos- y hay saltos importantes como Apple que es la marca #20 pero es la segunda más nombrada en los social media. En cambio, Coca Cola es la primer marca mundial pero solo trepa hasta el puesto 12 en menciones, algo parecido a IBM cuyo ranking de marca es #2 pero recién aparece en el puesto 15 aunque en el caso de IBM es una marca con una percepción bastante positiva (cuarto lugar).

Si alguien todavía piensa que los medios sociales son solo una moda debería tomar nota de que la Federal Trade Comission ya los regula, varias empresas miden su impacto -la mencionada Sysomos pero también SocialMetrix y de una forma más elemental SocialMention– y cualquier compañía que trabaje seriamente tiene políticas sobre social media para sus empleados.

Vía ReadWriteWeb.

Inspiración digital en el Reino Unido

Sebastián Thüer · 13.10.2009 ·

Captura de Panasonic Design Museum, un trabajo de De-Construct
Captura de Panasonic Design Museum, un trabajo de De-Construct

Si estás buscando inspiración para trabajos creativos en la comunicación digital, si querés conocer las principales tendencias del momento o saber quiénes son algunos de los referentes más importantes hay un imperdible post en inusual Magazine: Reino Unido, Reino Digital.

Ahí nos presentan grandes agencias o pequeños estudios con base en el Reino Unido y un trabajo impecable. Akqa, Unit9, De-Construct (de un minimalismo exquisito), Agency Republic y Bloc Media son algunas las agencias que componen este recorrido.

Particularmente recomendable para refrescar la mente del día a día y dejarse llevar por los enlaces que nos muestran sus campañas.

Wibiya, integrá Facebook Connect y Twitter en tu blog

Sebastián Thüer · 11.10.2009 ·

Wibiya instalada en el blog
Wibiya instalada en el blog

Desde este momento los lectores del blog podrán encontrar en la parte inferior del navegador una pequeña barra que les permitirá facilitar muchas acciones relacionadas con medios sociales. Traducir la página, monitorear las menciones en Twitter, intregacción con Facebook Connect son algunas de las herramientas que Wibiya ofrece a los usuarios.

Es un servicio simple y eficiente pensada para escritores y adminsitradores de blogs. De momento están en beta privada pero si te interesa probar el servicio podés registrate en su web. Lo bueno es que está en español y unos 20 idiomas más, porque aunque los comandos en inglés los conozca mucha gente personalmente me gusta conversar el idioma del blog y por esa razón he desechado otras herramientas del estilo.

Voy a estar probando el servicio por un tiempo pero las primeras impresiones son bastante positivas. Un punto interesante es que también proporcionan información estadística sobre las acciones de los usuarios. Espero que estos ceros cambien pronto por otros números.

Panel de estadísticas de Wibiya
Panel de estadísticas de Wibiya
  • « Ir a la página anterior
  • Página 1
  • Páginas intermedias omitidas …
  • Página 111
  • Página 112
  • Página 113
  • Página 114
  • Página 115
  • Páginas intermedias omitidas …
  • Página 170
  • Ir a la página siguiente »

Sebastián Thüer

Creative Commons Atribución 4.0 Internacional © 2025 · Less Is More · Acceder