Rendimiento en producción: content, purge y build limpio

Entiende cómo optimizar Tailwind en producción para generar solo las clases necesarias y evitar CSS inflado.

En local todo parece ir bien, pero en producción un CSS enorme penaliza carga y Core Web Vitals.

Tailwind soluciona esto generando solo utilidades detectadas en tus archivos de contenido.

La clave está en configurar bien rutas, evitar clases dinámicas mal construidas y usar safelist cuando toca.

En esta lección verás una estrategia práctica para pasar de demo rápida a build profesional optimizado.

  • Si content está mal definido, Tailwind no verá clases y el resultado en producción fallará.
  • Incluye todas las rutas reales donde aparecen clases: componentes, páginas y plantillas.
  • No añadas rutas gigantes innecesarias porque ralentizan análisis del build.
  • Revisa especialmente directorios de UI compartida y vistas dinámicas.
  • Construir clases como strings arbitrarios puede dejar utilidades fuera del build final.

Configurar content con precisión

Si content está mal definido, Tailwind no verá clases y el resultado en producción fallará.

Incluye todas las rutas reales donde aparecen clases: componentes, páginas y plantillas.

No añadas rutas gigantes innecesarias porque ralentizan análisis del build.

Revisa especialmente directorios de UI compartida y vistas dinámicas.

Cuidado con clases dinámicas

Construir clases como strings arbitrarios puede dejar utilidades fuera del build final.

Patrones como `bg-${color}-500` no siempre se detectan por el parser de contenido.

Prefiere mapear variantes explícitas o usa safelist para casos controlados.

Menos magia dinámica y más configuración explícita suele ser más robusto.

Cuándo usar safelist

Safelist es útil en contenido generado dinámicamente, pero úsalo con criterio.

No metas 300 clases por si acaso: aumentas CSS sin necesidad.

Añade solo las utilidades realmente requeridas por CMS o lógica runtime.

Documenta por qué cada grupo está en safelist para mantenimiento futuro.

Tailwind CSS
15

Rendimiento en producción: content, purge y build limpio

Entiende cómo optimizar Tailwind en producción para generar solo las clases necesarias y evitar CSS inflado.

Código del tema: Utilidades composables + responsive

📘 Teoría

Configurar content con precisión

Si content está mal definido, Tailwind no verá clases y el resultado en producción fallará.

1

Incluye todas las rutas reales donde aparecen clases: componentes, páginas y plantillas.

2

No añadas rutas gigantes innecesarias porque ralentizan análisis del build.

3

Revisa especialmente directorios de UI compartida y vistas dinámicas.

Ejemplo de configuración content
Revisar
// tailwind.config.js
export default {
  content: [
    './index.html',
    './src/**/*.{js,ts,jsx,tsx,astro}'
  ],
  theme: {
    extend: {}
  },
  plugins: []
};

Cuidado con clases dinámicas

Construir clases como strings arbitrarios puede dejar utilidades fuera del build final.

1

Patrones como `bg-${color}-500` no siempre se detectan por el parser de contenido.

2

Prefiere mapear variantes explícitas o usa safelist para casos controlados.

3

Menos magia dinámica y más configuración explícita suele ser más robusto.

Cuándo usar safelist

Safelist es útil en contenido generado dinámicamente, pero úsalo con criterio.

1

No metas 300 clases por si acaso: aumentas CSS sin necesidad.

2

Añade solo las utilidades realmente requeridas por CMS o lógica runtime.

3

Documenta por qué cada grupo está en safelist para mantenimiento futuro.

🧪 Aprende probando

Ejemplo Demo: versión CDN y adaptación a producción Primero prototipas con CDN y luego trasladas utilidades a un build configurado con content correcto.

🏁 Retos

Reto Reto: completa una config de content Incluye las rutas esenciales para que Tailwind detecte clases en un proyecto frontend.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre Tailwind CSS.

Test de Tailwind CSS

¿Qué es esto?

Soy Cristian Eslava y a veces hago webs para procrastinar yo y vosotros 😉.

Esta la hice en febrero de 2026 para facilitar el aprendizaje de mis alumnxs. Aprender desarrollo web practicando. La idea es que crezca semanalmente con nuevos temas, tests y retos.

Inspirado en MDN, en W3Schools, en Codepen, en el crack de Manz y en mil sitios de documentación sobre desarrollo web. Quería aportar además de bloques teóricos con ejemplos, la gamificación de los retos y el sistema de test que ya tenía en culTest .

Si te gustó, si no te gustó, si quieres saludarme, o invitarme a 🍻 no dudes en escribirme en cristianeslava@gmail.com .