Guia Completa de Datos Estructurados 2026 - Obtener Resultados Enriquecidos con JSON-LD
Aprende como obtener Rich Snippets de Google con Schema.org y JSON-LD. Guia de implementacion con ejemplos practicos para FAQ, How-to y Product schemas.
Toolypet Team
Development Team
Guia Completa de Datos Estructurados 2026
Has visto calificaciones con estrellas, FAQs o tarjetas de recetas en los resultados de busqueda? Eso son Resultados Enriquecidos (Rich Results).
En 2026, las paginas con resultados enriquecidos tienen un CTR promedio 58% mayor. Haz que tu contenido destaque con datos estructurados.
Que son los Datos Estructurados?
Los datos estructurados son un formato estandarizado que ayuda a los motores de busqueda a entender el contenido de la pagina.
Conceptos Clave
| Termino | Descripcion |
|---|---|
| Schema.org | Vocabulario co-desarrollado por Google, Microsoft y Yahoo |
| JSON-LD | Formato de datos basado en JavaScript (recomendado por Google) |
| Rich Results | Resultados de busqueda mejorados basados en datos estructurados |
| Rich Snippet | Termino antiguo para resultados enriquecidos |
Por que JSON-LD?
| Formato | Ventajas | Desventajas |
|---|---|---|
| JSON-LD | Separado del HTML, facil mantenimiento | Dependencia de JavaScript |
| Microdata | Incrustado directamente en HTML | Codigo complejo |
| RDFa | Flexible | Curva de aprendizaje |
Recomendacion oficial de Google: JSON-LD
Tipos de Resultados Enriquecidos
Principales Tipos Soportados por Google
| Tipo | Formato de Visualizacion | Caso de Uso |
|---|---|---|
| Article | Tarjeta de noticias | Blogs, Noticias |
| FAQ | Q&A expandible | Paginas FAQ |
| How-to | Guia paso a paso | Tutoriales |
| Product | Precio, stock, calificacion | Paginas de producto |
| Review | Visualizacion de estrellas | Contenido de resenas |
| Recipe | Tiempo de coccion, calorias | Recetas |
| Event | Fecha, ubicacion | Eventos |
| LocalBusiness | Horarios, ubicacion | Negocios locales |
| BreadcrumbList | Visualizacion de ruta | Todas las paginas |
Estructura Basica de JSON-LD
Plantilla
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "TipoDeSchema",
"propiedad1": "valor1",
"propiedad2": "valor2"
}
</script>
Elementos Requeridos
| Elemento | Descripcion |
|---|---|
@context | Siempre "https://schema.org" |
@type | Tipo de schema (Article, FAQ, etc.) |
| Propiedades requeridas | Varia segun el tipo |
Ejemplos Practicos de Implementacion
1. Article (Blog/Noticias)
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "Guia Completa de Datos Estructurados 2026",
"description": "Como obtener resultados enriquecidos con JSON-LD",
"image": "https://example.com/article-image.jpg",
"author": {
"@type": "Person",
"name": "Sam Rank",
"url": "https://example.com/author/sam-rank"
},
"publisher": {
"@type": "Organization",
"name": "Toolypet",
"logo": {
"@type": "ImageObject",
"url": "https://toolypet.com/logo.png"
}
},
"datePublished": "2026-02-22",
"dateModified": "2026-02-22"
}
2. FAQ (Preguntas Frecuentes)
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Que son los datos estructurados?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Los datos estructurados son un formato estandarizado que ayuda a los motores de busqueda a entender el contenido de la pagina."
}
},
{
"@type": "Question",
"name": "Donde debo colocar JSON-LD?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Puede colocarse en cualquier lugar del <head> o <body> del HTML, pero se recomienda colocarlo en el <head>."
}
}
]
}
3. How-to (Guia Paso a Paso)
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "Como Agregar Datos Estructurados JSON-LD",
"description": "Como agregar JSON-LD a tu pagina web",
"totalTime": "PT10M",
"step": [
{
"@type": "HowToStep",
"name": "Elegir Tipo de Schema",
"text": "Selecciona el tipo de Schema.org que coincida con el contenido de tu pagina."
},
{
"@type": "HowToStep",
"name": "Escribir Codigo JSON-LD",
"text": "Escribe el codigo JSON-LD segun el schema elegido."
},
{
"@type": "HowToStep",
"name": "Insertar en HTML",
"text": "Envuelve el codigo con la etiqueta <script type='application/ld+json'> e insertalo en el HTML."
},
{
"@type": "HowToStep",
"name": "Probar",
"text": "Valida usando Google Rich Results Test."
}
]
}
4. Product (Producto)
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Guia SEO 2026",
"description": "Guia practica con las ultimas estrategias SEO",
"image": "https://example.com/product.jpg",
"brand": {
"@type": "Brand",
"name": "Toolypet"
},
"offers": {
"@type": "Offer",
"price": "29.99",
"priceCurrency": "EUR",
"availability": "https://schema.org/InStock",
"url": "https://example.com/product"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.8",
"reviewCount": "124"
}
}
5. BreadcrumbList (Migas de Pan)
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Inicio",
"item": "https://example.com"
},
{
"@type": "ListItem",
"position": 2,
"name": "SEO",
"item": "https://example.com/seo"
},
{
"@type": "ListItem",
"position": 3,
"name": "Guia de Datos Estructurados",
"item": "https://example.com/seo/structured-data"
}
]
}
6. LocalBusiness (Negocio Local)
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "Cafe Morning Glory",
"image": "https://example.com/cafe.jpg",
"address": {
"@type": "PostalAddress",
"streetAddress": "Calle Principal 123",
"addressLocality": "Madrid",
"addressRegion": "Madrid",
"postalCode": "28001",
"addressCountry": "ES"
},
"telephone": "+34-91-123-4567",
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "22:00"
}
],
"priceRange": "$$"
}
Implementacion por Framework
Next.js
// app/layout.tsx o pages/_document.tsx
import Script from 'next/script';
export default function Layout({ children }) {
const jsonLd = {
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Toolypet",
"url": "https://toolypet.com"
};
return (
<html>
<head>
<Script
id="json-ld"
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
/>
</head>
<body>{children}</body>
</html>
);
}
React (Helmet)
import { Helmet } from 'react-helmet';
function ArticlePage({ article }) {
const jsonLd = {
"@context": "https://schema.org",
"@type": "Article",
"headline": article.title,
"author": { "@type": "Person", "name": article.author }
};
return (
<>
<Helmet>
<script type="application/ld+json">
{JSON.stringify(jsonLd)}
</script>
</Helmet>
<article>{/* Contenido */}</article>
</>
);
}
WordPress
// functions.php
function add_json_ld_schema() {
if (is_single()) {
$schema = array(
"@context" => "https://schema.org",
"@type" => "Article",
"headline" => get_the_title(),
"datePublished" => get_the_date('c')
);
echo '<script type="application/ld+json">' . json_encode($schema) . '</script>';
}
}
add_action('wp_head', 'add_json_ld_schema');
Validacion y Pruebas
Herramientas Oficiales de Google
| Herramienta | URL | Proposito |
|---|---|---|
| Rich Results Test | search.google.com/test/rich-results | Probar elegibilidad de resultados enriquecidos |
| Schema Markup Validator | validator.schema.org | Validar sintaxis del schema |
| Search Console | search.google.com/search-console | Verificar estado de indexacion real |
Lista de Verificacion de Pruebas
- Sin errores de sintaxis JSON
- Todas las propiedades requeridas incluidas
- Coincide con el contenido real de la pagina
- URLs de imagenes validas
- Rich Results Test aprobado
Errores Comunes y Soluciones
1. Errores de Sintaxis JSON
// ❌ Incorrecto: coma al final
{
"name": "Test",
"url": "https://example.com", // Aqui!
}
// ✅ Correcto
{
"name": "Test",
"url": "https://example.com"
}
2. Propiedades Requeridas Faltantes
// ❌ Falta author en Article
{
"@type": "Article",
"headline": "Solo titulo"
}
// ✅ Incluyendo propiedades requeridas
{
"@type": "Article",
"headline": "Articulo Completo",
"author": { "@type": "Person", "name": "Autor" },
"datePublished": "2026-02-22"
}
3. Discrepancia de Contenido
// ❌ Diferente del contenido de la pagina
{
"@type": "Product",
"price": "10000" // La pagina real muestra 15000
}
// Violacion de directrices de Google = riesgo de accion manual
4. Marcado Excesivo
❌ Marcar todo el texto como datos estructurados
❌ Aplicar schema a contenido oculto
❌ Incluir informacion no visible para usuarios
✅ Solo marcar contenido realmente visible
✅ Estructurar solo informacion clave
Impacto SEO
Beneficios Esperados
| Metrica | Mejora |
|---|---|
| CTR (Tasa de clics) | +20-58% |
| Impresiones | Elegibilidad para resultados enriquecidos |
| Confianza | Calificaciones con estrellas, resenas mostradas |
| Busqueda por voz | Candidato para respuestas |
Precauciones
- Datos estructurados ≠ mejora de ranking garantizada
- La visualizacion de resultados enriquecidos es a discrecion de Google
- Accion manual por violaciones de directrices
Lista de Verificacion de Mejores Practicas
Implementacion
- Elegir schema apropiado para el tipo de pagina
- Incluir todas las propiedades requeridas
- Usar formato JSON-LD
- Colocar en
<head>
Contenido
- Coincide con el contenido real de la pagina
- Solo incluye informacion visible para usuarios
- Mantener informacion actualizada
Pruebas
- Rich Results Test aprobado
- Schema Markup Validator aprobado
- Sin errores en Search Console
Preguntas Frecuentes
Q1: Los datos estructurados afectan directamente el ranking?
A: No es un factor de ranking directo. Sin embargo, tiene efectos indirectos como aumento de CTR y respuestas de busqueda por voz.
Q2: Puedo poner multiples schemas en una pagina?
A: Si! Es comun usar Article + FAQ + BreadcrumbList juntos. Agrega cada uno como una etiqueta <script> separada.
Q3: Por que no aparecen los resultados enriquecidos?
A: Posibles razones:
- Propiedades requeridas faltantes
- Pagina no indexada
- Discrecion de Google (no garantizado)
- Paginas competidoras mas adecuadas
Q4: Microdata vs JSON-LD - cual deberia elegir?
A: JSON-LD es recomendado. Es oficialmente recomendado por Google y mas facil de mantener al estar separado del HTML.
Q5: Se pueden aplicar datos estructurados a contenido dinamico?
A: Si! Google puede leer JSON-LD generado por JavaScript. Sin embargo, el renderizado del lado del servidor es mas estable.
Conclusion
Esenciales de Datos Estructurados:
- Usar JSON-LD: Formato recomendado por Google
- Elegir schema apropiado: Coincidir con el tipo de contenido
- Incluir propiedades requeridas: Verificar requisitos especificos del tipo
- Coincidir contenido: Solo informacion visible
- Probar exhaustivamente: Pasar Rich Results Test
Herramientas Relacionadas
| Herramienta | Proposito |
|---|---|
| Generador de Datos Estructurados | Auto-generar JSON-LD |
| Generador de Meta Tags | Generar meta tags |
| Vista Previa SERP | Previsualizar resultados de busqueda |
Sobre el Autor
Toolypet Team
Development Team
The Toolypet Team creates free, privacy-focused web tools for developers and designers. All tools run entirely in your browser with no data sent to servers.