Antes había tres formatos de datos estructurados (Microdata, RDFa y JSON-LD). En 2026, solo JSON-LD. Google lo prefiere, es el más fácil de mantener y no contamina tu HTML.
Sintaxis básica
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Cómo aparecer en ChatGPT",
"author": {
"@type": "Person",
"name": "José Antonio Manzano"
},
"datePublished": "2026-04-14"
}
</script>
Se coloca idealmente en <head> o al final del <body>. Puedes tener varios bloques en la misma página (uno para Article, otro para FAQPage, otro para BreadcrumbList, etc.).
Ventajas frente a Microdata/RDFa
- Separado del HTML visible: puedes cambiar el diseño sin tocar el schema
- Más legible y fácil de generar desde cualquier backend
- Google lo prefiere oficialmente
- No afecta al render: el JSON-LD no se muestra al usuario
Validación
Siempre valida antes de publicar:
- Rich Results Test de Google: valida URL completa
- Schema Markup Validator: valida JSON-LD pegado
Errores comunes en JSON-LD
- Olvidar
"@context": "https://schema.org" - Tipo inventado que no existe en Schema.org
- Comillas tipográficas en vez de rectas (rompe el JSON)
- Campos obligatorios ausentes (ej. datePublished en Article)
- Información contradictoria con el contenido visible (Google penaliza)
- JSON-LD con entidades reales pero datos falsos (reseñas inventadas): penalización manual
En Next.js / React
Lo más limpio es inyectarlo con:
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(schema) }}
/>
Así construyes el objeto en JavaScript/TypeScript y se serializa limpio. Es exactamente lo que hacemos en NoSoloAgencia.es.
¿Quieres que validemos tu schema actual? Auditoría gratis.