Logotipo de Bitdoze

El Mejor CMS Headless para Astro en 2026: De No Usar CMS a Nivel Empresarial

¿Buscas el mejor CMS headless para Astro? Compara 10 opciones basadas en Git y en API con precios reales, desventajas honestas y un marco de decisión.

Dragos

Actualizado Publicado 29 min de lectura

El Mejor CMS Headless para Astro en 2026: De No Usar CMS a Nivel Empresarial

No uso un CMS para bitdoze.com. Escribo en VS Code, hago push a Git y Cloudflare Pages construye el sitio. El contenido vive como archivos MDX validados por Astro Content Collections con esquemas Zod. Coste cero, base de datos cero, mantenimiento cero.

Migré de WordPress a Astro usando wordpress-export-to-markdown y Codex CLI. El blog corre sobre Bun por velocidad de build y se despliega en Cloudflare Pages. Si todavía estás eligiendo framework, escribí por qué Astro le gana a Next.js y TanStack Start en sitios de contenido estático.

Entonces, ¿por qué escribir sobre opciones de CMS headless para Astro? Porque no todo el mundo es un desarrollador en solitario cómodo con Git y VS Code. A veces necesitas una interfaz en el navegador. A veces tu cliente necesita editar contenido. A veces tienes cinco redactores que no saben qué es una pull request.

La documentación de Astro lista más de 40 integraciones de CMS. Este artículo reduce esa lista a las que merecen tu tiempo, empezando por la base honesta: quizá no necesites ninguno.

Actualizado en septiembre de 2026

Dos cambios desde la versión original: Pages CMS ahora trae campos list (campos repetidos/arrays) y campos block (secciones estilo page-builder), así que la limitación de «no hay campos repetidores» ha desaparecido. Y Sitepins — una opción alojada y sin configuración — se ha añadido a la lista.

¿De verdad necesitas un CMS para Astro?

Las Content Collections de Astro ya te dan gestión de contenido con tipado seguro sin servicios extra. Este es el patrón usado en este sitio (capa de contenido de Astro 5+ con un loader):

ts
// src/content.config.ts
import { defineCollection } from 'astro:content';
import { z } from 'astro/zod';
import { glob } from 'astro/loaders';

const blog = defineCollection({
  loader: glob({ base: './src/content/posts', pattern: '**/*.{md,mdx}' }),
  schema: z.object({
    title: z.string(),
    date: z.coerce.date(),
    description: z.string(),
    draft: z.boolean().default(false),
  }),
});

export const collections = { blog };

Eso es un esquema de CMS. getCollection('blog') es tu capa de consultas. El frontmatter es tu capa de datos. VS Code (o cualquier editor) es tu interfaz. Git es tu control de versiones.

Para un desarrollador en solitario con un blog o un sitio de documentación, esto cubre la mayor parte de lo que te da un CMS basado en Git. La pieza que falta es solo una interfaz de edición más amigable.

La base «sin CMS»

Este es el ángulo que la mayoría de los rankings de «mejor CMS» se saltan. Mi configuración cuesta $0/mes y tiene cero dependencias más allá de Git. Cada CMS de abajo tiene que justificar por qué merece las piezas móviles extra.

Puedes crear un blog Astro gratis con este stack. Si quieres un editor asistido por IA, herramientas como Windsurf o Codex también pueden gestionar tu markdown. Lo cubrí en crear un blog Astro con Windsurf.

Señales de que no necesitas un CMS:

  • Eres la única persona que edita contenido
  • Te manejas bien con Git y un editor de código
  • Tu contenido es mayormente posts de blog o documentación
  • No hay que entregar el sitio a un cliente
  • Prefieres velocidad y coste cero a una interfaz en el navegador

Señales de que sí necesitas un CMS:

  • Edición en equipo (varios autores, editores, revisores)
  • Editores de contenido no técnicos que necesitan una interfaz en el navegador
  • Tipos de contenido estructurado más allá de posts (productos, eventos, miembros del equipo)
  • Programación de publicaciones, flujos de aprobación o acceso por roles
  • Simplemente prefieres una GUI a editar frontmatter YAML

Si alguna de esas aplica, sigue leyendo.

CMS basado en Git vs CMS basado en API para Astro

Antes de elegir herramienta, elige una arquitectura. Esa decisión fija tu coste, complejidad y carga operativa durante años.

CMS basado en Git

Cómo funciona: El contenido se guarda como archivos Markdown/MDX/YAML/JSON en tu repo Git. El CMS es una interfaz que hace commits de los cambios. Funciona limpiamente con getCollection() de Astro.

Alojamiento: Sin backend separado. Tu repo Git es la base de datos.

Coste: Normalmente de $0 a $10/mes.

Ideal para: Blogs, documentación, sitios de marketing, proyectos de contenido pequeños y medianos.

