SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
-

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

-
-

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

-
-

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)

-
-

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%

-
-

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/

-
-

WPO - Pol Martinez

ARQUITECTURA
Arquitectura de servicio web (ejemplo) y sus distintas capas y
uso.

Otras alternativas: nginx y IIS, asp, redis, Oracle.

-
-

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

-
-

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

-
-

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	


-
-

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

-
-

WPO - Pol Martinez

MEDIR PARA TOMAR DECISIONES
GTMETRIX.COM
Mide el patrón de descarga y muestra la valoración de PageSpeed y YSlow

-
-

WPO - Pol Martinez

MEDIR PARA TOMAR DECISIONES
PAGE SPEED INSIGHT
Métricas priorizadas y agrupadas por dispositivo

https://developers.google.com/speed/pagespeed/insights/

-
-

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

-
-

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)

-
-

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.

-
-

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.

-
-

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>

-
-

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

-
-

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

-
-

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>

-
-

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?

-
-

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>

-
-

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>

-
-

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.

-
-

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.

-
-

WPO - Pol Martinez

SOLUCIONES
CDN
Distribuye contenido estático físicamente para mejorar la latencia en las transmisiones

-
-

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)

-
-

MUCHAS GRACIAS ;)	

!
Pablo (Pol) Martínez	

@polmtnez	

http://www.linkedin.com/in/polmartinez

WPO - Pol Martinez

-

Más contenido relacionado

La actualidad más candente

Alojamiento de páginas web
Alojamiento de páginas webAlojamiento de páginas web
Alojamiento de páginas web
Luis Álamo
 
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
John Acosta
 

La actualidad más candente (16)

HTTP/3, PHP 7.4 y otras novedades en WPO para WordPress
HTTP/3, PHP 7.4 y otras novedades en WPO para WordPressHTTP/3, PHP 7.4 y otras novedades en WPO para WordPress
HTTP/3, PHP 7.4 y otras novedades en WPO para WordPress
 
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09Presentación RodrigoPolo.com @ Barcamp Guatemala '09
Presentación RodrigoPolo.com @ Barcamp Guatemala '09
 
Internacionalización y multilingüismo en WordPress
Internacionalización y multilingüismo en WordPressInternacionalización y multilingüismo en WordPress
Internacionalización y multilingüismo en WordPress
 
Diseño web
Diseño webDiseño web
Diseño web
 
¿Qué se puede hacer para acelerar la entrega de contenido en Internet?
¿Qué se puede hacer para acelerar la entrega de contenido en Internet?¿Qué se puede hacer para acelerar la entrega de contenido en Internet?
¿Qué se puede hacer para acelerar la entrega de contenido en Internet?
 
Socialmood como-google-enamore-tu-web-v1
Socialmood como-google-enamore-tu-web-v1Socialmood como-google-enamore-tu-web-v1
Socialmood como-google-enamore-tu-web-v1
 
Sitios web multingües con WordPress
Sitios web multingües con WordPressSitios web multingües con WordPress
Sitios web multingües con WordPress
 
Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8Instalación y configuración de un sitio web en Wordpress 3.8
Instalación y configuración de un sitio web en Wordpress 3.8
 
DEBER
DEBERDEBER
DEBER
 
Alojamiento de páginas web
Alojamiento de páginas webAlojamiento de páginas web
Alojamiento de páginas web
 
Samanta2
Samanta2Samanta2
Samanta2
 
Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021Optimiza tus webs a bajo costo - WCVenezuela2021
Optimiza tus webs a bajo costo - WCVenezuela2021
 
Extender la funcionalidad de WordPress
Extender la funcionalidad de WordPressExtender la funcionalidad de WordPress
Extender la funcionalidad de WordPress
 
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
Migración de plantillas de Joomla! 1.0 a Joomla! 1.5
 
Taller WPO - Carga condicional de plugins
Taller WPO - Carga condicional de pluginsTaller WPO - Carga condicional de plugins
Taller WPO - Carga condicional de plugins
 
wp-cli
wp-cliwp-cli
wp-cli
 

Destacado

Clase Glifos Nahuas
Clase Glifos NahuasClase Glifos Nahuas
Clase Glifos Nahuas
Nanoituz
 
The Home Depot and AARP Launch Nationwide Workshops
The Home Depot and AARP Launch Nationwide WorkshopsThe Home Depot and AARP Launch Nationwide Workshops
The Home Depot and AARP Launch Nationwide Workshops
finance2
 
Liquidación del impuesto de sociedades
Liquidación del impuesto de sociedadesLiquidación del impuesto de sociedades
Liquidación del impuesto de sociedades
angelesroman
 
Fado
FadoFado
Fado
PAFB
 
Arquitectura barroca en Italia
Arquitectura barroca en ItaliaArquitectura barroca en Italia
Arquitectura barroca en Italia
Zarce Valiente
 

Destacado (20)

Como seleccionar sitios confiables en internet
Como seleccionar sitios confiables en internetComo seleccionar sitios confiables en internet
Como seleccionar sitios confiables en internet
 
Creacion Blogs
Creacion BlogsCreacion Blogs
Creacion Blogs
 
