Your SlideShare is downloading. ×
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Curso WPO - Web Performance Optimization 2013
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Curso WPO - Web Performance Optimization 2013

407

Published on

Explico como medir y analizar la forma de carga de una página web y diseñar cambios para mejorar los tiempos de descarga. …

Explico como medir y analizar la forma de carga de una página web y diseñar cambios para mejorar los tiempos de descarga.
Mejora el SEO / SEM, Mejora la conversión (UX), Optimización del hosting.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
407
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
11
Comments
0
Likes
6
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. - WPO - Pol Martinez WPO - WEB PERFORMANCE OPTIMIZATION QUIEN SOY Pablo (Pol) Martínez @polmtnez ! Desarrollador web Adrenalina CTO Floraqueen Fundador toolows.com 2013-10-09 -
  • 2. - WPO - Pol Martinez WEB PERFORMANCE OPTIMIZATION Mide y analiza la forma de carga de una página web y propone cambios para su mejora Mejora el SEO Mejora la conversión (UX) Optimización del hosting -
  • 3. - WPO - Pol Martinez MEJORA EL SEO / SEM La optimización de una página y la velocidad de carga son los principales factores que Google tiene en cuenta para el calculo del ranking SEO (factor de ranking) Google Adwords (Quality Score) -
  • 4. - WPO - Pol Martinez DATOS “LA VELOCIDAD NO ES SÓLO UNA CARACTERÍSTICA, ES LA CARACTERÍSTICA” Urs Holzle, Ingeniero jefe de Google ! ! Google ha calculado que aumentar 4 décimas de segundo podría perder 8 millones de búsquedas al día lo que implica que perderían millones de anuncios para mostrar ! Shospzilla, pasó de 7 a 2 segundos. La publicidad creció un 112% y las páginas vistas un 25% -
  • 5. - WPO - Pol Martinez DATOS Por segundo extra: 7% menos conversiones 11% menos páginas vistas 16% menos satisfacción del cliente EVOLUCIÓN fuente: Akamai + http://blog.tagman.com/2012/03/just-one-second-delay-in-page-load-can-cause-7-loss-in-customer-conversions/ -
  • 6. - WPO - Pol Martinez ARQUITECTURA Arquitectura de servicio web (ejemplo) y sus distintas capas y uso. Otras alternativas: nginx y IIS, asp, redis, Oracle. -
  • 7. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES ¿Que medir? ! Velocidad, del primer byte (TTFB) Patrón de descarga Paralelización Bloqueos Pesos de estáticos -
  • 8. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES Velocidad, del primer byte (TTFB) El tiempo del primer byte es lo que se valora para conocer el coste de servidor (en tiempo) para entregar una página al navegador del usuario. Ref. : webpagetest.org -
  • 9. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES Las herramientas permiten conocer la velocidad y el estado de cada una de nuestras páginas. ! • webpagetest.org • Gtmetrix.com • PageSpeed Insights / YSlow • GWT / Analytics -
  • 10. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES WEBPAGETEST.ORG Mide el patrón de descarga de una página, tiempos primera vez y siguientes, y TTFB -
  • 11. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES GTMETRIX.COM Mide el patrón de descarga y muestra la valoración de PageSpeed y YSlow -
  • 12. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES PAGE SPEED INSIGHT Métricas priorizadas y agrupadas por dispositivo https://developers.google.com/speed/pagespeed/insights/ -
  • 13. - WPO - Pol Martinez MEDIR PARA TOMAR DECISIONES GOOGLE WEBMASTER TOOLS Gráfica de volumen de descarga y tiempos medios https://www.google.com/webmasters/tools -
  • 14. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Estos son los problemas que hay que solucionar de forma urgente. Tened en cuenta que cada vez más se tiene en cuenta el dispositivo. Habilitar keep-alive (configuración Apache) Especificar Header Vary “Accept-Encoding” y “User-Agent”(mod headers) Habilitar compresión GZIP (mod deflate) Compresión de imágenes Cache de navegador (mod expire) Combinar estáticos (css y js) -
  • 15. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Habilitar keep-alive (configuración Apache) Mantiene una conexión persistente durante un periodo de tiempo determinado y hace que las peticiones al servidor se contesten de forma rápida. -
  • 16. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Especificar Header Vary Se utiliza el archivo de configuración .htaccess junto con el módulo headers para activar esta funcionalidad. ! Utilizando “Accept-Encoding” y “User-Agent” se indica a los proxies la variabilidad del contenido. -
  • 17. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Habilitar compresión GZIP Se utiliza el archivo de configuración .htaccess junto con el módulo de Apache deflate para activar esta funcionalidad. Envía los datos comprimidos para ganar velocidad en la comunicación. <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript </IfModule> ! <IfModule mod_deflate.c> SetOutputFilter DEFLATE </IfModule> -
  • 18. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Compresión de imágenes Eliminar información innecesaria como datos EXIF y compresión adecuada, junto con la elección correcta del formato (jpg, png, gif) Herramientas online: smush.it http://smush.it -
  • 19. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Cache de navegador Se indica desde la configuración de Apache .htaccess el tiempo de expiración de un archivo estático. Es necesario activar el mod expires <IfModule mod_expires.c> ExpiresActive On ExpiresDefault A0 <FilesMatch ".(html|htm|ico|gif|jpg|jpeg|png|js|css)$"> ExpiresDefault "access plus 55 week" </FilesMatch> <FilesMatch ".(txt|xml)$"> ExpiresDefault "access plus 1 day" </FilesMatch> </IfModule> ! FileETag None -
  • 20. - WPO - Pol Martinez SOLUCIONES ALTA PRIORIDAD Combinar estáticos Combinar por ejemplo varios archivos css en uno solo permite que el navegador solo haga una petición al servidor y se ahorra todo el tiempo y los datos de protocolo. <script <script <script <script type="text/javascript" type="text/javascript" type="text/javascript" type="text/javascript" src="/js/librerias/jquery-1.3.2.min.js" ></script> src="/js/librerias/jquery-ui-1.7.2.custom.min.js" ></script> src="/js/librerias/jquery.bgiframe.min.js" ></script> src="/js/librerias/jquery.autocomplete.js" ></script> <script type="text/javascript" src=“/js/librerias/all.min.js" ></script> -
  • 21. - WPO - Pol Martinez SOLUCIONES PRIORIDAD MEDIA Compresión de HTML Utilizar CSS3 en vez de imágenes Carga de JS asíncronos o al final de la página Eliminar cookies de estáticos ¿Botones sociales? -
  • 22. - WPO - Pol Martinez SOLUCIONES PRIORIDAD MEDIA Compresión de HTML Comprimir el HTML para que no se transmitan espacios, saltos de línea y demás caracteres que no se utilizan en la visualización de la página. <ul> <li> <a href=“#tabs-1">Primer elemento</a> </li> <li> <a href=“#tabs-2">Segundo elemento</a> </li> </ul> ! <ul><li><a href=“#tabs-1">Primer elemento</a></li><li><a href=“#tabs-2">Segundo elemento</a></li></ul> -
  • 23. - WPO - Pol Martinez SOLUCIONES PRIORIDAD MEDIA Carga de JS asíncronos o al final de la página Cargar los JS al final de la página (antes de cerrar el tag </body>) hace que la carga del js no bloquee otros elementos visuales los cuales deberían esperar al js si éste estuviera solicitándose antes servidor. ! Cargar de forma asíncrona un elemento JS significa que éste se cargará cuando la pagina se haya descargado completamente y el navegador interpretado el DOM. Esto mejora la medición del tiempo total de carga de una página. <script> var node = document.createElement('script'); node.type = 'text/javascript'; node.async = true; node.src = ‘/js/jquery.min.js’; insertBefore() </script> -
  • 24. - WPO - Pol Martinez SOLUCIONES PRIORIDAD MEDIA Eliminar cookies de estáticos Las cookies se guardan en el navegador y se envían al servidor por cada petición. La manera de pedir estáticos sin transmitir esta información que puede llegar a los cientos de Kb es utilizando dominios distintos solo para servir estos archivos. -
  • 25. - WPO - Pol Martinez SOLUCIONES PRIORIDAD MEDIA Botones sociales ¿Son realmente necesarios? Estos botones cargados a través de widgets, generalmente añaden un tiempo de carga extra, sumando una media de 1 segundo por cada botón. -
  • 26. - WPO - Pol Martinez SOLUCIONES CDN Distribuye contenido estático físicamente para mejorar la latencia en las transmisiones -
  • 27. - WPO - Pol Martinez BONUS ANALYTICS SUGERENCIAS DE VELOCIDAD Nuevo informe de velocidad del sitio que muestra los tiempos por páginas y sugerencias (integrado con PageSpeed Insights) -
  • 28. - MUCHAS GRACIAS ;) ! Pablo (Pol) Martínez @polmtnez http://www.linkedin.com/in/polmartinez WPO - Pol Martinez -

×