Content Collections: contenido tipado y ordenado

Estructura contenido con validación de esquema para evitar errores silenciosos en blogs y documentación.

Content Collections te ayuda a tratar contenido como datos bien definidos, no como archivos sueltos sin control.

Con esquemas, validas campos obligatorios y evitas publicar entradas incompletas por error.

Este enfoque es clave cuando el proyecto crece y varias personas editan contenidos.

También mejora DX porque tienes autocompletado y errores claros en build.

  • Campos explícitos = menos sorpresas en producción.
  • Después de validar, toca consumir contenido.
  • Usa getCollection('blog').
  • Ordena por fecha para listados consistentes.
  • Filtra drafts para entornos de producción.

Definir esquema del contenido

Campos explícitos = menos sorpresas en producción.

Listar entradas

Después de validar, toca consumir contenido.

  • Usa getCollection('blog').
  • Ordena por fecha para listados consistentes.
  • Filtra drafts para entornos de producción.
Astro
09

Content Collections: contenido tipado y ordenado

Estructura contenido con validación de esquema para evitar errores silenciosos en blogs y documentación.

Código del tema: const posts = await getCollection("blog");

📘 Teoría

Definir esquema del contenido

Campos explícitos = menos sorpresas en producción.

Ejemplo de colección
Revisar
import { defineCollection, z } from 'astro:content';

const blog = defineCollection({
  schema: z.object({
    title: z.string(),
    description: z.string(),
    date: z.date()
  })
});

export const collections = { blog };

Listar entradas

Después de validar, toca consumir contenido.

  • Usa getCollection('blog').
  • Ordena por fecha para listados consistentes.
  • Filtra drafts para entornos de producción.

🧪 Aprende probando

Ejemplo Listado mínimo de posts Representa entradas con título y fecha.

🏁 Retos

Reto Reto: añade campo description Completa el esquema con descripción obligatoria.

🧰 Recursos

Test

Comprueba tus conocimientos con un test sobre Astro.

Test de Astro

¿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 .