Regresar
102

CMS monolítico vs headless vs composable

Actualizado: 14/09/2026

“WordPress ya está viejo, hagámoslo headless.”

Es probable que hayas escuchado esa frase, o que la hayas dicho. El problema no es que sea falsa, es que responde a una pregunta que nadie hizo.

La pregunta que decide este asunto no aparece en ninguna comparación de tecnologías: quién va a publicar el contenido, con qué frecuencia, y qué necesita ver antes de darle a guardar. De ahí se deriva casi todo lo demás.

Este artículo compara las tres formas de repartir contenido y presentación desde ese ángulo, que es el que se paga después.

Qué se está separando en realidad

Las tres opciones responden a lo mismo: cuánto se separa el lugar donde vive el contenido del lugar donde se muestra.

El acoplamiento que se rompe

En un CMS tradicional, el contenido y su presentación viven juntos: el mismo sistema guarda el texto, decide cómo se ve y lo sirve al visitante.

En headless, el CMS solo guarda y entrega datos. Todo lo que ocurre entre ese dato y lo que ve el usuario pasa a ser tuyo: plantillas, rutas, etiquetas, mapa del sitio, redirecciones y previsualización.

Eso último es la clave que casi nunca aparece en la comparación. Separar no elimina trabajo: lo transfiere de un sistema que ya lo resolvía a un equipo que ahora tiene que resolverlo.

Quién edita, quién mantiene y qué cuesta cada opción

CMS monolíticoHeadlessComposable
Quién publicaCualquiera, sin ayudaEditores, con formularios propiosEditores, en varias herramientas
PrevisualizaciónIncluidaHay que construirlaHay que construirla, por sistema
Etiquetas y mapa del sitioIncluidos o con extensiónTuyosTuyos
Proveedores a gestionarUnoDos: contenido y alojamientoCuatro o más
Puntos de falloUnoDosUno por servicio
Tiempo a la primera versiónDíasSemanasMeses
Quién arregla una integración rotaEl proveedorTúTú, entre dos proveedores
Costo de revertirBajoMedioAlto

Las dos filas que más pesan en la práctica son la de previsualización y la de quién arregla una integración rota. Ninguna de las dos aparece en las comparativas de los proveedores, por motivos evidentes.

Tabla de tres columnas, CMS tradicional, headless y composable, en cuatro tareas. Editar contenido lo resuelve el CMS en los tres. La vista previa la resuelve el CMS solo en el tradicional y el equipo en los otros dos. Las plantillas y el diseño, igual. Unir las piezas lo resuelve el CMS en el tradicional y en headless, y el equipo en composable
Cada celda marcada en rojo es trabajo que antes venía resuelto y ahora lo asume tu equipo.

Lo que un CMS tradicional resolvía gratis

Al salir de un sistema acoplado se hereda una lista de tareas que antes nadie veía porque venían hechas. Esto es lo que pasa a ser código tuyo:

// Todo esto lo daba el CMS. Ahora lo generas tú, por página.
$meta = [
    'title'       => $post->seoTitle ?: $post->title,
    'description' => $post->excerpt,
    'canonical'   => $site . $post->url,     // y decidir qué es canónico
    'og:image'    => $post->image ?: $site . '/og-default.jpg',
    'robots'      => $post->published ? 'index, follow' : 'noindex',
];

// Y además: sitemap.xml al publicar, redirecciones cuando cambia
// un slug, y una previsualización de lo no publicado.

Ninguna de esas piezas es difícil por separado. El problema es que son ocho o diez, hay que acordarse de todas, y las que se olvidan no fallan de forma visible: simplemente el contenido deja de posicionar, o una URL antigua empieza a devolver un error que nadie nota durante meses.

La redirección al cambiar un slug es el caso más típico. En un CMS tradicional suele estar resuelta; en un sistema propio, si nadie la programó, cada corrección de un título rompe los enlaces existentes.

Cuándo headless sí compensa