Ejemplos: Pages CMS, Sitepins, Keystatic, TinaCMS, Decap CMS, Sveltia CMS, CloudCannon.

CMS basado en API

Cómo funciona: Backend separado, alojado o autoalojado, con su propia base de datos. El contenido se sirve vía REST o GraphQL. Haces fetch() en tiempo de build o en SSR.

Alojamiento: SaaS (alojado por ellos) o autoalojado en un VPS con una base de datos.

Coste: Desde nivel gratuito hasta $55+/mes. Autoalojado cuesta aproximadamente $4–20/mes por un VPS más tu tiempo.

Ideal para: Modelos de contenido complejos, colaboración en tiempo real, equipos empresariales, entrega multicanal.

Ejemplos: Sanity, Strapi, Payload, Storyblok, Contentful, Directus.

Comparación de arquitecturas: CMS basado en Git vs CMS basado en API para Astro

¿Qué son los CMS basados en Git?

Un CMS basado en Git es una capa de interfaz sobre tu repositorio Git. Defines tipos de contenido (posts, páginas) y los editores obtienen un formulario o una interfaz visual. Cuando guardan, el CMS hace commit del archivo a tu repo — igual que harías tú desde VS Code.

Tu contenido sigue funcionando con las Content Collections de Astro. getCollection('blog') lee los mismos archivos tanto si los escribió un CMS como un humano. Sin llamadas a API, sin consultas a base de datos, sin dependencia en tiempo de ejecución de que el CMS esté en línea.

El CMS solo importa en el momento de editar. En tiempo de build, solo son archivos.

Cuándo tiene sentido un CMS basado en API

Recurre a un CMS de API cuando necesitas cosas que no se traducen bien a archivos:

  • Colaboración en tiempo real (varias personas en el mismo documento)
  • Relaciones complejas (productos relacionados entre miles de entradas)
  • Cadenas de aprobación y publicación programada
  • Entrega multicanal (el mismo contenido para web, app, email)
  • Un panel de administración completo con dashboards, analítica y gestión de usuarios

Sobrecarga operativa

Un CMS de API autoalojado significa un VPS ($4–20/mes), configuración de base de datos, copias de seguridad, monitorización y actualizaciones de seguridad. Tenlo en cuenta. Para un blog estático, es excesivo junto a las opciones basadas en Git.

Si estás mirando Strapi o Directus autoalojados, necesitarás un VPS. Hetzner Cloud tiene servidores europeos asequibles desde ~€4/mes — es lo que uso para mi propia flota. Hostinger VPS es otra opción económica con KVM y NVMe.

Los precios de los VPS subieron en todos los proveedores en 2026 — si estás reconsiderando un servidor alquilado, mira qué cambió y cuándo gana un mini PC.

Los mejores CMS basados en Git para Astro, comparados

Estos encajan mejor con las Content Collections de Astro. El contenido sigue siendo archivos, funciona con getCollection() y no necesita una base de datos separada. Ordenados por simplicidad, no por hype.

Pages CMS: la opción gratuita más simple

Joya oculta

Pages CMS apenas aparece en los grandes rankings de CMS, a pesar de haber sido creado para sitios estáticos. Es lo más parecido que he encontrado a «sin CMS, pero con interfaz en el navegador».

Pages CMS es lo que elegiría si necesitara un CMS en un sitio Astro mañana. Añades una config .pages.yml, inicias sesión en app.pagescms.org, editas en el navegador. Los cambios llegan como commits de Git. Sin paquete npm, sin base de datos, sin backend extra.

Datos: ~3.8k estrellas en GitHub, licencia MIT, TypeScript. Creado por Ronan Berder (@hunvreus) a finales de 2023.

Cómo funciona con Astro:

  1. Añade un .pages.yml en la raíz del repo definiendo tus tipos de contenido
  2. Conecta el repo de GitHub en app.pagescms.org
  3. Edita el contenido en el navegador
  4. Los cambios se commitean al repo; Cloudflare Pages (o tu hosting) redespliega

Precio: Totalmente gratis. La app alojada app.pagescms.org es gratis. Licencia MIT si quieres autoalojarlo.

Características clave:

  • Tipos de contenido personalizados vía config YAML
  • Editor de texto enriquecido y soporte Markdown
  • Subida de medios (S3, Cloudflare R2)
  • Búsqueda de texto completo en el contenido
  • Programación de publicaciones y control de acceso granular
  • Comentarios en línea para revisión
  • Invitaciones por email, así los editores no necesitan cuenta de GitHub
  • Campos list que repiten cualquier campo como array (tags, listas de enlaces, elementos de FAQ)
  • Campos block para secciones estilo page-builder, más components reutilizables (bloques CTA, grupos de campos SEO)

