Tener una web pesada puede influir tanto en posicionamiento SEO, como en volumen de ventas, Google estima que el tiempo medio óptimo de carga de una página es de 1.5 segundos.
Aparte de la programación hay varios factores que influyen en que una web vaya más rápida cómo pueden ser: número de peticiones, servidor web, proveedor de hosting, velocidad conexión del usuario, etc.
Estadísticas
- Amazon: 0,1 segundos de retraso implican una pérdida del 1% de los ingresos
- Facebook: 0,5 segundos más lento provoca una caída de tráfico del 3%; 1 segundo provoca una caída del 6%
- Google Maps: redujo un 30% el tamaño de sus ficheros y el número de peticiones aumentó un 30%.
- Yahoo!: 0,4 segundos de retraso causan una caída entre el 5% y el 9% del tráfico
Muy buena información, aunque falta la guía de Javier Casares WPO. http://javiercasares.com/wpo/
Hacerse con una buena herramienta sobre estadísticas, también es bastante importante, para ver si las mejoras o cambios realizados han dado su fruto o por el contrario han entorpecido el performance.
Yo uso la herramienta Gomez
Me encantan estos tips LinkedIn, especialmente el #4, aunque no lo he puesto en práctica aún, me parece muy buena idea lo de cachear las plantillas en el local storage.
http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile
Si os da por utilizar WooRank tan sólo podréis obtener un análisis semanal gratuito y si tenéis varias webs... Estará complicada la cosa. ¡Pero es viernes noche y hay que recompensar de alguna manera que seáis tan fans del "web performance optimization"! :D
Escribidme a javier arroba woorank.com y vemos qué se puede hacer :)
Existe un modulo para apache que te hace casi todo lo del server que propone pagespeed se llama mod_pagespeed. Para la gente que usa nginx existe un modulo experimental para fpm. Nosotros llevamos un mes usándolo en un par de frontales web y funciona bastante bien.
La optimizacion también se tiene que hacer a nivel de servidor. Partiendo de:
Configurar un APC, xCache o eAccelerator para PHP. Python lo hace automático (ficheros .pyc)
Optimizar los servicios http (Nginx, Apache), configurar un Varnish por encima.
Optimizar los servicios de bases de datos (MySQL, PostgreSQL), configurar Memcache también.
Usar una CDN.
Yo personalmente, prefiero que Varnish y Memcache este en un servidor separado.
Recomiendo usar cloudflare es un CDN gratuito y de configuración muy sencilla mediante las DNS.
tengo experiencia de una reducción de un 30% en el tiempo de carga de un e-commerce (magento).
Aparte de la programación hay varios factores que influyen en que una web vaya más rápida cómo pueden ser: número de peticiones, servidor web, proveedor de hosting, velocidad conexión del usuario, etc.
Estadísticas
- Amazon: 0,1 segundos de retraso implican una pérdida del 1% de los ingresos
- Facebook: 0,5 segundos más lento provoca una caída de tráfico del 3%; 1 segundo provoca una caída del 6%
- Google Maps: redujo un 30% el tamaño de sus ficheros y el número de peticiones aumentó un 30%.
- Yahoo!: 0,4 segundos de retraso causan una caída entre el 5% y el 9% del tráfico
Guías
- Cómo perder peso (en el navegador)
- ebook Web Performance Optimization
- Optimizar el rendimiento web por Emezeta
Herramientas de análisis
- GTmetrix
- PageSpeed
- WooRank
- YSlow
- Pingdom
- Web Page Performance Test
- loads.in
Herramientas de compresión
- Clean CSS
- Online Javascript Compression Tool
- Smush.it - Image optimization
Fuentes
- e-interactive.es
Si tienes algún truco para hacer webs más rápidas no dudes en dejar un comentario :)
16/03/2013 02:09
Hacerse con una buena herramienta sobre estadísticas, también es bastante importante, para ver si las mejoras o cambios realizados han dado su fruto o por el contrario han entorpecido el performance.
Yo uso la herramienta Gomez
15/03/2013 19:02
http://engineering.linkedin.com/nodejs/blazing-fast-nodejs-10-performance-tips-linkedin-mobile
15/03/2013 22:45
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header unset ETag
Header set X-UA-Compatible "IE=Edge,chrome=1"
Header set Vary "User-Agent"
Header set Cache-Control "must-revalidate, post-check=0, pre-check=0"
ExpiresActive On
ExpiresDefault A0
ExpiresDefault "access plus 55 week"
Header set Vary "Accept-Encoding,Accept"
Header set Cache-Control "public"
FileETag None
ademas, uso rewrite para versionar los estaticos:
RewriteRule ^[0-9]+/assets/(.*)$ /assets/$1 [L]
15/03/2013 23:14
Escribidme a javier arroba woorank.com y vemos qué se puede hacer :)
16/03/2013 12:28
https://developers.google.com/speed/pagespeed/mod?hl=es
https://github.com/pagespeed/ngx_pagespeed
17/03/2013 14:03
Configurar un APC, xCache o eAccelerator para PHP. Python lo hace automático (ficheros .pyc)
Optimizar los servicios http (Nginx, Apache), configurar un Varnish por encima.
Optimizar los servicios de bases de datos (MySQL, PostgreSQL), configurar Memcache también.
Usar una CDN.
Yo personalmente, prefiero que Varnish y Memcache este en un servidor separado.
20/03/2013 10:50
tengo experiencia de una reducción de un 30% en el tiempo de carga de un e-commerce (magento).
slds
15/03/2013 21:08
Antes:
- Page Speed Grade D 62%
- YSlow C 76%
- Page load time 2.70s
- Total page size: 537KB
- Total number of requests 69
Ahora:
- Page Speed Grade A 90%
- YSlow B 88%
- Page load time 1.54s
- Total page size: 222KB
- Total number of requests 39
1- Agrupar y comprimir css/js
http://www.alexpuig.es/inclusion-javascript-mejorar-carga-otros-alegres-consejos-93700/
2- Activar modulo expire en ficheros estaticos en apache
http://www.absolutelytech.com/2010/08/02/howto-enable-or-disable-modules-in-apache/
http://stackoverflow.com/questions/5531994/specifing-expiration-date-for-static-files-caches
3- Activar cabecera gzip
http://stackoverflow.com/questions/4189429/php-sending-gzip-compressed-js-css