Compensa

  • El mismo contenido alimenta varios destinos: web, aplicación móvil, pantallas, boletines.
  • El equipo ya construye la interfaz de todos modos y no va a usar plantillas del CMS.
  • Necesitas control total del rendimiento y de lo que se envía al navegador.
  • El contenido cambia poco y se publica por lotes, no varias veces al día.

No compensa

  • Un solo sitio web y un solo destino.
  • Quien publica no es técnico y necesita ver el resultado antes de guardar.
  • El proyecto depende de extensiones que ya resuelven formularios, tienda o multiidioma.
  • No hay nadie que mantenga el frontend cuando quien lo construyó no esté.

El punto de la previsualización es el que más fricción genera después. Un editor acostumbrado a ver la página antes de publicar no acepta bien escribir a ciegas en un formulario, y construir una previsualización fiel en un sistema propio cuesta bastante más de lo que parece.

El argumento del rendimiento, con matices

La razón más repetida para dejar un CMS tradicional es la velocidad. Es un argumento real, pero rara vez se plantea con precisión, y eso lleva a proyectos que se rehacen enteros para resolver algo que tenía una solución mucho más barata.

Un CMS acoplado es lento por un motivo concreto: cada visita ejecuta código y consulta la base de datos para producir una página que casi siempre es idéntica a la anterior. Ese trabajo se repite miles de veces al día para devolver lo mismo.

Pero eso no se arregla necesariamente separando el contenido de la presentación. Se arregla no repitiendo el trabajo, y hay tres formas de conseguirlo, en orden de costo:

  • Caché de página en el propio CMS. Una extensión que guarda el HTML ya generado y lo sirve tal cual. Es lo más barato y suele bastar.
  • Un CDN por delante. Las páginas se sirven desde un punto cercano al visitante sin tocar tu servidor. Tampoco requiere cambiar la arquitectura.
  • Generación estática. El HTML se produce una vez al publicar y el servidor solo entrega archivos. Es lo más rápido posible y es lo que hace este sitio.

La tercera es la que a veces se confunde con headless, y no son lo mismo. Puedes generar un sitio estático a partir de un CMS tradicional, y puedes tener un headless que renderiza en cada petición y va lento igual.

La pregunta útil no es si el CMS es lento, es dónde se está repitiendo trabajo que podría hacerse una sola vez. Si la respuesta se resuelve con caché, cambiar de arquitectura es una obra mayor para un problema menor.

Si ya tienes un CMS y estás pensando en cambiar

Este es el punto de partida de casi todo el mundo, y el que menos se cubre en las comparativas, porque el escenario habitual no es elegir desde cero sino decidir si vale la pena moverse.

Antes de migrar conviene medir tres cosas del sistema actual, porque las tres determinan el costo real del cambio y ninguna se ve a simple vista.

Lo que hay que contar antes de decidir

Cuántas URLs están indexadas. Cada una necesita seguir existiendo o redirigir a su equivalente. Si son miles y el esquema de URLs cambia, esa tabla de redirecciones es parte del proyecto, no un detalle posterior.

Qué extensiones están en uso y qué hace cada una. Formularios, multiidioma, tienda, reservas. Cada una es funcionalidad que en el sistema nuevo hay que construir o contratar aparte.

Cuántas personas publican y con qué frecuencia. Define cuánto vas a tener que invertir en la experiencia de edición, que es justo lo que headless no trae.

Con esos tres números la decisión deja de ser una preferencia técnica y pasa a ser una estimación. Un sitio de doscientas páginas con dos extensiones y un editor ocasional es una migración de semanas; uno de veinte mil URLs con tienda y tres idiomas es un proyecto que conviene no empezar sin estar seguro.

Y si decides migrar, hay un orden que reduce el riesgo: mantener el CMS actual como panel de edición y empezar consumiendo su API para generar el sitio. Así compruebas que el contenido sale bien y que el frontend nuevo se sostiene, antes de cambiar también la herramienta con la que trabaja quien publica.

El problema específico de composable

Composable lleva la idea un paso más allá: un servicio para el contenido, otro para la búsqueda, otro para la tienda, otro para las imágenes, cada uno el mejor en lo suyo.

