Rendimiento y velocidad, acelera tu sitio WordPress

71
Rendimiento y velocidad, acelera tu WordPress [email protected] Dani Reguera Bakhache @dreguera

Transcript of Rendimiento y velocidad, acelera tu sitio WordPress

Page 1: Rendimiento y velocidad, acelera tu sitio WordPress

Rendimiento y velocidad, acelera tu WordPress

[email protected] � Dani Reguera Bakhache � @dreguera

 

Page 2: Rendimiento y velocidad, acelera tu sitio WordPress

2  

Cuanto  mas  rápido  vaya  un  si2o  web  mejor    

Page 3: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué  es  el  WPO?  •  Labores que hacemos para que nuestro sitio web sea mas

rápido •  Esas labores pueden ser en diferentes ámbitos: Plataforma,

base de datos, maquetaciones, servidores, peticiones… •  Podemos Debemos hacer WPO en:

–  Frontend –  Backend

•  En definitiva, WPO o Web Performance Optimization es el proceso de optimización de sitios web tanto a nivel usuario como a nivel servidor para reducir el tiempo de carga del mismo.

Page 4: Rendimiento y velocidad, acelera tu sitio WordPress

¿Por  qué  es  tan  importante  que  un  si2o  web  carge  rápido?  

•  Cuanto más rápida vaya una web, el usuario estará más tiempo en la página

•  Cuanto más rápida vaya una web, habrá menos porcentaje de rebote

•  Cuanto más rapida vaya una web, habrá más conversiones

•  Cuanto más rápida vaya una web, mejoraremos la experiencia de usuario

•  Cuanto más rápida vaya una web, tendremos menos coste de infraestructura.

Page 5: Rendimiento y velocidad, acelera tu sitio WordPress

5  

Para Amazon, 0.1 segundos de retraso implican una pérdida del 1% de los ingresos

Page 6: Rendimiento y velocidad, acelera tu sitio WordPress

6  

Según AOL.com, los sitios web que funcionan rápido tienen 7-8 pag. vistas por

usuario mientras que las lentas 3-4 pag. vistas.

Page 7: Rendimiento y velocidad, acelera tu sitio WordPress

7  

Para Bing, un segundo de retraso implica una caída del 2,8% de los ingresos, 2 segundos de

retraso implica una bajada del 4,3% de los ingresos por usuario

Page 8: Rendimiento y velocidad, acelera tu sitio WordPress

8  

Para Google, 0,4 segundos de retraso causan una caída del 0,59% de las

búsquedas por usuario

Page 9: Rendimiento y velocidad, acelera tu sitio WordPress

9  

Para Facebook, 0.5 segundos más lento provoca una caída de tráfico del 3%, 1

segundo provoca una caída del 6%

Page 10: Rendimiento y velocidad, acelera tu sitio WordPress

10  

Google Maps, redujo un 30% del tamaño de sus ficheros y el número de peticiones

aumentó un 30%

Page 11: Rendimiento y velocidad, acelera tu sitio WordPress

11  

Para Outlook.com, 6 segundos de retraso, implica 40 millones de anuncios menos al mes, lo que supone 6.000.000$ menos al

año

Page 12: Rendimiento y velocidad, acelera tu sitio WordPress

12  

Netflix, activó el sistema gzip en sus servidores consiguiendo un aumento de entre el 13% y 25% de velocidad de carga y reducción de un 50% del

volumen de tráfico

Page 13: Rendimiento y velocidad, acelera tu sitio WordPress

13  

Para Yahoo!, 0.4 segundos de retraso causan una caída entre el 5% y el 9% del

tráfico

Page 14: Rendimiento y velocidad, acelera tu sitio WordPress

Por  lo  general  hablamos  de…  •  El 47% de los usuarios esperan que una página cargue

en menos de 2 segundos. •  El 14% cambia de tienda online si la página tarda en

cargar. •  El 40% de los usuarios abandona una página que tarda

más de 3 segundos en cargar. •  El 64% de los compradores que no están satisfechos

cambia de sitio para su próxima compra. •  El 52% de los compradores afirman que un sitio que

carga rápido los fideliza.

14  

Page 15: Rendimiento y velocidad, acelera tu sitio WordPress

¿Y qué pasa con las versiones para dispositivos móviles?

Page 16: Rendimiento y velocidad, acelera tu sitio WordPress

Navigation timing – w3c

http://www.w3.org/TR/navigation-timing/

Page 17: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué herramientas disponemos?

Page 18: Rendimiento y velocidad, acelera tu sitio WordPress

18  

Page 19: Rendimiento y velocidad, acelera tu sitio WordPress