Clase Glifos Nahuas
Clase Glifos NahuasClase Glifos Nahuas
Clase Glifos Nahuas
 
2012newsletter
2012newsletter2012newsletter
2012newsletter
 
El tiempo y su planificación.
El tiempo y su planificación. El tiempo y su planificación.
El tiempo y su planificación.
 
Be the Answer: Using interactive databases to answer questions and generate r...
Be the Answer: Using interactive databases to answer questions and generate r...Be the Answer: Using interactive databases to answer questions and generate r...
Be the Answer: Using interactive databases to answer questions and generate r...
 
The Home Depot and AARP Launch Nationwide Workshops
The Home Depot and AARP Launch Nationwide WorkshopsThe Home Depot and AARP Launch Nationwide Workshops
The Home Depot and AARP Launch Nationwide Workshops
 
MUC LUC.doc
MUC LUC.docMUC LUC.doc
MUC LUC.doc
 
Liquidación del impuesto de sociedades
Liquidación del impuesto de sociedadesLiquidación del impuesto de sociedades
Liquidación del impuesto de sociedades
 
Manual d2 phaser-brochure_doc-b88-sxs017
Manual  d2 phaser-brochure_doc-b88-sxs017Manual  d2 phaser-brochure_doc-b88-sxs017
Manual d2 phaser-brochure_doc-b88-sxs017
 
Estadísticas inpsasel 2014
Estadísticas inpsasel 2014Estadísticas inpsasel 2014
Estadísticas inpsasel 2014
 
Canto v Inferno Dante
Canto v Inferno DanteCanto v Inferno Dante
Canto v Inferno Dante
 
Livro do Aluno
Livro do AlunoLivro do Aluno
Livro do Aluno
 
DANH MUC BIEU ĐO.doc
DANH MUC BIEU ĐO.docDANH MUC BIEU ĐO.doc
DANH MUC BIEU ĐO.doc
 
Fado
FadoFado
Fado
 
Fado
FadoFado
Fado
 
Fado
FadoFado
Fado
 
Mandalas (por: carlitosrangel)
Mandalas (por: carlitosrangel)Mandalas (por: carlitosrangel)
Mandalas (por: carlitosrangel)
 
Arquitectura barroca en Italia
Arquitectura barroca en ItaliaArquitectura barroca en Italia
Arquitectura barroca en Italia
 
Castillos De Europa
Castillos De EuropaCastillos De Europa
Castillos De Europa
 

Similar a Curso WPO - Web Performance Optimization 2013

Similar a Curso WPO - Web Performance Optimization 2013 (20)

Rendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPressRendimiento y velocidad, acelera tu sitio WordPress
Rendimiento y velocidad, acelera tu sitio WordPress
 
WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17
 
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBFOptimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
 
Mejorar WPO Joomla
Mejorar WPO JoomlaMejorar WPO Joomla
Mejorar WPO Joomla
 
WPO para WordPress
WPO para WordPressWPO para WordPress
WPO para WordPress
 
Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress Rendimiento y velocidad en WordPress
Rendimiento y velocidad en WordPress
 
Mejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en WordpressMejorar la usabilidad y la conversion con WPO en Wordpress
Mejorar la usabilidad y la conversion con WPO en Wordpress
 
Antonio Torres - WPO Wordpress - EN@E Digital Meeting
Antonio Torres - WPO Wordpress - EN@E Digital MeetingAntonio Torres - WPO Wordpress - EN@E Digital Meeting
Antonio Torres - WPO Wordpress - EN@E Digital Meeting
 
Mejorar WPO en WordPress
Mejorar WPO en WordPressMejorar WPO en WordPress
Mejorar WPO en WordPress
 
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
Cómo mejorar-la-velocidad-de-tu-web (Cámara madrid)
 
Adrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptxAdrián Garrido - WPO para WordPress.pptx
Adrián Garrido - WPO para WordPress.pptx
 
Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"Evento de Partners SiteGround "Escalando WordPress"
Evento de Partners SiteGround "Escalando WordPress"
 
Escalando WordPress
Escalando WordPressEscalando WordPress
Escalando WordPress
 
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
Cómo volarle la peluca a tus usuarios con la velocidad de tu sitio?
 
Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011Web Performance Optimization (WPO) retreat meli 2011
Web Performance Optimization (WPO) retreat meli 2011
 
Caso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magentoCaso de estudio - Optimizacion en magento
Caso de estudio - Optimizacion en magento
 
Acelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPOAcelera tu sitio WordPress WPO
Acelera tu sitio WordPress WPO
 
Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!Los mejores trucos para aumentar la velocidad en joomla!
Los mejores trucos para aumentar la velocidad en joomla!
 
Puntos clave para optimizar Wordpress by Raiola Networks
Puntos clave para optimizar Wordpress by Raiola NetworksPuntos clave para optimizar Wordpress by Raiola Networks
Puntos clave para optimizar Wordpress by Raiola Networks
 
Las diez estrategias para mejorar la presencia Online de tu negocio
Las diez estrategias para mejorar la presencia Online de tu negocioLas diez estrategias para mejorar la presencia Online de tu negocio
Las diez estrategias para mejorar la presencia Online de tu negocio
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Curso WPO - Web Performance Optimization 2013

  • 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 -