16
Aligerando WordPress: optimizando el rendimiento Córdoba Meetup 2012 @fjcarazo - Carazo Gil, Francisco Javier

Aligerando WordPress: optimizando el rendimiento

  • Upload
    jcarazo

  • View
    3.342

  • Download
    0

Embed Size (px)

DESCRIPTION

Cómo aligerar el rendimiento de un portal realizado con WordPress de forma muy simple. Especialmente enfocado a instalaciones WordPress que ejecutan en servidores con alojamientos compartido.

Citation preview

Page 1: Aligerando WordPress: optimizando el rendimiento

Aligerando WordPress: optimizando

el rendimiento

Córdoba Meetup 2012

@fjcarazo - Carazo Gil, Francisco Javier

Page 2: Aligerando WordPress: optimizando el rendimiento

¿Quién soy?

• Administrador de sistemas y desarrollador de

software en IAS-CSIC

• Cofundador y administrador de Linux Hispano,

Red De Autores y Geometrio

• Consultor WordPress en WPQuestions

• Emprendedor junto con @ahornero

Page 3: Aligerando WordPress: optimizando el rendimiento

¿Qué os voy a contar?

• Cómo conseguir el mejor rendimiento posible

con unos recursos determinados: alojamiento

web en servidor compartido

• No trataré:

– Mejoras a nivel de servidor

– Cambios de servidor web

– Inclusión de software como Varnish

– Modificaciones de la arquitectura de los servidores

• ¿Por qué? Experiencia y popularidad

Page 4: Aligerando WordPress: optimizando el rendimiento

WordPress y yo

' 04 2004

jul

2005

ago

2006

sep

2007

oct

2008

nov

2009

dic

2011

ene

2012

feb ' 13

Nace Geometrio (mis primeros CPT) 23/11/12

Segunda WordPress Meetup Córdoba 6/10/12

Descubro WPQuestions 1/12/11

WordCamp Sevilla 2011 8/10/11

Primera WordPress Meetup Córdoba 1/10/11

Nace RedDeAutores (BuddyPress) 25/3/11

Mi libro Domine WordPress: Manual Práctico 1/2/11

Linux Hispano se pasa a WordPress 15/10/09

Nace el blog de juegos de Linux Hispano 7/2/08

Conozco WordPress 1/1/05

Nace Linux Hispano 1/7/04

Page 5: Aligerando WordPress: optimizando el rendimiento

¿Por qué importa el rendimiento?

• SEO: +500ms 20% pérdida tráfico Google

• Económico: ampliar infraestructura

• Impresión del usuario

• Ventas: menor grado de conversión

• Rápido es mejor

• Ecológico: menos cómputo, menos energía

• Pérdida del servicio

Page 6: Aligerando WordPress: optimizando el rendimiento

¿Cómo funciona WordPress?

1. Usuario: introduce URL

2. Servidor web ejecuta WordPress

3. WordPress recopila datos de MySQL

4. Compone resultado

5. Lo envía

6. El usuario lo recibe

7. Navegador lo visualiza

Page 7: Aligerando WordPress: optimizando el rendimiento

¿Dónde puedo mejorar?

• Comunicaciones usuario-servidor

– Tamaño de los ficheros a transmitir

– Cantidad de ficheros transmitidos

• Tiempo de ejecución

– Cantidad y calidad de los plugins

– Llamadas PHP innecesarias

• Base de datos

– Cantidad y complejidad de las consultas

• Visualización en el cliente

– Complejidad interpretación CSS y JavaScript

Page 8: Aligerando WordPress: optimizando el rendimiento

Comunicaciones usuario-servidor

• Peso de los ficheros

– Activar compresión de Apache: Mod_Deflate

– WP Smush.it: reduce tamaño de las imágenes

– favicon pequeño y cacheable

– Compresión JPG y PNG

– Escalar imágenes con WordPress

Page 9: Aligerando WordPress: optimizando el rendimiento

Comunicaciones usuario-servidor

• Cantidad de peticiones:

– Un fichero una petición HTTP

– WP Minify: unifica ficheros JS y CSS

– Una sola imagen para todo el tema (sprites)

• CSS qué parte mostrar con background-position

– Integrar contenido multimedia dentro del texto en

Base64 cuando sea posible

Page 10: Aligerando WordPress: optimizando el rendimiento

Tiempo de ejecución

• Cantidad y calidad de los plugins

– P3 (Plugin Performance Profiler): datos sobre carga

– Actualización

– Sustituye su funcionalidad por algo más simple

Page 11: Aligerando WordPress: optimizando el rendimiento

Tiempo de ejecución

• Llamadas PHP innecesarias

– Sustituye funciones PHP por código estático

• get_bloginfo('name') ¿el nombre va a cambiar?

• get_bloginfo(charset') ¿y el juego de caracteres?

• … especialmente en el header.php y el footer.php

– En el escritorio, ¿por qué cargar todo?

• Quitar los widgets inútiles dentro del functions.php

Page 12: Aligerando WordPress: optimizando el rendimiento

Base de datos

• Cantidad y complejidad de las consultas

– ¿Nº de consultas para rellenar N entradas?

• 51 consultas para 8 entradas en Linux Hispano

• Usando CPT con muchos metadatos crece la complejidad

• ¡Evitar plugins mal diseñados!

• Necesidad de cachear

– WP Super Cache

• Facilidad

• Estabilidad

• Compatibilidad con vista móvil de WPtouch

– Mejor aún Varnish: otro concepto

Page 13: Aligerando WordPress: optimizando el rendimiento

Visualización en el cliente

• Navegador: intérprete de HTML, CSS y JS

– Facilitar interpretación

– Reglas CSS sin usar

– Optimizar JavaScript

• jQuery: acceder directamente por identificador

• Árbol DOM bien estructurado y lo más reducido posible

• Mejor cambiar clases a elementos que cambiar N

propiedades de estilo

• Minimizar número de líneas

– Usar encadenamiento

– Aprovechar partes incrementales bucle

– …

Page 15: Aligerando WordPress: optimizando el rendimiento

Para terminar

• Conclusiones

– WordPress poco optimizado por defecto…

– … pero fácil de optimizar

– Atención al alojamiento

– Factor diferenciador

– Escalabilidad

– No olvidar otros factores

• Situación geográfica

• Estado de la red

• Efecto Menéame/Barrapunto/Digg