GtMetrix

•  Herramienta web gratuita que nos analiza en función de Google y Yahoo y nos evalua en función de la velocidad.

•  Nos aporta un listado de aspectos a mejorar tanto en la web como en el servidor para mejorar estas valoraciones.

•  http://gtmetrix.com

19  

Page 20: Rendimiento y velocidad, acelera tu sitio WordPress
Page 21: Rendimiento y velocidad, acelera tu sitio WordPress

Pingdom Tools

•  Herramienta gratuita y muy potente que nos permite saber los tiempos de carga, el tamaño de las páginas

•  Nos permite testear desde múltiples localizaciones

•  Compartir los resultados •  Guardar históricos para saber las mejoras que

hemos ido haciendo •  http://tools.pingdom.com/fpt/

Page 22: Rendimiento y velocidad, acelera tu sitio WordPress
Page 23: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué imagen tiene Google de la velocidad de nuestro site?

Page 24: Rendimiento y velocidad, acelera tu sitio WordPress

Estadísticas de rastreo

Page 25: Rendimiento y velocidad, acelera tu sitio WordPress

Estadísticas de rastreo con WebMasterTools

•  Lo que nos dice es el tiempo en milisegundos, que tarda GoogleBot en entrar en nuestra página, indexarla y salir. No son datos de usuarios

•  Un tiempo normal sería entre 250 y 500 milisegundos

•  Un tiempo óptimo sería entre 150 y 250 •  A partir de 1seg (1000mseg) ya sería un tiempo

malo y deberíamos tomar medidas

Page 26: Rendimiento y velocidad, acelera tu sitio WordPress

Tiempos de carga en Google Analytics

Page 27: Rendimiento y velocidad, acelera tu sitio WordPress

Tiempos de carga en Google Analytics

Page 28: Rendimiento y velocidad, acelera tu sitio WordPress

Tiempos de carga en Google Analytics

•  Son datos sacados el 1% de nuestras visitas. •  Si quisieramos que nos sacara de todos:

•  Importancia de analizar bien los datos: –  Por país –  Por navegador –  Porcentaje de rebote –  Tiempo de estancia en página

•  https://www.youtube.com/watch?v=vWMAsIHbB5g  

