Saltar al contenido

Ingeniería de rendimiento en Next.js

Trabajo de Core Web Vitals sobre aplicaciones Next.js existentes — medido con datos de campo, corregido en la causa arquitectónica y defendido en CI para que los números se queden corregidos.

El trabajo de rendimiento tiene un modo de fallo característico: un equipo dedica un sprint a optimizar, la puntuación sube, y seis semanas después vuelve a estar donde estaba. Las correcciones no tenían nada de malo. Lo que faltaba era un mecanismo para conservarlas.

Cómo se desarrolla un encargo

Medir primero, desde el campo. Empezamos con datos del Chrome UX Report y vuestro RUM, segmentados por clase de dispositivo y plantilla de ruta. Un LCP p75 de 3,4 s en páginas de producto móviles es una afirmación accionable; «nuestra puntuación de Lighthouse es 62» no lo es.

Encontrar la causa, no el síntoma. Un LCP lento es una decisión de renderizado, una estrategia de fuentes, una cadena de imágenes o un tercero que bloquea. Un INP malo casi siempre es el tamaño y la forma del JavaScript que hidrata por encima del pliegue. Rastreamos cada métrica hasta la decisión concreta, a nivel de commit, que la produjo.

Corregir en el nivel arquitectónico. Mover un componente al otro lado de la frontera del servidor, eliminar una petición de datos en cliente que debería haber sido un render de servidor, sustituir una librería de fechas de 300 KB, dividir una ruta que envía el bundle completo del panel de administración a visitantes anónimos. Esos son los cambios que se sostienen.

Defender el resultado. Cada encargo termina con un presupuesto de rendimiento aplicado en CI. Un pull request que empuje el bundle de la ruta por encima de su techo hace fallar la comprobación. El presupuesto es el entregable; la puntuación es un efecto secundario.

Qué recibes

Un documento de hallazgos priorizado con cada problema rastreado hasta su causa y dimensionado por esfuerzo, las correcciones implementadas como pull requests revisables, la configuración del presupuesto en CI, y una comparación antes/después sobre datos de campo cuando el cambio lleve suficiente tiempo en producción como para mover la ventana de 28 días.

Preguntas frecuentes

¿Trabajáis a partir de las puntuaciones de Lighthouse?
No como señal principal. Lighthouse es una herramienta de laboratorio y sirve para reproducir un problema, pero el posicionamiento y los ingresos siguen a los datos de campo. Empezamos por el Chrome UX Report y vuestro monitorización de usuarios reales, y luego usamos el laboratorio para aislar causas.
¿Y si el problema es nuestro CMS o nuestros scripts de terceros?
Entonces ese es el hallazgo. Buena parte de las regresiones de LCP e INP que rastreamos terminan en un gestor de etiquetas, un widget de chat o una cadena de medios sin optimizar, no en el código de la aplicación. Informamos de la causa que encontramos, no de la que resulta cómoda.
¿Podéis garantizar una puntuación?
Acordamos un objetivo contigo a partir de datos de campo y te decimos antes de empezar si es alcanzable dentro de la arquitectura actual. Si no lo es, la respuesta honesta es reconstruir la ruta afectada, y así lo diremos.