Sobre el papel es atractivo. En la práctica cambia la naturaleza del trabajo: dejas de construir funcionalidad y pasas a mantener integraciones.

Cada proveedor trae su propio modelo de datos

El producto que devuelve la tienda no tiene la misma forma que el producto que indexó el buscador ni que la ficha que escribió el editor en el CMS. Alguien tiene que decidir cuál manda y mantener la traducción entre los tres, y eso es código que hay que escribir, probar y actualizar cada vez que uno de ellos cambie.

Los fallos dejan de ser evidentes

Con un sistema único, si algo se cae, se cae entero y se nota. Con cuatro servicios, lo normal es que falle uno: la búsqueda deja de devolver resultados nuevos, o las imágenes tardan, mientras el resto funciona. Nadie reporta nada y el problema puede durar semanas.

La factura crece por partes

Cada servicio tiene su propio plan, su propio límite y su propio escalón de precio. La suma rara vez se calcula de antemano, y suele aparecer cuando ya hay contenido y clientes dentro de los cuatro.

Composable se justifica cuando hay equipos distintos que gestionan áreas distintas del negocio y necesitan herramientas especializadas. Para un proyecto que lleva una o dos personas, es la forma más rápida de convertir el mantenimiento en un trabajo de tiempo completo.

Un solo sistema guarda el contenido, decide cómo se ve y lo sirve al visitante. WordPress, Drupal y la mayoría de los CMS clásicos funcionan así.

Ventaja: quien publica no necesita ayuda técnica. Previsualización, etiquetas, mapa del sitio y redirecciones vienen resueltos, y hay extensiones para casi todo.

Costo: la presentación queda atada al sistema, y el rendimiento depende de cuántas extensiones acumules.

Úsalo cuando hay un solo sitio y quien publica no es técnico. Evítalo si el mismo contenido tiene que alimentar varios destinos.

El CMS guarda y entrega datos por una API. Lo que ve el usuario lo construyes tú, por completo.

Ventaja: el mismo contenido sirve para web, aplicación o boletín, y controlas exactamente qué se envía al navegador.

Costo: heredas todo lo que el CMS resolvía solo: previsualización, etiquetas por página, mapa del sitio y redirecciones al cambiar una URL.

Úsalo cuando hay varios destinos o ya ibas a construir la interfaz igual. Evítalo si nadie va a mantener ese frontend a largo plazo.

Varios servicios especializados, cada uno el mejor en lo suyo: contenido, búsqueda, tienda, imágenes, unidos por integraciones propias.

Ventaja: cada área usa la herramienta adecuada, y equipos distintos pueden trabajar sin pisarse.

Costo: el trabajo pasa de construir funcionalidad a mantener integraciones, con un modelo de datos distinto por proveedor y fallos parciales difíciles de notar.

Úsalo cuando hay equipos dedicados por área. Evítalo mientras el proyecto lo lleven una o dos personas.

Cómo decidir sin quedar atrapado

Tres preguntas, en este orden, resuelven casi todos los casos.

  1. ¿Cuántos destinos consumen este contenido? Si la respuesta es uno, un CMS tradicional hace el trabajo y te ahorra todo lo demás.
  2. ¿Quién publica y qué necesita ver antes de hacerlo? Si no es técnico y quiere previsualizar, headless implica construirle esa previsualización. Contémplalo desde el principio, no después.
  3. ¿Quién mantiene esto dentro de dos años? Si la respuesta es una sola persona, cada proveedor adicional es una cosa más que puede romperse sin que nadie sepa arreglarla.

Hay además un camino intermedio que rara vez se propone y que resuelve bien muchos casos: usar un CMS tradicional solo como panel de edición y generar el sitio como HTML estático a partir de su API. Conservas la comodidad de publicación y ganas rendimiento, sin construir un frontend entero desde cero.

Y una advertencia sobre el sentido del cambio: pasar de un CMS tradicional a headless es un proyecto acotado, porque el contenido sale por una API y se puede importar. Volver de composable a algo simple implica desenredar varios proveedores a la vez, y por eso casi nunca se hace, aunque convendría.


Comparativa intermedio