Page 29: Rendimiento y velocidad, acelera tu sitio WordPress
Page 30: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué tenemos que tener en cuenta con WordPress?

 •  Instalación  de  WordPress  •  Configuración  de  WordPress  •  Plan2lla  •  Los  plugins  (plugini's)    

Page 31: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación de WordPress

•  Lo  primero  el  Hos2ng,  ¿Qué  necesitamos?  – Uno  de  “men2ra”    – Hos2ng  compar2do  – Dedicado  

•  Hay  que  ser  realistas  con  el  número  de  visitas  que  tenemos,  tráfico  y  lo  más  importante…  ¿Cuantas  visitas  esperamos  tener?  

Page 32: Rendimiento y velocidad, acelera tu sitio WordPress

Si quieres que te recomiende uno…

Page 33: Rendimiento y velocidad, acelera tu sitio WordPress

•  Pensemos qué base de datos necesitamos… “No sólo de MySQL vive WordPress”

•  Si nos decantamos por MySQL optimicemos al máximo. (WP Optimize plugin)

•  ¿MariaDB? –  Para cargas mas complejas su optimizador trabaja mejor –  El acceso mediante views aligera el proceso de carga –  https://mariadb.com/blog/how-install-and-run-wordpress-

mariadb –  http://es.wikipedia.org/wiki/MariaDB

Nuestra base de datos

Page 34: Rendimiento y velocidad, acelera tu sitio WordPress

Nuestro servidor Web

•  Si  nos  decantamos  por  Apache  (como  la  mayoría  de  mortales)  intentemos  op2mizar  al  máximo:  –  h`ps://www.digitalocean.com/community/tutorials/how-­‐to-­‐op2mize-­‐apache-­‐web-­‐server-­‐performance  

–  Redirecciones:  del  .htaccess  al  h`pd.conf  •  Montando  WordPress  sobre  nginx,  “No  sólo  de  Apache  vive  WordPress”  –  h`p://mukom.mondragon.edu/socialmedia/como-­‐instalar-­‐wordpress-­‐usando-­‐nginx-­‐como-­‐servidor-­‐web/  

 

Page 35: Rendimiento y velocidad, acelera tu sitio WordPress

Optimizando caché de PHP con OPCache

•  OPcache mejora el rendimiento de PHP almacenando el código de bytes de un script precompilado en la memoria compartida, eliminando así la necesidad de PHP de cargar y analizar los script en cada petición.

•  Esta extensión está incluída en PHP 5.5.0 y posteriores, y está » disponible en PECL para las versiones de PHP 5.2, 5.3 y 5.4.

Page 36: Rendimiento y velocidad, acelera tu sitio WordPress

Optimizando caché de PHP con OPCache  

•  $ sudo gedit /etc/php5/fpm/php.ini

–  ;opcache.enable=0 à opcache.enable=1 –  ;opcache.memory_consumption=64 à opcache.memory_consumption=128

–  ;opcache.max_accelerated_files=2000 à opcache.max_accelerated_files=4000

–  ;opcache.revalidate_freq=2 à opcache.revalidate_freq=60

•  $ sudo service php5-fpm restart

Page 37: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación óptima de WordPress

•  Instalar  la  ul2ma  versión  siempre  – $  wget  h`p://wordpress.org/latest.tar.gz  

•  Permisos:  – Carpetas  (wp-­‐content,  wp-­‐admin,  wp-­‐includes)  con  permisos  755  (rwx  r-­‐x  r-­‐x)  

– Ficheros  con  permsiso  644  (rw-­‐  r–  r–)  

Page 38: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación perfecta de WordPress

•  Optimizando el wp-config.php –  Activar la caché de WordPress:

•  define('WP_CACHE', true); //El triple de rápido –  Incrementar el autoguardado, por defecto es a 60

segundos: •  define('AUTOSAVE_INTERVAL',160);

–  Quitar las revisiones (limpieza en bbdd): •  define('WP_POST_REVISIONS', false);

Page 39: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación óptima de WordPress

Page 40: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación óptima de WordPress

•  Habilitar  la  compresión  gzip  |  deflate  para  nuestro  WordPress:  –  Comprimir  al  máximo  los  contenidos:  

•  U2lizar  compresión  gzip/deflate.  

–  Lo  que  hacemos  con  este  modo  es  comprimir  los  contenidos,  enviarlos  y  descromprimirlos  al  ser  recibidos.  

– De  esta  manera  ahorramos  2empo  de  transferencia.  –  Si  ac2vamos  deflate  en  nuestro  servidor  web,  todos  los  ficheros  par2rán  con  la  compresión  ac2vada.  

Page 41: Rendimiento y velocidad, acelera tu sitio WordPress

•  $  sudo  a2enmod  deflate;          •  $  sudo  gedit  /wp-­‐admin/op#ons.php;  

– Gzipcompression  =  1  

Instalación óptima de WordPress

Page 42: Rendimiento y velocidad, acelera tu sitio WordPress

Instalación óptima de WordPress

•  Sacando partido a WP_Query –  WP_Query es una clase, una de las más importantes

del núcleo de WordPress. Se encarga de determinar la consulta necesaria a la base de datos de acuerdo a la información que se está solicitando y, además, guarda este tipo de consultas frecuentes para optimizar la carga de la página.

•  Op2mizando  con  WP_Query:  –  h`p://dariobf.com/wp_query-­‐wordpress/  

Page 43: Rendimiento y velocidad, acelera tu sitio WordPress

Loop normal de WordPress

Page 44: Rendimiento y velocidad, acelera tu sitio WordPress

Loop modificado de WordPress

Page 45: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué es la pluginitis?

•  La dependencia extrema que tenemos de los plugins

•  Los plugins nos relentizan al máximo nuestro WordPress puesto que modifican la funcionalidad.

•  Site-Builders vs Programadores •  “Yo tengo un plugin…” “Conozco un plugin…”

“He oído hablar de un plugin que te…” “Pues con WordPress mi sobrino te lo hace gratis”

Page 46: Rendimiento y velocidad, acelera tu sitio WordPress

Para empezar…

Page 47: Rendimiento y velocidad, acelera tu sitio WordPress

Para empezar…

Page 48: Rendimiento y velocidad, acelera tu sitio WordPress

Analizar los plugins

•  ¿Qué  plugin  me  relen2za?  – Por  mal  funcionamiento  – Porque  me  sobreescribe  código  – Porque  me  relen2za  la  base  de  datos  – Etc…  

•  Op2micemos  esos  plugins  – SEO  Yoast  vs  Add  Meta  Data    – WP  Touch  Demonio  – Mul2lingüismo:  mqTranslate  vs  WMPL/Polylang  

Page 49: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué plugins “deberíamos” instalar?

•  Tratamiento  de  imágenes  

Page 50: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué plugins “deberíamos” instalar?

•  Asincronía  de  carga  

Page 51: Rendimiento y velocidad, acelera tu sitio WordPress

¿Qué plugins “deberíamos” instalar?  

•  Caché:  WP  Super  Caché,  WP  Total  Caché  

Page 52: Rendimiento y velocidad, acelera tu sitio WordPress

W3 Total cache

Page 53: Rendimiento y velocidad, acelera tu sitio WordPress

Page Caché

De esta manera sirvo a mis visitantes páginas estáticas del contenido dinámico, por lo que la carga de servidor es menor. Con esto consigo que WP no cree la página en cuanto es solicitada y al usuario le muestro la página que he guardado en memoria

Page 54: Rendimiento y velocidad, acelera tu sitio WordPress

Minificado de css y js

Page 55: Rendimiento y velocidad, acelera tu sitio WordPress

Database caché

Con esta opción lo que consigo es cachear las querys a la base de datos cada vez que hago una petición y así no pedir cada vez.

Page 56: Rendimiento y velocidad, acelera tu sitio WordPress

Object cache

Con  esta  opción  lo  que  consigo  es  cachear  los  objetos  de  MySQL.  Esto  no  siempre  baja  el  2empo  de  carga.  

Page 57: Rendimiento y velocidad, acelera tu sitio WordPress

Browser caché

Defino de esta manera la caché del navegador para decirle cuanto tiempo tiempo deben usar ese contenido.

Page 58: Rendimiento y velocidad, acelera tu sitio WordPress

Reverse proxy

Vamos a introducir aquí nuestra configuración de Varnish para que funcione correctamente

Page 59: Rendimiento y velocidad, acelera tu sitio WordPress

Resultados – contenido cacheado

Page 60: Rendimiento y velocidad, acelera tu sitio WordPress

WP Otimizer

Page 61: Rendimiento y velocidad, acelera tu sitio WordPress

Eliminar las transacciones muertas de la base de datos

Page 62: Rendimiento y velocidad, acelera tu sitio WordPress

Eliminar las transacciones muertas de la base de datos

Page 63: Rendimiento y velocidad, acelera tu sitio WordPress

¿Algo más? Apunta…

•  U2liza  HTTP  1.1  •  U2liza  CSS-­‐Sprites  •  JetPack  y  su  Photon  para  el  tema  de  distribuir  imágenes  •  HyperDB  para  distribuir  la  Base  de  Datos  •  Cookies  pocas  y  muy  pequeñas  •  Domain  sharing,  paralelización  (6  pe2ciones)  •  CSS  en  el  <header>,  para  el  DOM  •  Como  mucho  dos  archivos  CSS  •  Ges2onar  las  DNS  (root53)  •  Contrata  hos2ng  de  calidad  •  Evita  redirección,  por  favor.  •  Fuentes  en  vez  de  imágenes  •  Ges2ón  de  las  fonts,  siempre  es  mejor  in  da  jaus  (Google  Fonts?)  •  Especifica  heigth  y  width  en  el  HTML  •  Ul2mos  posts?  Ojo  cargar  todo…  •  …  

Page 64: Rendimiento y velocidad, acelera tu sitio WordPress

Punto de partida

Page 65: Rendimiento y velocidad, acelera tu sitio WordPress

Punto de partida

Page 66: Rendimiento y velocidad, acelera tu sitio WordPress

Punto de llegada  

Page 67: Rendimiento y velocidad, acelera tu sitio WordPress

Punto de llegada

Page 68: Rendimiento y velocidad, acelera tu sitio WordPress

El mejor WPO es hacer las cosas bien

Page 69: Rendimiento y velocidad, acelera tu sitio WordPress

Con MUCHO sentido común, que es el

menos común de los sentidos…

Page 70: Rendimiento y velocidad, acelera tu sitio WordPress

Créditos •  Iñaki Arenaza www.slideshare.net/iareneza •  Increased frecuency by Enrie http://ernie-e.deviantart.com/art/increased-frequency-132219750 •  Móvil: http://commons.wikimedia.org/wiki/File:Personal_Health_Apps_for_Smartphones.jpg •  Fast train moving: http://commons.wikimedia.org/wiki/File:Fast_Moving_Train_India.jpg •  WPO por Javier Casares: https://dl.dropboxusercontent.com/u/19964073/Guia-WPO.pdf •  WordPress Performance http://codex.wordpress.org/WordPress_Optimization •  Blog de Darío Balbotín http://www.dariobf.com

Page 71: Rendimiento y velocidad, acelera tu sitio WordPress

Eskerrik asko! Dani  Reguera  

Mondragon  Unibertsitatea  [email protected]  

h8ps://twi8er.com/dreguera  h8ps://linkedin.com/in/danireguera