Restricción inicial
La tienda tenía una forma familiar de WooCommerce: catálogo operativo, un checkout que no podía romperse, varios scripts de marketing, un tema con años de overrides y Core Web Vitals móviles en rojo en plantillas clave.
El riesgo comercial era concreto. Cualquier optimización que tocara carrito, pago, stock, impuestos o sesión debía pasar por staging, medición y rollback.
Diagnóstico
El primer paso separó familias de plantillas: homepage, categoría, producto, carrito, checkout y contenido. Cada familia tenía límites de rendimiento distintos, así que una puntuación única habría ocultado los cuellos de botella reales.
Los costes más altos se acumulaban: scripts de terceros demasiado pronto, CSS sin usar, deriva de tamaño de imágenes, fallos de caché en páginas que podían cachearse con seguridad, y wc-ajax=get_refreshed_fragments sin caché en cada carga que bajo carga inundaba el pool PHP-FPM.
Decisión de arquitectura
El proyecto no empezó con un rewrite. La primera decisión fue proteger la corrección del checkout y solo después mover superficies seguras hacia un caché más fuerte y un render más ligero.
Cloudflare gestionó reglas de edge, límites de caché, redirecciones, filtrado de bots y observabilidad. WordPress y WooCommerce siguieron siendo la fuente comercial de verdad. Los cambios de frontend se acotaron por familia de plantilla, no como una limpieza genérica del tema.
Modelo de entrega
El trabajo se entregó en lotes cortos: baseline, auditoría de scripts, correcciones de imagen y layout, política de caché, aislamiento del checkout, validación en staging, despliegue en producción y medición posterior.
Cada lote tenía ruta de rollback. Eso importa más que un lanzamiento espectacular cuando los ingresos atraviesan el mismo checkout que se está optimizando.
Bandas de resultado
Medición 30 días después del despliegue en la tienda B2B confidencial de la UE: LCP 5,4s a 1,8s (-66%), TTFB de checkout 2,1s a 0,4s (-80%), bloqueo del main-thread 1.200ms a 180ms (-85%), abandono carrito-a-checkout 42% a 34% (-19%).
La lección reutilizable: recuperar rendimiento en WooCommerce no es perseguir una puntuación perfecta, sino fijar bien el límite entre páginas comerciales cacheables y flujos transaccionales en vivo.