Checklist de configuración:

  • Crea .pages.yml en la raíz de tu repo con las definiciones de tipos de contenido
  • Inicia sesión en app.pagescms.org con tu cuenta de GitHub
  • Conecta tu repositorio
  • Edita contenido en el navegador y confirma que hace commit a Git

Limitaciones:

  • No hay ruta /admin integrable — el CMS es un sitio separado (app.pagescms.org o tu instancia autoalojada)
  • Solo editor basado en formularios, no WYSIWYG sobre la página
  • Solo GitHub — sin GitLab ni Bitbucket todavía
  • Mantenedor único, así que hay riesgo de bus-factor. Si el proyecto se estanca, tu contenido está a salvo (solo son archivos en Git), pero pierdes la interfaz de edición

Autoalojado: Necesita PostgreSQL, Docker y una GitHub App. La documentación de autoalojado lo cubre. Si ya usas Dokploy o Docker Compose en un VPS, es sencillo.

Qué dicen los usuarios: El feedback en Reddit es mayormente positivo: «Realmente muy fácil de configurar… exactamente lo que necesito». La queja habitual es que es un sitio web separado en lugar de un admin integrado, algo que a algunos freelancers no les gusta para entregas a clientes.

Verifica que funciona: Tras añadir .pages.yml, abre app.pagescms.org y confirma que aparece tu repo. Crea un post de prueba y comprueba que el commit aparece en el historial de Git.

Sitepins — colecciones de Astro sin configuración, pero muy joven

Sitepins es la opción más nueva aquí: un CMS alojado basado en Git que autodetecta tus Content Collections de Astro. Sin .pages.yml, sin keystatic.config.ts — conectas el repo y genera los formularios de edición a partir de tus esquemas existentes. Para contenido que no es una colección (texto de CTA, datos de contacto, ajustes del footer), apúntalo a archivos JSON/YAML y construye formularios de la misma manera.

Datos: ~170 estrellas en GitHub, AGPL-3.0, TypeScript. El repo open-source aterrizó en julio de 2026, así que juzga su madurez en consecuencia.

Cómo funciona con Astro:

  1. Regístrate en sitepins.com y conecta tu repo Git
  2. Sitepins lee tus Content Collections y genera la interfaz de edición
  3. Edita en el navegador; los cambios se commitean a Git y disparan un redespliegue

Precio:

  • Hobby: gratis — 3 sitios (1 repo privado), 1 usuario
  • Pro: $12/mes ($10 anual) — 6 sitios, 3 usuarios, sandbox de vista previa en vivo, sugerencias SEO, rollback
  • Team: $29/mes — soporte GitLab, 15 sitios, 5 usuarios
  • Existen ofertas de por vida ($249+) si las suscripciones te molestan

Limitaciones:

  • Muy joven: repo de meses, ~170 estrellas, comunidad pequeña, riesgo real de bus-factor
  • AGPL-3.0 — bien para sitios de clientes, revísalo antes de integrarlo en un producto
  • La vista previa en vivo y el multiusuario son de pago
  • Un usuario en el nivel gratuito, así que una entrega a cliente solo funciona si el cliente es ese único usuario

¿Para quién es? Freelancers que quieren un sitio editable por el cliente con cero configuración de CMS. Si el cliente es el único editor, Hobby cuesta $0. Vigila este proyecto — si madura, da en el punto dulce de Pages CMS con menos configuración.

Verifica que funciona: Conecta un repo de prueba con una Content Collection, confirma que se genera el formulario, edita un campo y comprueba el commit en Git.

Keystatic — nativo en TypeScript con soporte de primera clase para Astro

Keystatic viene de Thinkmill (el equipo de KeystoneJS). Todo se configura en TypeScript, y la interfaz de administración vive en /keystatic dentro de tu proyecto Astro.

Datos: ~2.2k estrellas en GitHub, licencia MIT, TypeScript. Empezó a principios de 2023.

Cómo funciona con Astro:

  1. Instala @keystatic/core + @keystatic/astro + @astrojs/react + @astrojs/markdoc
  2. Define colecciones y singletons en keystatic.config.ts
  3. El contenido se guarda como Markdoc (.mdoc), YAML o JSON en tu repo
  4. Interfaz de administración en /keystatic
ts
// keystatic.config.ts
import { config, collection, fields } from '@keystatic/core';

export default config({
  storage: { kind: 'local' },
  collections: {
    posts: collection({
      label: 'Posts',
      slugField: 'title',
      path: 'src/content/posts/*',
      format: { contentField: 'content' },
      schema: {
        title: fields.slug({ name: { label: 'Title' } }),
        content: fields.markdoc({ label: 'Content' }),
      },
    }),
  },
});

