Datos estructurados


Los datos estructurados son la capa técnica que conecta la arquitectura de la información de un sitio con la web semántica. Permiten que los buscadores y otras aplicaciones comprendan no solo el texto de una página, sino qué tipo de entidad representa, qué propiedades tiene y cómo se relaciona con otras entidades.

Este artículo se centra en la implementación práctica con Schema.org y JSON-LD para los tipos de contenido más habituales.


Por qué los datos estructurados importan en AI

La arquitectura de la información define cómo se organiza el contenido para los usuarios. Los datos estructurados hacen esa organización comprensible también para las máquinas.

Sin datos estructurados, un buscador puede inferir que una página es sobre un producto leyendo su texto. Con datos estructurados, sabe con certeza que es un Product, cuál es su name, su price, su availability y su rating. La diferencia entre inferencia y declaración explícita es la diferencia entre datos semánticos y datos estructurados.

Esta comprensión mejorada se traduce en resultados enriquecidos en las páginas de resultados de búsqueda: estrellas de valoración para productos, fechas para eventos, preguntas frecuentes expandibles, recetas con tiempo de preparación. Son señales visuales que aumentan la visibilidad y la tasa de clic.


Formato recomendado: JSON-LD

Schema.org puede implementarse en tres formatos: JSON-LD, Microdata y RDFa. JSON-LD es el formato recomendado por Google y el más usado en la práctica por varias razones:

  • Es un bloque JavaScript independiente, separado del HTML visible. No mezcla el marcado semántico con el contenido.
  • Es más fácil de mantener y actualizar.
  • Puede generarse dinámicamente por el CMS sin modificar la estructura HTML.
  • Es más legible para los desarrolladores.

Se incluye en el <head> o al final del <body>:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "TipoDeEntidad",
  "propiedad": "valor"
}
</script>

Implementación por tipo de contenido

Artículo de blog

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Jerarquía vs. Taxonomía en la web: diferencias y cuándo usar cada una",
  "description": "Jerarquía y taxonomía son los dos sistemas de organización más usados en la web. No son lo mismo ni sirven para lo mismo.",
  "url": "https://www.arquitecturadelainformacion.es/fundamentos/jerarquia-vs-taxonomia/",
  "datePublished": "2024-11-01",
  "dateModified": "2024-11-15",
  "author": {
    "@type": "Person",
    "name": "Nombre del autor",
    "url": "https://www.arquitecturadelainformacion.es/autores/nombre-autor/"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Arquitectura de la Información",
    "url": "https://www.arquitecturadelainformacion.es/",
    "logo": {
      "@type": "ImageObject",
      "url": "https://www.arquitecturadelainformacion.es/logo.png"
    }
  },
  "image": "https://www.arquitecturadelainformacion.es/img/jerarquia-vs-taxonomia.jpg"
}

Producto

{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Nombre del producto",
  "description": "Descripción del producto",
  "url": "https://www.tienda.com/productos/nombre-producto/",
  "image": "https://www.tienda.com/img/nombre-producto.jpg",
  "sku": "ABC-123",
  "brand": {
    "@type": "Brand",
    "name": "Nombre de la marca"
  },
  "offers": {
    "@type": "Offer",
    "price": "29.99",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "url": "https://www.tienda.com/productos/nombre-producto/"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "127"
  }
}

Evento

{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Nombre del evento",
  "description": "Descripción del evento",
  "url": "https://www.ejemplo.com/eventos/nombre-evento/",
  "startDate": "2024-06-15T10:00:00+02:00",
  "endDate": "2024-06-15T18:00:00+02:00",
  "eventStatus": "https://schema.org/EventScheduled",
  "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
  "location": {
    "@type": "Place",
    "name": "Nombre del espacio",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Calle Ejemplo, 1",
      "addressLocality": "Barcelona",
      "postalCode": "08001",
      "addressCountry": "ES"
    }
  },
  "organizer": {
    "@type": "Organization",
    "name": "Nombre del organizador",
    "url": "https://www.ejemplo.com/"
  },
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "EUR",
    "availability": "https://schema.org/InStock",
    "url": "https://www.ejemplo.com/eventos/nombre-evento/"
  }
}

Término de glosario (DefinedTerm)

{
  "@context": "https://schema.org",
  "@type": "DefinedTerm",
  "name": "Taxonomía",
  "description": "Sistema de clasificación que permite asignar atributos a los contenidos para organizarlos, filtrarlos y descubrirlos.",
  "url": "https://www.arquitecturadelainformacion.es/glosario/taxonomia/",
  "inDefinedTermSet": {
    "@type": "DefinedTermSet",
    "name": "Glosario de Arquitectura de la Información",
    "url": "https://www.arquitecturadelainformacion.es/glosario/"
  }
}

El marcado de breadcrumb es uno de los más útiles: permite que Google muestre la ruta de navegación directamente en los resultados de búsqueda.

{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Inicio",
      "item": "https://www.arquitecturadelainformacion.es/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Fundamentos",
      "item": "https://www.arquitecturadelainformacion.es/fundamentos/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Jerarquía vs. Taxonomía",
      "item": "https://www.arquitecturadelainformacion.es/fundamentos/jerarquia-vs-taxonomia/"
    }
  ]
}

FAQ (preguntas frecuentes)

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "¿Qué diferencia hay entre jerarquía y taxonomía?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "La jerarquía organiza los contenidos en una estructura de árbol donde cada elemento tiene un único lugar. La taxonomía clasifica los contenidos mediante atributos, permitiendo que un mismo contenido tenga múltiples clasificaciones simultáneas."
      }
    },
    {
      "@type": "Question",
      "name": "¿Cuántos niveles de jerarquía son razonables en una URL?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Entre dos y cuatro niveles para la mayoría de sitios. A partir del quinto nivel, la navegación se vuelve compleja y las URLs pierden legibilidad."
      }
    }
  ]
}

Combinación de múltiples tipos en una misma página

Una página puede tener múltiples bloques de datos estructurados. Un artículo puede tener marcado de Article, de BreadcrumbList y de FAQPage simultáneamente si la página tiene preguntas frecuentes al final.

<script type="application/ld+json">
{ /* Article */ }
</script>
<script type="application/ld+json">
{ /* BreadcrumbList */ }
</script>
<script type="application/ld+json">
{ /* FAQPage */ }
</script>

Cada bloque JSON-LD es independiente. No es necesario combinarlos en un único objeto.


Validación

Antes de publicar datos estructurados, validar con:

  • Rich Results Test de Google (search.google.com/test/rich-results): comprueba si la página es elegible para resultados enriquecidos.
  • Schema Markup Validator (validator.schema.org): valida la sintaxis y la coherencia del marcado Schema.org.

Google Search Console también muestra errores de datos estructurados detectados en el rastreo, en la sección “Mejoras”.


En WordPress

Los plugins de SEO (Yoast, Rank Math) generan automáticamente datos estructurados básicos (Article, BreadcrumbList, WebSite, Organization) para todos los tipos de contenido estándar de WordPress.

Para tipos de contenido personalizados (CPT) o para marcados más complejos (Product, Event, Course), habitualmente se necesita configuración adicional o desarrollo a medida.


Para profundizar