“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.
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ítico | Headless | Composable | |
|---|---|---|---|
| Quién publica | Cualquiera, sin ayuda | Editores, con formularios propios | Editores, en varias herramientas |
| Previsualización | Incluida | Hay que construirla | Hay que construirla, por sistema |
| Etiquetas y mapa del sitio | Incluidos o con extensión | Tuyos | Tuyos |
| Proveedores a gestionar | Uno | Dos: contenido y alojamiento | Cuatro o más |
| Puntos de fallo | Uno | Dos | Uno por servicio |
| Tiempo a la primera versión | Días | Semanas | Meses |
| Quién arregla una integración rota | El proveedor | Tú | Tú, entre dos proveedores |
| Costo de revertir | Bajo | Medio | Alto |
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.
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.
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.