Precio: Gratis para flujos locales y con GitHub. Keystatic Cloud (opcional): gratis hasta 3 usuarios/equipo; Pro a $10/mes/equipo + $5/usuario a partir del cuarto. Cloud añade auth con GitHub, Cloud Images (CDN) y edición multijugador experimental.

Requiere SSR

La ruta de administración /keystatic necesita un servidor Node.js. No puedes usar output: 'static' solo — se requiere modo híbrido/SSR con un adaptador como @astrojs/node. Las páginas públicas pueden seguir siendo estáticas; solo la ruta de administración necesita un servidor en ejecución.

Por qué consideraría Keystatic: La config en TypeScript es realmente agradable de usar. Las colecciones, singletons y la Reader API mantienen el contenido con tipado seguro sin salir de tu editor. Si ya usas Bun para builds de Astro más rápidos, encaja con ese flujo.

Limitaciones:

  • Dependencia de React para la interfaz de administración — añade peso si tu sitio no usa React
  • El contenido se autocrea en subcarpetas según el slug, lo que confunde a mucha gente
  • ~174 issues abiertos en GitHub (mediados de 2026)
  • Algunos usuarios de Reddit lo encontraron «sorprendentemente difícil de entender»

Qué dicen los usuarios: «Sorprendentemente difícil… el problema principal era no saber cómo hacer posts sin las subcarpetas autogeneradas… error de usuario pero un dolor real. De verdad quería que me gustara». Los devs a los que les gustan las herramientas TypeScript-first suelen quedarse; la gente que quiere una configuración visual en cinco minutos suele abandonar.

Verifica que funciona: Tras instalar, abre /keystatic y confirma que carga el admin. Crea un post de prueba y comprueba que el archivo llega a tu directorio de contenido con el esquema correcto.

TinaCMS — edición visual para equipos

TinaCMS tiene más estrellas en GitHub entre las opciones basadas en Git de aquí. La mantiene SSW (consultora australiana). La característica estrella es la edición visual: los editores ven los cambios en la página real, no solo en un formulario.

Datos: ~13.7k estrellas en GitHub, Apache 2.0, TypeScript. Empezó a mediados de 2019.

Cómo funciona: Basado en Git con una capa GraphQL. Contenido en Markdown/MDX/JSON/YAML. Astro es un starter de primera clase (lo hicieron opción por defecto alrededor de 2024). Instala con npx create-tina-app@latest y elige el starter de Astro.

Precios (TinaCloud), por proyecto:

  • Free: $0 para siempre, 2 usuarios, 2 roles, soporte comunitario
  • Team: $24/mes ($290/año), 3 usuarios incluidos, hasta 10
  • Team Plus: $41/mes ($490/año), 5 usuarios incluidos, hasta 20, Editorial Workflow
  • Business: $249/mes ($2,990/año), 20 usuarios incluidos, asientos ilimitados

Tina ha dicho que la gran mayoría de usuarios se quedan en el nivel gratuito.

Cargado de dependencias

Varias personas reportan conflictos de versiones y un «infierno de dependencias» con TinaCMS. Prueba antes de apostar un sitio de producción. La edición visual completa depende de TinaCloud — autoalojar esa experiencia es complicado.

Limitaciones:

  • ~430+ issues abiertos en GitHub
  • El nivel gratuito se queda en 2 usuarios — el tercer editor significa Team a $24/mes
  • Las funciones de edición visual necesitan TinaCloud
  • Árbol de dependencias más pesado que Pages CMS o Keystatic

Verifica que funciona: Ejecuta npx create-tina-app@latest con el starter de Astro. Confirma que el editor visual carga y puedes crear/editar un post con vista previa en vivo.

Decap CMS y Sveltia CMS — los caballos de batalla open-source

Decap CMS (antes Netlify CMS) es el viejo estándar de los CMS basados en Git. ~19.3k estrellas en GitHub, MIT. Existe desde 2015. Netlify dejó el soporte oficial; el fork comunitario (Decap) lo mantiene vivo a un ritmo más lento. La interfaz se siente anticuada junto a herramientas más nuevas.

La autenticación es el dolor de cabeza nº 1

La autenticación de Decap es donde la mayoría de proyectos se atascan. Netlify Identity está obsoleto. Auth0 es un proyecto en sí mismo. Mejores opciones: GitHub OAuth con un proxy (DecapBridge), o saltarte Decap y usar Pages CMS / Keystatic.

Sveltia CMS (~2.6k estrellas en GitHub, MIT) es un reemplazo directo de Decap. Mismo formato de config, mismo modelo Git, pero más rápido, con interfaz moderna, soporte móvil e i18n integrado. ¿Ya estás en Decap y odias la interfaz? Cambia el include del script. Listo.

Ambos funcionan vía include de CDN — sin paquete npm. Archivo de config + etiqueta script. El contenido sigue funcionando con getCollection() porque solo son archivos.

