Optimizar la velocidad de carga de sitios web según las recomendaciones de Yahoo!
filed in código, PHP on ene.16, 2012
El otro día estuve leyendo el libro High Performance Web Sites y me pareció exactamente el mismo contenido que las recomendaciones que da Yahoo! para sacar una buena puntuación con su herramienta YSlow.
A continuación, paso a comentar cuáles son estas reglas y las veo yo, según mi experiencia. Los comentarios a estas reglas son para sitios pequeños y para sitios en servidores dedicados con acceso sólo al .htaccess. Si tienes una web en una instancia de Linode o Amazon, no te digo que estas reglas no sirvan, pero tienes a tu disposición herramientas potentísimas como Varnish para acelerar tu sitio de mejor modo. Del mismo modo voy a comentar estas reglas desde el punto de vista de alguien que tiene un sitio pequeño/mediano. Si trabajas en Tuenti, seguramente deberías hacer las cosas de otra forma.
-
1. Cuantas menos peticiones HTTP, mejor
para iconos y pequeñas imágenes se recomienda el uso de imágenes inline
-
2.
Usa un CDNEsto es ridículo para un sitio pequeño y está fuera de lugar
-
3. Añade un “ExpiresHeader” a tu .htaccess
Aquí caemos en el debate de que si añades a todos los elementos un expire en el futuro lejano, cuando cambies un js o un css, el usuario no pillará los cambios a no ser que cada vez le cambies de nombre al fichero
-
4. Usa compresión
AddOutputFilterByType DEFLATE text/html text/css
-
5. Hojas de estilo al principio
[link]dentro de[head] -
6. Scripts JS al final
-
7.
Evita las expresiones CSSTranquilo, no lo hace casi nadie
-
8. JS y CSS en ficheros externos
No tengo muy claro en qué medida acelera la carga, pero pondrá orden en tu vida
-
9. Pocas búsquedas al DNS
Poner un TTL y controlar el Keep-Alive
-
10. Optimiza tu JS
La herramienta que usa todo el mundo es JSMin
-
11. Evita los redirect
301, 302, etc .. en general, ralentizan todos
-
12. Evita scripts duplicados
Revisa también llamadas a ficheros que ya no usas
-
13. Configura los ETags
Yo prefiero quitarlos con FileEtag none
-
14. Haz Ajax cacheable
De nuevo, atención al Expires
Con sólo seguir unas pocas de estas recomendaciones el tiempo de carga de la página se puede reducir entre un 40 y un 60%
Para acabar os dejo unos enlaces para profundizar en el tema:
- https://developers.google.com/pagespeed/
- http://gtmetrix.com/
- http://webperformanceoptimization.es






