wpo para magento - meet magento 2017
TRANSCRIPT
@SiteGround_ES#MM17ES
Claves de rendimiento y optimización para tu eCommerce
WPO PARA MAGENTO
@SiteGround_ES#MM17ES
Fernando Puente@fpuenteonline
Informático de vocación y de profesión
Consultor Enterprise en SiteGroundConsultor para La Estrategia de ChapmanFormador para no técnicos
@SiteGround_ES#MM17ES
Claves de rendimiento y optimización para tu eCommerce
WPO PARA MAGENTO
@SiteGround_ES#MM17ES
¿Es importante un eCommercerápido y optimizado?
@SiteGround_ES#MM17ES
+60% faster,+14% donations
Obama campaign
@SiteGround_ES#MM17ES
If an e-commerce site is making $100,000 per day, a 1 second page delay could potentially cost you $2.5 million in lost sales every yearKissmetric
@SiteGround_ES#MM17ES
AliExpress reduced load time by 36% and saw a 10.5% increase in orders and a 27% increase in conversion for new customers
@SiteGround_ES#MM17ES
Fuente: Linkedin
@SiteGround_ES#MM17ES
TODO INDICA QUE SÍ
@SiteGround_ES#MM17ES
¿SOLUCIÓN?
@SiteGround_ES#MM17ES
Aplicar estrategias WPOa tu proyecto eCommerce
@SiteGround_ES#MM17ES
¿WPO = VELOCIDAD?NO
@SiteGround_ES#MM17ES
Estrategias y tareas de diseño, de desarrollo, de optimización, de mejora del rendimiento, de gestión de los recursos y herramientas disponibles, etc... todo ello orientado a que el servicio que da nuestra web o proyecto online, sea el óptimo para todos y cada uno de los usuarios que la visitan, en cualquier soporte y en cualquier momento
WPO
@SiteGround_ES#MM17ES
Para aplicar WPO, loprimero es conocer
qué factores afectan alrendimiento web
@SiteGround_ES#MM17ES
✓ Usuario: conectividad, localización y dispositivo
✓ Servidor: software, configuración, degradación…
✓ Hosting: CPD, HW & SW, soporte…
✓ Core, Plataforma o CMS utilizado
✓ Código: plantillas, plugins, extensiones, módulos, ...
✓ Diseño: lógico y visual
Factores de rendimiento web
@SiteGround_ES#MM17ES
✓ Eliminar lo superfluo o no necesario o duplicado
✓ Optimizar el rendimiento de los recursos
✓ Diseñar una solución única para cada sesión de
usuario, no "una para todo"
✓ Liberar de carga los recursos
✓ Aplicar lo último en tecnología
Principales estrategias WPO
@SiteGround_ES#MM17ES
9+1 claves WPO para Magento
@SiteGround_ES#MM17ES
1. SIEMPRE A LA ÚLTIMA
@SiteGround_ES#MM17ES
✓ Siempre última versión de core/módulos:
- Funcionalidades
- Rendimiento
- Seguridad
- Solución de errores
✓ PHP7 + OPcache
1. Versiones & actualizaciones
@SiteGround_ES#MM17ES
El único error admisible
@SiteGround_ES#MM17ES
Versiones PHP para Magento 2
Magento 2.0.X
Magento 2.1.X
Magento 2.2.X
@SiteGround_ES#MM17ES
2. NO SEAS DIÓGENES
@SiteGround_ES#MM17ES
✓ Eliminar módulos no utilizados
✓ Limpiar los registros (Magento, sistema, errores, …)
✓ Desactivar módulos Apache y PHP no necesarios
✓ Ficheros olvidados (entorno limpio)
2. Síndrome de Diógenes
@SiteGround_ES#MM17ES
3. EL TAMAÑO IMPORTA
@SiteGround_ES#MM17ES
✓ Habilitar compresión GZip (no imágenes)
✓ Minify de archivos de texto (CSS, JS, HTML, JSON,
XML o SVG)
✓ Combinar los CSS y JS
✓ Compresión de imágenes (previo o extensiones)
✓ Lazy load imágenes front-end
3. Cuestión de tamaño
@SiteGround_ES#MM17ES
Minify y concatenar estáticos
@SiteGround_ES#MM17ES
4. LO ESTÁTICO ES RÁPIDO
@SiteGround_ES#MM17ES
✓ Habilitar todos los sistemas de caché de Magento
✓ Combinar con reverse proxy (Varnish o NGINX)
✓ Estrategia Full page caché (extensiones)
✓ Flat Catalog (categorias/productos)
✓ Habilitar mod_expires/mod_headers estáticos
✓ Eliminar cabecera ETag (obligatorio en cluster)
✓ Añadir cabecera Vary: Accept-Encoding
4. La caché
@SiteGround_ES#MM17ES
Flat Catalog
>1000 productos
@SiteGround_ES#MM17ES
5. OPTIMIZA EL ARMARIO
@SiteGround_ES#MM17ES
✓ Habilitar query_cache en MySQL
✓ Tareas de mantenimiento
5. La base de datos en forma
@SiteGround_ES#MM17ES
Configuración query_cache
[mysqld]
query_cache_type = 1
query_cache_size = 64M
query_cache_limit= 4M
@SiteGround_ES#MM17ES
6. TODO SUMA
@SiteGround_ES#MM17ES
✓ Buen servicio DNS (rápido y TTL largo)
✓ Almacenar sesiones en Redis o Memcached
✓ Envío asíncrono de correos
✓ Deshabilitar servicios RSS
✓ Utilizar un dominio para estáticos (cookieless)
✓ Cargar los JS no críticos de manera diferida (defer)
✓ Revisar los enlaces rotos (carga innecesaria)
6. Los pequeños detalles
@SiteGround_ES#MM17ES
Herramienta: SolveDNS
La importancia de un buen DNS
@SiteGround_ES#MM17ES
Envío asíncrono de correos
@SiteGround_ES#MM17ES
7. QUE TRABAJEN OTROS
@SiteGround_ES#MM17ES
✓ Utilizar para recursos estáticos y mejor entrega
global de los mismos
✓ Eliminar funciones que presta la CDN:
- GZip
- Caché
- Minify
- Cabeceras HTTP
7. Usar recursos de terceros: CDN
@SiteGround_ES#MM17ES
8. SI YA ERES HTTP/2
@SiteGround_ES#MM17ES
✓ Domain sharding o paralelizar nombres de hosts
✓ Uso de sprites o imágenes concatenadas
✓ Resource inlining (CSS o JS)
✓ Concatenar JS y CSS
✓ Keep Alive header, ya no es necesario
8. HTTP/2: evitar
@SiteGround_ES#MM17ES
✓ Imágenes JPEG en formato progresivo
✓ Implementar SERVER PUSH
8. HTTP/2: novedades
@SiteGround_ES#MM17ES
header("Link: </css/styles.css>; rel=preload; as=style");
HTTP/2: SERVER PUSH
Disponible: Apache 2.4.18+ y Cloudflare
<FilesMatch "\.html$"> Header add Link "</css/styles.css>; rel=preload; as=style" Header add Link "</js/scripts.js>; rel=preload; as=script"</FilesMatch>
@SiteGround_ES#MM17ES
9. EL LOCAL DE LA TIENDA
@SiteGround_ES#MM17ES
✓ Localización del CPD
✓ Uptime
✓ Altos estándares de seguridad
✓ Soporte técnico especializado
✓ Escalabilidad y flexibilidad
✓ Tecnología: PHP7, HTTP/2 y SSD
9. Hosting
@SiteGround_ES#MM17ES
Si tu eCommerce estácaído o inaccesible,
¿cuántas ventas generas?
@SiteGround_ES#MM17ES
BONUS TRACK
@SiteGround_ES#MM17ES
Performance Dashboard
@SiteGround_ES#MM17ES
Performance Dashboard
@SiteGround_ES#MM17ES
FUTURO WPO
@SiteGround_ES#MM17ES
✓ Offline-First: uso de Service Workers
✓ Sitios mobile-only
✓ Formatos AMP y FIA para eCommerce
✓ Nuevos algoritmos de compresión: Zopfli o Brotli
✓ Nuevos formatos de imagen: WebP o BPG
Futuro tecnológico
@SiteGround_ES#MM17ES
Todo proyecto web esoptimizable
@SiteGround_ES#MM17ES
Gracias!