Limitación: Ninguno hace edición visual. Solo formularios, parecido a Pages CMS. La auth sigue heredando el diseño de la era Netlify de Decap, que es la principal fuente de frustración.

Verifica que funciona: Tras la config, abre /admin y completa el flujo OAuth de GitHub. Crea un post de prueba y comprueba el commit en Git.

CloudCannon — edición visual para entregas a clientes

CloudCannon es el CMS premium basado en Git. Partner destacado en la documentación de Astro, y una de las experiencias de edición visual más pulidas en el espacio Git. El contenido sigue en tu repo. Edición y publicación basadas en ramas.

Precio:

  • Standard: $55/mes
  • Partner Program Lite: $10/mes por cliente (para freelancers/agencias)

Optimización de imágenes integrada, conectores DAM, programación de contenido y una sólida integración con Astro con starters de componentes.

Limitaciones: Propietario. El contenido está en Git, pero el editor visual es producto de CloudCannon. Si te vas, conservas los archivos y pierdes el flujo. A $55/mes estándar, es caro para proyectos en solitario. El precio Partner ($10/cliente) es la cifra interesante si entregas sitios a clientes con regularidad.

Vendor lock-in: El contenido es tuyo. El flujo de edición no. Una subida de precio o un cierre significa buscar una interfaz nueva, no una migración de contenido.

Front Matter CMS — la extensión de VS Code

Front Matter CMS es una extensión gratuita de VS Code: panel de contenido, gestión de medios, comprobaciones SEO, tipos de contenido y un panel de frontmatter — todo dentro del editor.

Precio: Gratis. Licencia MIT.

Lo más parecido a «sin CMS, pero un poco mejor». Genial para devs en solitario que quieren una barra lateral sin saltar al navegador. Inútil para equipos o editores no técnicos — todos necesitan VS Code.

Funciona en Windsurf y otros forks de VS Code. Combínala con edición asistida por IA si te gusta ese flujo.

Verifica que funciona: Instálala desde el marketplace de VS Code. Confirma que el panel lateral lista tus archivos de contenido.

StudioCMS — nativo de Astro

StudioCMS está construido por la comunidad de Astro para Astro. Salió de beta en enero de 2026 (v0.1.0). Dashboard, API de almacenamiento, taxonomía y un diseño centrado en SSR orientado al ecosistema Astro.

Datos: ~800 estrellas en GitHub. Todavía joven, pero ya no es «no lo toques en producción».

Vale la pena echarle un vistazo si quieres herramientas solo para Astro y te va bien un proyecto que acaba de salir de beta. Para trabajo con clientes o sitios críticos, yo seguiría eligiendo algo más probado (Pages CMS, Keystatic, Tina, CloudCannon). Para un proyecto personal o si te gusta ser early adopter, pruébalo.

Los mejores CMS headless basados en API para Astro

Estos necesitan un backend separado. Más potencia para modelos complejos, equipos y empresa. Si tienes un blog simple, esta sección es excesiva — usa una opción basada en Git de arriba.

¿Autoalojado? Necesitarás un VPS. Hetzner Cloud desde ~€4/mes. Vultr si quieres más regiones.

Sanity — el studio más personalizable

Sanity tiene un plugin oficial de Astro y un Studio de administración altamente personalizable. Portable Text para contenido enriquecido estructurado, colaboración en tiempo real, CDN de imágenes con WebP/AVIF automático, GROQ, Studio basado en React que puedes moldear a tu modelo de contenido.

Precio: El plan gratuito es usable (hasta 20 asientos con roles limitados). Growth es $15 por asiento/mes, no $15 fijos.

La trampa: Casi todo es DIY. Tienes mucho control, y cableas la mayor parte tú mismo. Genial si disfrutas construyendo interfaces de edición personalizadas. Doloroso si solo quieres lanzar un blog.

Verifica que funciona: Configura Studio + el plugin de Astro, crea una entrada de prueba y confirma que la página la renderiza a través del data fetching del plugin.

Strapi y Payload — open-source autoalojados

Strapi es el gran CMS headless open-source (~73k estrellas en GitHub). Admin personalizable, REST + GraphQL, permisos por roles. Autoalojado gratis. Necesita Node.js y una base de datos en un VPS.

Payload es más nuevo y muy valorado por el modelado de contenido y la extensibilidad (~44k estrellas). También autoalojado y gratuito en el núcleo.

Coste de autoalojado

Presupuesta $6–10/mes para un VPS con al menos 2GB de RAM. Un Hetzner CX22 (2 vCPU, 4GB RAM, ~€5/mes) ejecuta Strapi sin problemas para sitios de poco tráfico. DigitalOcean es otra opción sólida.

