36

Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

Embed Size (px)

Citation preview

Page 1: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF
Page 2: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

#wccantabria

Page 3: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Optimiza WordPress y a correr

https://www.flickr.com/photos/tjc/8282425687/

Page 4: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Optimiza WordPress y a correr

Page 5: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

WPOWEB PERFORMANCE OPTIMIZATION

Page 6: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

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.

Hagamos sitios web más rápidos.

¿QUÉ ES WPO?

Page 7: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

““WPO es similar al SEO en términos de que optimizar el tiempo de carga genera mayor tráfico hacia tu sitio web. Sin embargo, WPO no termina ahí. Existe clara evidencia de que WPO mejora, además, la experiencia de usuario,

aumenta las ganancias y reduce costos operativos.”

Steve Souders, encargado del equipo de WPO en Google

Page 8: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

¿POR QUÉ WPO?El tiempo de carga del sitio influye en las métricas de negocio. Pérdidas: • Bing: una página dos segundos más lenta resulta en una reducción de un 4,3% en

ganancias por usuario. • Yahoo: Una demora de 400 milisegundos supone una pérdida del 5% al 9% en toda la

página. • Google: Una demora de 400 milisegundos genera una bajada del 0,59% de

búsquedas por usuario. • Amazon: 100 milisegundos de demora en el tiempo de carga les hace perder un 1%

de ventas.

Ganancias: • Mozilla: Hizo su página de descargas 2,2 segundos más rápida e incrementó el

número de descargas en el 15,4%. • Google Maps: Aligeró los ficheros que conformaban la página en un 30% y la consulta

al sitio aumentó en un 30%. • Netflix: Al habilitar la compresión Gzip hizo que su web fuese entre el 13 y el 25% más

rápida; redujo su volumen de tráfico a la mitad.

Page 9: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

NO TAN RÁPIDO

Page 10: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

¿POR DÓNDE EMPIEZO?

1. ¿Qué es el WPO y por qué? 2. FEO. 3. SSO. 4. Herramientas. 5. Imágenes. 6. WordPress.

Page 11: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.comhttps://www.flickr.com/photos/sagesolar

FEOFRONT END OPTIMIZATION

Page 12: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Front End Optimization u Optimización del lado cliente • Reducir peticiones HTTP:

• Combinar JS y CSS en un único fichero. Mejor uno grande que muchos pequeños.

• Combinar imágenes: CSS Sprites. • CSS en la parte superior. • JS en la parte inferior. • Evitar 404. • Cachear, cachear y CACHEAR el contenido estático

(imágenes, css, js, etc) • Evitar redirecciones. • Compresión Gzip.

FEO

Page 13: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

FEOCombinar JS y CSS en un único fichero. Mejor uno grande que muchos pequeños.

Page 14: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

FEOCombinar imágenes: CSS Sprites. Tutorial sobre CSS Sprites

Page 15: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Front End Optimization u optimización del lado cliente. •Reducir peticiones HTTP:

•Combinar JS y CSS en un único fichero. Mejor uno grande que muchos pequeños.

•Combinar imágenes: CSS Sprites. •CSS en la parte superior. •JS en la parte inferior. •Evitar 404. •Cachear, cachear y CACHEAR el contenido estático (imágenes, css, js, etc)

•Evitar redirecciones. •Compresión Gzip.

FEO

Page 16: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.comhttps://www.flickr.com/photos/kewl/8475764430

SSOSERVER SIDE OPTIMIZATION

Page 17: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

SSO

Page 18: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Server-Side Optimization u optimización del lado servidor. •Compresión Gzip.

•Caché: php-APC, php-Xcache (opcode) •Expiración. •Minimizar peticiones externas (peticiones DNS).

SSO

Page 19: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

SSOCompresión Gzip.

<ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE font/truetype AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/eot </ifmodule>

Page 20: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

SSOExpiración con mod_expires

<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/gif "access plus 1 year" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" AddType image/x-icon .ico ExpiresByType image/x-icon "access plus 1 year" ExpiresByType text/css "access plus 1 year" ExpiresDefault "access plus 2 days" </IfModule>

Page 21: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

Server-Side Optimization u optimización del lado servidor. •Compresión Gzip.

•Caché: php-APC, php-Xcache (opcode) •Expiración. •Minimizar peticiones externas (peticiones DNS).

SSO

Page 22: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

HERRAMIENTAS• Google pagespeed Insights: http://goo.gl/WpfBZ • GTMetrix: http://gtmetrix.com/ • Webpagetest: http://www.webpagetest.org • LoadImpact page analyzer: http://loadimpact.com/page-analyzer • LoadImpact: http://loadimpact.com/ • Loads.in: http://loads.in/ • Yslow: http://developer.yahoo.com/yslow/ • Pingdom: http://tools.pingdom.com/fpt/

Page 23: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

IMÁGENESDomain sharding

