Shipabase incluye un módulo de contenido en MDX sin CMS ni parsers externos: los posts son archivos .mdx que exportan su frontmatter como JavaScript plano, y todo se pre-renderiza en build.
Escribir un post
Crea un archivo en content/blog/ y exporta un objeto frontmatter al inicio:
export const frontmatter = {
title: 'Mi post',
date: '2026-01-01',
description: 'Resumen corto para listados y og tags.',
author: 'Tu Nombre',
published: true,
coverImage: 'https://tu-imagen.com/cover.jpg'
}
Tu contenido aquí...
Eso es todo: el post aparece automáticamente en /blog, en el sitemap y en llms.txt. Si pones published: false, queda oculto.
Añadir un nuevo tipo de contenido
¿Quieres /changelog, /guias o cualquier otra sección? Dos pasos:
- Crea la carpeta
content/changelog/con tus archivos.mdx - Añade
'changelog'al unionContentTypey al arrayCONTENT_TYPESencontent/content.ts
El listado, la página de post, el sitemap y llms.txt se actualizan solos. No hace falta escribir loaders: el módulo resuelve los imports dinámicamente.
Sección de docs con menú lateral
El tipo docs viene incluido y se renderiza con un layout de documentación: menú lateral fijo con todas las páginas (plegable en móvil) y la página activa resaltada. Cualquier tipo de contenido puede usar este layout — basta con listarlo en SIDEBAR_TYPES:
// content/content.ts
export const SIDEBAR_TYPES: ContentType[] = ['docs', 'changelog'];
El título del menú se traduce como cualquier otro texto de la UI, en el namespace contentNav de messages/en.json y messages/es.json.
Para controlar el orden de las páginas en el menú, usa el campo opcional order del frontmatter (menor primero; las páginas sin order van después, ordenadas por fecha):
export const frontmatter = {
title: 'Primeros pasos',
date: '2026-01-01',
order: 1
}
SEO automático
Cada post genera sin configuración extra:
- Metadata dinámica: title, description, Open Graph y Twitter Cards desde el frontmatter
- JSON-LD: datos estructurados Schema.org
BlogPostingpara rich results en Google - Sitemap:
/sitemap.xmlse regenera en cada deploy con todos los posts - robots.txt: apunta al sitemap
- llms.txt: índice del sitio para crawlers de LLMs (Anthropic, OpenAI, Perplexity…)
Siguiente paso
Configura los idiomas en Internacionalización.