Ambos tienen sentido cuando quieres un panel de administración completo y una API. Para un blog Astro estático, el trabajo operativo (VPS, base de datos, copias de seguridad, actualizaciones, seguridad) rara vez se paga solo.

Verifica que funciona: Tras desplegar con Docker, abre la URL de administración, crea una entrada de prueba, consulta el endpoint de la API.

Modo de fallo: Si el VPS muere, los builds que traen contenido fallan. Planifica monitorización y copias de seguridad.

Storyblok — el mejor editor visual

Storyblok tiene un SDK oficial de Astro y uno de los mejores editores visuales entre los CMS headless. La sensación más cercana a WordPress para editores no técnicos: clic en un componente de la página, edición en línea. «Bloks» basados en componentes dentro de texto enriquecido.

Precio:

  • Starter (gratis): 1 asiento, tráfico/API limitados
  • Growth: $99/mes (5 asientos)
  • Growth Plus: $349/mes (15 asientos)
  • Asientos extra: $15/mes

La integración con Astro está mantenida. Si vas a entregar un sitio a un cliente que conoce WordPress, Storyblok le resultará familiar.

Limitación: Solo SaaS. Sin autoalojado. Estás atado a sus precios a largo plazo.

Contentful — listo para empresa, pero vigila el precio

Contentful es fuerte en empresa: modelado de contenido, flujos de trabajo, roles, multilingüe, DAM, APIs fiables. Ya he cubierto Contentful con Astro antes.

Susto en la factura

El nivel gratuito funciona para sitios pequeños. El precio escala rápido con el uso. Con MAU alto, los presupuestos enterprise pueden llegar a miles por mes. Reddit lo califica de caro con regularidad. Prueba en gratis antes de comprometerte.

Limitaciones: Inserción incómoda de componentes a mitad de artículo y manejo rígido de bloques de texto. Sólido como backend API-first; la experiencia de autoría queda por detrás de Storyblok para el trabajo de contenido diario.

Directus — envuelve cualquier base de datos

Directus es open-source y autoalojado. Envuelve bases de datos SQL (PostgreSQL, MySQL, SQLite, etc.) con REST + GraphQL y un panel de administración. Suscripciones en tiempo real, permisos granulares, Flows (automatización).

Buena opción cuando ya tienes datos en SQL y quieres un CMS encima. El núcleo autoalojado es gratis. Cloud es un extra de pago (los planes empiezan por encima de la mayoría de presupuestos individuales — revisa los precios actuales antes de planificar con ellos).

Modo de fallo: El mismo mantenimiento de VPS que Strapi/Payload. CMS caído en tiempo de build = despliegue fallido.

BCMS — evítalo en proyectos nuevos

Open-source abandonado

El BCMS open-source está congelado desde octubre de 2024. El README del repo de GitHub dice que ya no se mantiene. BCMS Pro es cerrado y con precios poco claros. No empieces proyectos nuevos con la versión OSS.

BCMS (~460 estrellas, MIT) pintaba bien sobre el papel: interfaz moderna, modelado flexible, Next/Astro/Svelte. El equipo principal llevó el desarrollo a privado en septiembre de 2024. Sin actualizaciones, arreglos ni parches de seguridad en el repo abierto.

Sáltalo para trabajo nuevo en Astro. El sitio de BCMS ahora promociona una dirección de «CMS headless para agentes de IA», que es un producto distinto.

¿Ya estás en BCMS? El contenido está a salvo si lo autoalojas, pero estás sobre código sin soporte. Planifica una migración.

Comparación de precios: lo que cada CMS cuesta de verdad

CMS Tipo Nivel gratuito Pago inicial ¿Autoalojado?
Sin CMS (MDX + Git) Archivos ✅ $0/mes $0 N/A
Pages CMS Basado en Git ✅ Todo gratis $0 ✅ (necesita PostgreSQL)
Sitepins Basado en Git ✅ 3 sitios, 1 usuario $12/mes (3 usuarios) ✅ (AGPL-3.0)
Keystatic Basado en Git ✅ Hasta 3 usuarios $10/mes + $5/usuario ✅ (el núcleo es gratis)
TinaCMS Basado en Git ✅ 2 usuarios $24/mes (3 usuarios) ⚠️ Complejo
Decap CMS Basado en Git ✅ Todo gratis $0 ✅ (auth desacoplada)
Sveltia CMS Basado en Git ✅ Todo gratis $0 N/A (SPA alojada en CDN)
CloudCannon Basado en Git ❌ Sin nivel gratis $55/mes ($10 partner) ❌ Solo SaaS
Front Matter CMS Basado en Git (VS Code) ✅ Todo gratis $0 N/A (extensión)
StudioCMS Nativo de Astro ✅ Gratis $0 ✅ (stack propio / Astro)
Sanity Basado en API ✅ Plan gratis (asientos limitados) $15/asiento/mes Studio autoalojable; Content Lake es SaaS
Storyblok Basado en API ✅ Starter (1 usuario) Growth: $99/mes (5 asientos) ❌ Solo SaaS
Contentful Basado en API ✅ Nivel gratis Escala rápido ❌ Solo SaaS
Strapi Basado en API ✅ Autoalojado gratis Planes Cloud varían ✅ (necesita VPS)
Payload Basado en API ✅ Autoalojado gratis Planes Cloud varían ✅ (necesita VPS)
Directus Basado en API ✅ Autoalojado gratis Cloud extra (revisar actual) ✅ (necesita VPS)
BCMS Basado en API ⚠️ OSS congelado Pro: poco claro ✅ (MongoDB + Docker)

