Introducción/Guías/Producción

Cómo optimizar tu aplicación Next.js para producción

Antes de llevar tu aplicación Next.js a producción, hay algunas optimizaciones y patrones que deberías considerar implementar para la mejor experiencia de usuario, rendimiento y seguridad.

Esta página proporciona buenas prácticas que puedes usar como referencia cuando construyas tu aplicación y antes de ir a producción, así como las optimizaciones automáticas de Next.js que deberías conocer.

Optimizaciones automáticas

Estas optimizaciones de Next.js están habilitadas por defecto y no requieren configuración:

Estos valores predeterminados buscan mejorar el rendimiento de tu aplicación y reducir el costo y la cantidad de datos transferidos en cada solicitud de red.

Durante el desarrollo

Mientras construyes tu aplicación, recomendamos usar las siguientes características para garantizar el mejor rendimiento y experiencia de usuario:

Enrutamiento y renderizado

Obtención de datos y almacenamiento en caché

UI y accesibilidad

  • Módulo de fuentes (Font Module): Optimiza fuentes usando el Módulo de Fuentes, que aloja automáticamente tus archivos de fuente con otros activos estáticos, elimina solicitudes de red externas y reduce cambio de diseño (layout shift).
  • Componente <Image>: Optimiza imágenes usando el Componente Image, que optimiza automáticamente las imágenes, evita cambios de diseño y las sirve en formatos modernos como WebP.
  • Componente <Script>: Optimiza scripts de terceros usando el Componente Script, que difiere automáticamente los scripts y evita que bloqueen el hilo principal.
  • ESLint: Usa el plugin incorporado eslint-plugin-jsx-a11y para detectar problemas de accesibilidad temprano.

Seguridad

Metadatos y SEO

  • Componente <Head>: Usa el componente next/head para agregar títulos de página, descripciones y más.

Seguridad de tipos

  • TypeScript y Plugin TS: Usa TypeScript y el plugin de TypeScript para mayor seguridad de tipos y para ayudarte a detectar errores temprano.

Antes de ir a producción

Antes de ir a producción, puedes ejecutar next build para construir tu aplicación localmente y detectar cualquier error de construcción, luego ejecuta next start para medir el rendimiento de tu aplicación en un entorno similar a producción.

Core Web Vitals

  • Lighthouse: Ejecuta Lighthouse en modo incógnito para entender mejor cómo experimentarán los usuarios tu sitio e identificar áreas de mejora. Esta es una prueba simulada y debe combinarse con datos de campo (como Core Web Vitals).

Analizando paquetes

Usa el plugin @next/bundle-analyzer para analizar el tamaño de tus paquetes JavaScript e identificar módulos y dependencias grandes que puedan estar afectando el rendimiento de tu aplicación.

Adicionalmente, las siguientes herramientas pueden ayudarte a entender el impacto de agregar nuevas dependencias a tu aplicación:

On this page