¿Qué son los microdatos (microdata) en SEO?
Los microdatos (microdata) son una sintaxis del estándar HTML para escribir datos estructurados dentro de las propias etiquetas de la página, con atributos como itemscope, itemtype e itemprop, de modo que el texto que ve el visitante sea a la vez el valor que leen las máquinas. Google los admite junto a JSON-LD y RDFa, aunque recomienda JSON-LD.
Lo esencial
- Los microdatos marcan la página por dentro: los atributos van en las mismas etiquetas que ya muestran el nombre, el precio o la marca.
- Tres atributos hacen casi todo el trabajo: itemscope abre un elemento, itemtype dice de qué tipo es e itemprop nombra cada propiedad.
- El vocabulario es el mismo de Schema.org que en JSON-LD: cambia la manera de escribirlo, no lo que dice.
- Google admite microdatos, JSON-LD y RDFa, y recomienda JSON-LD.
- La etiqueta meta sirve para dar en formato de máquina un dato que la página ya enseña de otra forma, no para marcar algo que no se ve.
Si abres el código fuente de una ficha de producto y ves atributos como itemprop="price" repartidos por el HTML, eso son microdatos (microdata): los datos estructurados escritos sobre las mismas etiquetas que lee el cliente, en lugar de en un bloque aparte. Aquí no hablamos de los microdatos estadísticos, los ficheros con los registros individuales de una encuesta, que comparten nombre y buena parte de las búsquedas. Te importan por dos razones: Google sigue leyéndolos como datos estructurados, aunque recomiende otro formato,[1]Google Search Central. Introduction to structured data markup in Google Search y si tu tienda ya los tiene, conviven con cualquier otro marcado que le añadas.
Cómo funciona
El estándar HTML define los microdatos como un mecanismo que permite añadir a un documento grupos anidados de pares nombre-valor, en paralelo al contenido que ya existe.[2]WHATWG. HTML Standard: Microdata No hay un bloque aparte: el dato está en la etiqueta que lo muestra. Lo hacen cinco atributos:[2]WHATWG. HTML Standard: Microdata
| Atributo | Qué hace |
|---|---|
itemscope |
Crea un elemento: un grupo de pares nombre-valor |
itemtype |
Dice de qué tipo es el elemento, con una URL del vocabulario |
itemprop |
Nombra la propiedad que aporta esa etiqueta |
itemid |
Da al elemento un identificador global, si el vocabulario lo admite |
itemref |
Suma al elemento propiedades que están en otra parte de la página, citándolas por su id |
El valor de cada propiedad sale de la etiqueta según su clase. En un meta es su atributo content; en un link, su href; en un time, su datetime; en un data, su value; en el resto, el texto que contiene la etiqueta, que es lo que ve el visitante.[2]WHATWG. HTML Standard: Microdata Esa última regla es la que define el formato: en la mayoría de los casos, lo que lee la máquina y lo que lee la persona son literalmente lo mismo.
Las palabras que se escriben en itemtype e itemprop son las de Schema.org. Su guía de inicio, que enseña el vocabulario precisamente con microdatos, lo resume en tres pasos: itemscope marca la parte de la página que habla de una cosa, itemtype dice qué cosa es (por ejemplo https://schema.org/Movie) e itemprop etiqueta cada una de sus propiedades. Un elemento puede llevar otros dentro, como el director de una película descrito a su vez como persona.[3]Schema.org. Getting started with schema.org using Microdata
Google admite tres formatos de datos estructurados. Describe los microdatos como una especificación abierta de HTML para anidar datos estructurados dentro del contenido, con atributos en las etiquetas, y RDFa como una extensión de HTML5 que funciona de forma parecida. Recomienda el tercero, JSON-LD, que va en una etiqueta script y no se mezcla con el texto visible.[1]Google Search Central. Introduction to structured data markup in Google Search Recomendar uno no es descartar los otros: un marcado en microdatos bien hecho sirve igual para optar a los resultados enriquecidos, y la Prueba de resultados enriquecidos lee JSON-LD, RDFa y microdatos por igual.[4]Ayuda de Search Console. Rich Results Test No hace falta reescribirlo solo por el formato.
En una tienda
La oferta de una camisa marcada con microdatos. Ejemplo ficticio: la tienda, el producto, la imagen y el precio son inventados.
<div itemscope itemtype="https://schema.org/Product">
<h1 itemprop="name">Camisa de lino Calella, azul</h1>
<img itemprop="image" src="/img/calella-azul.jpg" alt="Camisa de lino Calella en azul" />
<div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
<span>29,90 €</span>
<meta itemprop="price" content="29.90" />
<meta itemprop="priceCurrency" content="EUR" />
<link itemprop="availability" href="https://schema.org/InStock" />En stock
</div>
</div>
Tres cosas que enseña el ejemplo. La primera: el nombre no se escribe dos veces, porque el texto del h1 es el valor de name. La segunda: el producto lleva dentro un segundo elemento, la oferta, que es un Offer con su propio itemscope; así se anidan los tipos en este formato. La tercera es el precio. El cliente ve «29,90 €», pero Schema.org pide el precio con punto decimal y sin símbolo, y la moneda aparte, con su código ISO 4217,[5]Schema.org. Offer así que el valor para las máquinas va en etiquetas meta, y la disponibilidad, que en el vocabulario es una URL, en un link.[2]WHATWG. HTML Standard: Microdata
Eso tiene un coste. En cuanto un dato no sale del texto visible, sino de un meta, puede dejar de coincidir con lo que muestra la página, igual que un bloque de JSON-LD olvidado. Y como los atributos viven dentro de la plantilla, cambiar de tema o reescribir una plantilla puede borrar el marcado sin que nadie lo decida: el HTML nuevo no tiene por qué llevar los mismos atributos.
Lo que se suele confundir
Usar la etiqueta meta para marcar lo que la página no enseña. Schema.org la propone para la información que la página transmite pero no escribe como texto, como una valoración que se ve dibujada en estrellas, y en la misma guía pide marcar solo el contenido visible para quien visita la página, no el que está en bloques ocultos.[3]Schema.org. Getting started with schema.org using Microdata Google lo dice igual: no se marca nada que el lector no pueda ver.[6]Google Search Central. General structured data guidelines
Cómo comprobarlo
- Abre el código fuente de una ficha y busca
itemscope. Si aparece, la página lleva microdatos; elitemtypede al lado te dice de qué tipo es cada elemento. - Busca también
application/ld+json. Si la página lleva los dos formatos, comprueba que describen el mismo producto con el mismo nombre, el mismo precio y la misma disponibilidad. - Pasa la URL por la Prueba de resultados enriquecidos. Lee los tres formatos, te dice qué resultados enriquecidos detecta y con qué errores, y también acepta un fragmento de código pegado.[4]Ayuda de Search Console. Rich Results Test
- Revisa cada
metay cadalinkconitemprop. Son los valores que no salen del texto visible, y cada uno tiene que corresponder a algo que el cliente ve en la ficha.[6]Google Search Central. General structured data guidelines - Repite la revisión después de cambiar de tema o de plantilla, porque el marcado viaja con el HTML.
Concepto cercano: JSON-LD
Los microdatos y JSON-LD escriben el mismo vocabulario; lo que cambia es dónde vive el dato. En microdatos está dentro de las etiquetas visibles, de modo que el texto de la página es el valor; en JSON-LD está en un bloque script aparte que no se mezcla con el texto que ve el usuario.[1]Google Search Central. Introduction to structured data markup in Google Search Lo primero hace más difícil que los dos digan cosas distintas, porque son el mismo texto, y más fácil perder el marcado al tocar la plantilla. Lo segundo permite cambiar el marcado sin tocar la maqueta, y por eso Google lo recomienda,[1]Google Search Central. Introduction to structured data markup in Google Search con el riesgo contrario: que el bloque se quede atrás cuando cambia la página.
Para seguir, la ruta de lectura de datos estructurados ordena el resto de términos, y la guía para auditar los datos estructurados de una ficha recorre una ficha propiedad por propiedad, en el formato que tenga.
Sinónimos
- English
- microdata, HTML microdata
- Español
- microdatos HTML, marcado con microdatos
Fuentes
- [1] Google Search Central. Introduction to structured data markup in Google Search. Consultado el . ↑ ↑ ↑ ↑
- [2] WHATWG. HTML Standard: Microdata. Consultado el . ↑ ↑ ↑ ↑
- [3] Schema.org. Getting started with schema.org using Microdata. Consultado el . ↑ ↑
- [4] Ayuda de Search Console. Rich Results Test. Consultado el . ↑ ↑
- [5] Schema.org. Offer. Consultado el . ↑
- [6] Google Search Central. General structured data guidelines. Consultado el . ↑ ↑
Historial de cambios
- Primera versión.
Esta definición se publica bajo licencia CC BY 4.0. Puedes reutilizar esta definición citando a Clione con un enlace a esta página.
Términos relacionados
JSON-LD
Qué es JSON-LD, qué significan @context, @type, @id y @graph, por qué Google lo recomienda y cómo encontrar y comprobar el bloque de tu ficha.
RDFa
Qué es RDFa, cómo marca datos con vocab, typeof y property, en qué se diferencia de microdatos y JSON-LD, y por qué las etiquetas og: vienen de él.
Datos estructurados
Qué son los datos estructurados, qué piezas los forman, qué consigue una tienda con ellos según Google y cómo comprobar que dicen lo mismo que la ficha.
Schema.org
Qué es Schema.org, quién lo mantiene, cómo se organizan sus tipos y propiedades y por qué no es lo mismo que el formato ni que lo que exige Google.
Resultados enriquecidos
Qué son los resultados enriquecidos de Google, cuáles cuentan en una tienda, por qué un marcado válido no garantiza verlos y cómo comprobarlo.
Validador de schema
Qué es un validador de schema, qué comprueba el Schema Markup Validator, en qué se diferencia de la prueba de Google y qué errores no ve ninguno.
Haz que los bots entiendan tu catálogo
Clione completa cada ficha de producto con lo que los bots leen mejor: el grafo JSON-LD con sus datos estructurados, la meta description y las preguntas frecuentes. Tú revisas y pulsas Push; después comprobamos tu tienda en vivo para que todo siga publicado.