Los caminos más baratos

Cuatro opciones se mantienen en $0/mes: sin CMS (MDX + Git a secas), Pages CMS (alojado gratis), Sitepins Hobby (3 sitios, 1 usuario) y Front Matter CMS (extensión de VS Code). ¿Necesitas una interfaz en el navegador? Empieza con Pages CMS.

Costes ocultos:

  • CMS de API autoalojado: $4–20/mes de VPS + configuración, copias de seguridad, actualizaciones
  • CMS basado en Git con subida de imágenes: almacenamiento S3/R2, o repo hinchado si commiteas binarios
  • Keystatic Cloud Images: función del plan Pro, dependencia externa
  • CloudCannon: $55/mes estándar, o $10/cliente en Partner Program

Cómo elegir el CMS correcto para tu proyecto Astro

Dos preguntas importan: quién edita el contenido y dónde vive el contenido.

Dev en solitario

Recomendación: Sin CMS, Pages CMS (interfaz en navegador gratis) o Front Matter CMS (barra lateral de VS Code).

¿Blog personal o documentación? Empieza sin CMS. Añade Pages CMS si quieres un navegador sin cambiar infraestructura. Añade Front Matter si solo quieres un panel de VS Code más agradable.

¿Por qué no Keystatic o Tina? Puedes. Añaden React, adaptadores SSR o cuentas Cloud que un blog en solitario rara vez necesita salvo que quieras una función concreta.

Equipo pequeño (2–5)

Recomendación: Pages CMS (gratis, simple) o Keystatic (gratis para ≤3 usuarios, $10+ después).

Pages CMS gana en simplicidad — invitaciones por email para usuarios sin GitHub, edición en navegador, commits a Git. Keystatic gana si al equipo le gusta la config en TypeScript y un admin integrado en /keystatic.

TinaCMS funciona si necesitas edición visual, pero $24/mes por tres usuarios suma para equipos pequeños.

Entrega a cliente

Recomendación: CloudCannon ($10/partner), Sitepins (gratis para 1 editor cliente), TinaCMS (gratis para 2 usuarios) o Storyblok (edición visual).

Freelancers que entregan sitios a clientes no técnicos: CloudCannon Partner a $10/mes por cliente es difícil de superar. Sitepins es la alternativa de $0 cuando el cliente es el único editor — autodetecta las Content Collections, sin config de CMS. Tina funciona para entregas simples de dos usuarios. Storyblok si quieren algo más parecido a WordPress.

Sanity si estás dispuesto a construir un Studio personalizado alrededor de su flujo.

Matriz de decisión

Escenario Mejor elección Por qué
Dev en solitario, blog personal Sin CMS (MDX + Git) $0, cero complejidad
Dev en solitario, quiere interfaz en navegador Pages CMS Gratis, simple, sin npm
Dev en solitario, quiere config en TypeScript Keystatic Astro de primera clase, tipado seguro
Equipo de 3–5, presupuesto ajustado Pages CMS Gratis, invitaciones por email
Equipo de 3–5, edición visual TinaCMS Editor visual, $24/mes
Entrega a cliente, presupuesto ajustado CloudCannon Partner $10/mes por cliente
Entrega a cliente, presupuesto cero Sitepins Hobby Gratis para un solo editor, cero config
Entrega a cliente, premium Storyblok Editor visual potente
Modelos de contenido complejos Sanity o Strapi API completa, tipos personalizados
Empresa, multicanal Contentful o DatoCMS Probado a escala

Errores comunes al añadir un CMS a Astro

Modos de fallo que sigo viendo:

1. La auth de Decap CMS es un sumidero de tiempo. Netlify Identity está obsoleto. Auth0 es pesado. ¿Empezando de cero? Pages CMS o Keystatic. ¿Atascado en Decap? GitHub OAuth + DecapBridge.

2. La confusión de subcarpetas de Keystatic. El contenido autocrea carpetas a partir de slugs. Una estructura plana bajo src/content/posts/ necesita una config de rutas cuidadosa. La config en TypeScript es potente y fácil de configurar mal.