www.dominio.ext/estilos.css www.dominio.ext/scripts.js ww1.dominio.ext/imagen1.png ww1.dominio.ext/imagen2.png ww1.dominio.ext/imagen3.png ww2.dominio.ext/imagen4.png ww2.dominio.ext/imagen5.png ww2.dominio.ext/imagen6.png ww1.dominio.ext/imagen7.png

www.dominio.ext/estilos.css www.dominio.ext/scripts.js www.dominio.ext/imagen1.png www.dominio.ext/imagen2.png www.dominio.ext/imagen3.png www.dominio.ext/imagen4.png www.dominio.ext/imagen5.png www.dominio.ext/imagen6.png www.dominio.ext/imagen7.png

Page 24: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

IMÁGENESGeolocalización de contenidos (CDN)

• Se replica en centros de datos de todo el mundo y el sistema redirecciona al contenido geolocalizado que ha de descargarse. • Recomendado para sitios grandes, con cierto tamaño y proyección internacional. • Caro.

Photon de Jetpack

Page 25: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

¿Y EN WORDPRESS?

Page 26: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

MEJORA EL THEME

Page 27: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

MEJORA EL THEME• Reducir el número de peticiones HTTP: para ello, debemos minificar y

reducir ficheros javascript, CSS y, siempre que nos sea posible, usar Sprites CSS. WP Minify

• Paralelizar peticiones HTTP: Los navegadores descargan contenidos simultáneamente, podemos aprovecharnos de esto utilizando un CDN o un sistema de Domain Sharding. Photon

• Cuidar el tamaño y orden de los componentes: A veces es mejor uno grande que muchos pequeños y otras es mejor muchos medianos que uno grande. Además, influye el orden en que llamamos a estos componentes; mejor CSS en la cabecera y javascript en el pié de página.

• Evitar 404.

• Sobre CSS y JS: Intenta externalizar algunos de ellos, haz que sean cacheables y minifícalos (haz que sólo sean un fichero).

Page 28: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.comhttp://www.20minutos.es/noticia/215880/0/menores/frontera/eeuu/

CACHEA

Page 29: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

CACHEA• A nivel cliente. Incrementar cabeceras de expiración.

• El Browser caching es un parámetro que se especifica en las cabeceras de los ficheros como tal (cualquier imagen, fichero CSS, JS y demás). ¿Podemos modificar estas cabeceras? Poder… se puede, pero no es recomendable. Lo suyo es decirle al navegador web en cuestión el tiempo de caducidad que va a tener ese tipo de fichero, pero desde el servidor.

• A nivel servidor. • Cacheo de las páginas.

• Cacheo de la base de datos.

• Cacheo de objetos (Object Caching).

• Opcode Caching.

Page 30: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

CACHEA CLIENTE# ------------------------------------------------------------------------------

# | Expires headers |

# ------------------------------------------------------------------------------

# Serve resources with far-future expires headers.

# IMPORTANT: If you don't control versioning with filename-based cache

# busting, consider lowering the cache times to something like one week.

<ifmodule mod_expires.c>

ExpiresActive on

ExpiresDefault "access plus 1 month"

# CSS

ExpiresByType text/css "access plus 1 year"

# Data interchange

ExpiresByType application/json "access plus 0 seconds”

.htaccess en http://dariobf.com/wordpress-wpo/

Page 31: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

BASE DE DATOS• Elimina las revisiones de entradas. • Elimina los comentarios no aprobados o spam. • Elimina los comentarios de la papelera. • Elimina los metadatos de Akismet para comentarios (son

muchos, creeme). • Elimina otros metadatos de los comentarios que son

prescindibles. • Limpia los autoguardados en borradores. • Limpia la papelera de entradas. • Aplica acciones predeterminadas de WordPress para

optimizar las tablas de la base de datos.

WP-Optimize

Page 32: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

IMÁGENES, CSS Y JS

• Optimizar con Photoshop y pasar por ImageOptim si son elemento de diseño.

• Utilizar WP Smush.it para optimizar las subidas. • EWWW Image Optimizer

• Minificar CSS y JS con WP Minify Fix.

Page 33: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

CONCLUSIONES

• ¿Es bueno optimizar todo, siempre?

• Consejo: NO OS VOLVÁIS LOCOS; Optimiza lo básico y ve puliendo poco a poco.

• No siempre, hay que encontrar el equilibrio perfecto para nuestra instalación y sus medios (servidor y demás componentes)

Page 34: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

dariobf.com

EXTRA: +PLUGINSPlugins WPO

• WP Super Cache o W3 Total Cache. • Lazy load. (carga imágenes de forma asíncrona; según el

usuario hace scroll). • EWWW Image Optimizer – Optimiza multimedias cuando se

suben al panel). • WP Minify. • WP Parallel Loading System – Automatiza (bastante) el

domain sharding de imágenes.

Page 35: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF

¡MUCHAS GRACIAS!

¿PREGUNTAS?

Page 36: Optimiza WordPress y a correr - WordCamp Cantabria 2015 - @DarioBF