Acerca de los microdatos

La especificación HTML5 sobre microdatos es una forma de etiquetar contenido para describir un tipo específico de información (por ejemplo, opiniones, información sobre personas o eventos). Cada tipo de información describe un tipo de elemento específico como, por ejemplo, una persona, un evento o una opinión. Por ejemplo, un evento incluye las propiedades "venue", "starting time", "name" y "category".

Los microdatos usan atributos simples en etiquetas HTML (con frecuencia, <span> o <div>) para asignar nombres breves y descriptivos a los elementos y propiedades. A continuación se indica un ejemplo de un bloque HTML breve en el que se muestra la información de contacto básica de Roberto Sánchez.

<div> 
  Mi nombre es Roberto Sánchez, pero me llaman "Rober". Esta es mi página principal:
  <a href="http://www.example.com">www.example.com</a>
  Vivo en Alcobendas (Madrid) y trabajo de ingeniero en ACME S.A.
</div>

A continuación se indica el mismo código HTML marcado con microdatos:

<div itemscope itemtype="http://data-vocabulary.org/Person"> 
  Soy <span itemprop="name">Roberto Sánchez</span>, 
  pero me llaman <span itemprop="nickname">Rober</span>. 
  Esta es mi página principal:
  <a href="http://www.example.com" itemprop="url">www.example.com</a>
  Vivo en Alcobendas (Madrid) y trabajo de <span itemprop="title">ingeniero</span>
  
  en <span itemprop="affiliation">ACME S.A.</span>.
</div>

A continuación se indica cómo funciona este ejemplo.

  • En la primera línea, itemscope indica que el contenido de <div> es un elemento y itemtype="http://data-vocabulary.org/Person, que dicho elemento es una persona.
  • Cada propiedad del elemento de persona se identifica con el atributo itemprop. Por ejemplo, el atributo itemprop="name" especifica el nombre de la persona.

Entidades anidadas

En el ejemplo anterior se muestra la información de contacto de Roberto Sánchez, pero no se incluye su dirección. El siguiente ejemplo recoge el mismo código HTML, si bien en este caso se incluye la propiedad address.

<div itemscope itemtype="http://data-vocabulary.org/Person">
   Mi nombre es <span itemprop="name">Roberto Sánchez</span>, 
    
   pero me llaman <span itemprop="nickname">Rober</span>.
   Esta es mi página principal: 
   <a href="http://www.example.com" itemprop="url">www.example.com</a>.
   
   Vivo en 
   <span itemprop="address" itemscope
      itemtype="http://data-vocabulary.org/Address">
         
      <span itemprop="locality">Alcobendas</span> 
       
      <span itemprop="region">Madrid</span> 
   </span>
   y trabajo de <span itemprop="title">ingeniero</span>
   
   en <span itemprop="affiliation">ACME S.A.</span>.
</div>

A continuación se indica cómo funciona este ejemplo:

  • La propiedad address es en sí misma un elemento que incluye su propio conjunto de propiedades. Para indicarlo, se incluye el atributo itemscope en el elemento que declare la propiedad address y se utiliza el atributo itemtype para especificar el tipo de elemento que se describe (por ejemplo, <span itemprop="address" itemscope itemtype="http://data-vocabulary.org/Address">.

Para ver más ejemplos, consulta Elementos anidados.

Información sobre fechas y horas

Para especificar fechas y horas de forma inequívoca, utiliza el elemento time con el atributo datetime. En el ejemplo que se muestra a continuación, la propiedad startDate indica la fecha de inicio de un evento. El valor del atributo datetime se especifica mediante el formato de fecha ISO. Al utilizar este formato, los motores de búsqueda pueden obtener información detallada de la fecha y de la hora y, de forma opcional, de la zona horaria, en formato de fecha ISO ("2009-10-15T19:00-08:00") y, al mismo tiempo, mostrar la fecha en un formato inteligible en la página ("15 de octubre de 2009, 7 p.m.").

<time itemprop="startDate" datetime="2009-10-15T19:00-08:00">15 de octubre de 2009, 7 p.m.</time>

Contenido no visible

Generalmente, Google no muestra contenido no visible para los usuarios. Dicho de otro modo, no muestres contenido a los usuarios de un modo y a la vez uses texto oculto para marcar la información de forma independiente para los motores de búsqueda y para las aplicaciones web. Debes marcar el texto que se muestra realmente a los usuarios cuando estos acceden a tus páginas web.

Existen algunas excepciones para esta norma. En algunos casos, puede resultar valioso proporcionar información más detallada a los motores de búsqueda, aunque no desees que esa información esté disponible para los usuarios que accedan a tu página. Por ejemplo, si un restaurante tiene una calificación de 8,5, los usuarios (no los motores de búsqueda) asumirán que la calificación está basada en una escala del 1 al 10. En este caso, puedes indicar esa información con el elemento meta, así:

<div itemprop="rating" itemscope itemtype="http://data-vocabulary.org/Rating">
   Puntuación: <span itemprop="value">8,5</span>
   
   <meta itemprop="best" content="10" />

</div>

A continuación se indica cómo funciona este ejemplo:

  • La etiqueta meta sirve para especificar información adicional que no está visible en la página (en este caso, el hecho de que la "mejor calificación posible" sea 10). El valor de la propiedad se especifica con el atributo content.

Del mismo modo, si se especifica la duración de un evento en el formato de duración ISO, esta podrá aparecer correctamente en los resultados de búsqueda, como se indica a continuación.

Duración: 
<span>1 hora y 30 minutos<meta itemprop="duration" content="PT1H30M" />

</span>

A continuación se indica cómo funciona este ejemplo:

  • Usa la etiqueta meta para especificar el valor de la propiedad (en este caso, la duración). Si lo haces, podrás usar el valor del atributo content ("PT1H30M") para especificar la duración en formato de duración ISO 8601 y, al mismo tiempo, seguir mostrando la duración en texto descriptivo para el usuario ("1 hora y 30 minutos") en la página.
  • Nos fijamos en el elemento principal del elemento meta para saber qué información se representa de otro modo en la etiqueta meta. Por ello, es importante que te asegures de que el nodo principal inmediato de la etiqueta meta se sitúe en el texto "1 hora y 30 minutos".

Para ver ejemplos y vocabulario específico, consulta:

Para comprobar el marcado, usa la herramienta de pruebas de datos estructurados.