3. Conflictos de dependencias de TinaCMS. Los choques de versiones con Astro y otros paquetes aparecen a menudo. Haz una prueba de humo con npx create-tina-app@latest antes de comprometerte. Fija versiones si algo se rompe.

4. El BCMS open-source está muerto. No empieces proyectos nuevos con él. Congelado desde octubre de 2024.

5. Los precios de Contentful escalan con dureza. Gratis va bien para sitios pequeños. Mayor tráfico/uso puede saltar a precios enterprise. Revisa el uso pronto.

Hinchazón de imágenes en CMS basados en Git

Las herramientas basadas en Git suelen guardar las imágenes en el repo. Cincuenta posts con unas pocas imágenes cada uno está bien. Cientos de posts con assets de alta resolución hincharán los clones y los builds. Descarga los medios a un CDN. El almacenamiento de Bunny.net es barato (~$0.01/GB/mes). Keystatic Cloud Images y CloudCannon tienen opciones integradas.

6. CMS de API = punto único de fallo. Backend caído en tiempo de build = despliegue fallido. Para sitios estáticos tu pipeline depende de ese servicio. Monitóralo, y ten un plan para builds obsoletos. Si estás desplegando en Cloudflare Pages, los builds recientes en caché pueden ganar tiempo — solo si has desplegado recientemente.

Preguntas frecuentes

¿De verdad necesito un CMS para Astro?

No. Las Content Collections con Zod y MDX te dan contenido validado y con tipado seguro sin servicios extra. ¿Blog en solitario o sitio de documentación? Eso basta. El CMS es una capa de interfaz. Si te va bien VS Code y Git, sáltatelo. bitdoze.com funciona así.

¿Cuál es el CMS headless más barato para Astro?

Pages CMS es gratis de extremo a extremo (alojado + MIT). Sitepins tiene un nivel Hobby gratis (3 sitios, 1 usuario). Front Matter CMS es gratis como extensión de VS Code. No usar CMS también es $0. En opciones de API, Strapi y Payload autoalojados son gratis pero necesitan un VPS (~$4–20/mes).

¿Puedo autoalojar un CMS headless en mi VPS?

Sí. Pages CMS, Strapi, Directus y Payload lo soportan. Planifica al menos 2GB de RAM para Strapi/Directus. Un Hetzner CX22 (~€5/mes) cubre CMS autoalojados de poco tráfico. Aun así te encargas tú de Docker, copias de seguridad y actualizaciones de seguridad. Si ya usas Dokploy o paneles autoalojados similares, añadir un contenedor de CMS es sencillo.

Keystatic vs TinaCMS — ¿cuál es mejor para Astro?

Keystatic si quieres config en TypeScript y un admin limpio en /keystatic. TinaCMS si el equipo necesita edición visual sobre la página en vivo. Keystatic es más ligero (sin TinaCloud obligatorio) pero necesita un adaptador SSR. Tina tiene más funciones, más dependencias y cuesta más en cuanto sales del nivel gratuito.

¿Sigue siendo BCMS una buena opción?

No. El open-source lleva congelado desde octubre de 2024. El README dice que no habrá más actualizaciones. BCMS Pro es cerrado y con precios poco claros. Para proyectos Astro nuevos usa Pages CMS, Keystatic u otro proyecto activo.

¿Cómo gestiono las imágenes sin hinchar mi repo Git?

Usa un CDN externo. El almacenamiento de Bunny.net cuesta unos $0.01/GB/mes con CDN global. Pages CMS soporta S3 y Cloudflare R2. Keystatic Cloud Images está en el plan Pro. Cloudinary tiene un nivel gratuito útil. Para builds de Astro más rápidos, un repo ligero sigue importando — los directorios de imágenes grandes ralentizan los tiempos de clonado y build.

Conclusión

El mejor CMS headless para Astro podría ser no usar ninguno. Así funciona este blog. Content Collections + MDX + Git te dan contenido con tipado seguro por $0 sin nada que vigilar.

Cuando sí necesitas un CMS — edición en equipo, editores no técnicos, entregas a clientes — las herramientas basadas en Git se alinean mejor con la arquitectura de Astro. Pages CMS es la opción gratuita más simple. Sitepins si quieres edición de colecciones sin configuración (producto joven, eso sí). Keystatic si quieres config nativa en TypeScript y soporte de primera clase para Astro. TinaCMS si necesitas edición visual. CloudCannon para entregas a clientes.

Solo pasa a API cuando necesites colaboración en tiempo real, modelos complejos o funciones empresariales — y presupuesta VPS, base de datos, copias de seguridad y monitorización si autoalojas.

Elige según quién edita tu contenido, no según qué producto tiene la lista de funciones más larga.

¿Migraste desde WordPress? Empieza aquí