significado org microdatos itemtype itemscope html5 reference microdata

html5 - org - microdata html



Microdatos HTML5-itemref a otro itemscope(Persona trabaja para OrganizaciĆ³n) (2)

El sitio web de una organización, digamos "Sun Industries", desea agregar una lista de empleados. La dirección y la información de contacto de la organización ya están presentes en la página web, pero la lista de empleados estaría en otro lugar.

Entonces tenemos

<div id="organization" itemscope itemtype="http://schema.org/Organization"> <span itemprop="name">Sun Industries</span>, <span itemprop="location" itemscope itemtype="http://schema.org/Place"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="streetAddress">Technologies Street 42</span>, <span itemprop="addressLocality">Venustown</span> <span itemprop="postalCode">98765</span> </span> </span> </div>

y más adelante en el código HTML5 tendremos

<div id="employee-1" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">John Doe</span>, <span itemprop="jobTitle">Sales Manager</span> </div>

¿Cómo vinculamos los dos objetos "organización" y "empleado-1" juntos?

Intenté agregar el siguiente elemento secundario al objeto "employee-1"

<meta itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" itemref="organization">

pero eso no funcionó (al menos no en la herramienta de prueba de datos estructurados de Google).

¿Cómo puedo usar correctamente la propiedad de microdatos en este caso?

Para que quede claro, también intenté lo siguiente:

  • Agregue itemprop="worksFor" al objeto "organización".
  • Agregue itemref="organization" al objeto "empleado".

Asi que

<div id="organization" itemprop="worksFor" itemscope itemtype="http://schema.org/Organization"> <span itemprop="name">Sun Industries</span>, ... </div> ... <div id="employee-1" itemscope itemtype="http://schema.org/Person" itemref="organization"> <span itemprop="name">John Doe</span>, <span itemprop="jobTitle">Sales Manager</span> </div>

pero eso me dio una Warning: Page contains property "worksfor" which is not part of the schema. para el objeto "organización".


Bueno, en realidad su último fragmento de código se ve bien. Tal vez con Yandex Validator la salida será más clara

person itemType = http://schema.org/Person worksfor organization itemType = http://schema.org/Organization name = Sun Industries name = John Doe jobtitle = Sales Manager

Un par de otros ejemplos de trabajo.

<body> <div id="organization" itemscope itemtype="http://schema.org/Organization" itemref="employee-1"> <span itemprop="name">Sun Industries</span>, <span itemprop="location" itemscope itemtype="http://schema.org/Place"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="streetAddress">Technologies Street 42</span>, <span itemprop="addressLocality">Venustown</span> <span itemprop="postalCode">98765</span> </span> </span> </div> <div id="employee-1" itemprop="employee" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">John Doe</span>, <span itemprop="jobTitle">Sales Manager</span> </div> </body>

Da lo siguiente:

organization itemType = http://schema.org/Organization employee person itemType = http://schema.org/Person name = John Doe jobtitle = Sales Manager name = Sun Industries location place itemType = http://schema.org/Place address postaladdress itemType = http://schema.org/PostalAddress streetaddress = Technologies Street 42 addresslocality = Venustown postalcode = 98765

O esto

<body> <div id="employee-1" itemscope itemtype="http://schema.org/Person"> <span itemprop="name">John Doe</span>, <span itemprop="jobTitle">Sales Manager</span> <meta itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" itemref="organization"> </div> <div id="organization"> <span itemprop="name">Sun Industries</span>, <span itemprop="location" itemscope itemtype="http://schema.org/Place"> <span itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> <span itemprop="streetAddress">Technologies Street 42</span>, <span itemprop="addressLocality">Venustown</span> <span itemprop="postalCode">98765</span> </span> </span> </div> </body>

Eso resulta en

person itemType = http://schema.org/Person name = John Doe jobtitle = Sales Manager worksfor organization itemType = http://schema.org/Organization name = Sun Industries location place itemType = http://schema.org/Place address postaladdress itemType = http://schema.org/PostalAddress streetaddress = Technologies Street 42 addresslocality = Venustown postalcode = 98765

Spec no es muy claro sobre el uso de itemref pero el ejemplo ayuda

<div itemscope id="amanda" itemref="a b"></div> <p id="a">Name: <span itemprop="name">Amanda</span></p> <div id="b" itemprop="band" itemscope itemref="c"></div> <div id="c"> <p>Band: <span itemprop="name">Jazz Band</span></p> <p>Size: <span itemprop="size">12</span> players</p> </div>


Tu último ejemplo es correcto.
(La herramienta de prueba de Google ya no proporciona el error mencionado. En aquel entonces, probablemente no estaban actualizados con las nuevas incorporaciones al vocabulario de Schema.org).

Especificación

Enlaces a las especificaciones de itemref :

tl; dr :

  1. Especifica itemref en el elemento (con itemscope ) al que desea agregar propiedades.
  2. Usted especifica id en el elemento (con itemprop ) que desea agregar.

Ejemplos

Un ejemplo mínimo:

<div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization" id="org"> <!-- this property (worksFor) gets added to the Person item below --> </div> <div itemscope itemtype="http://schema.org/Person" itemref="org"> <!-- looks for the element with the ID "org" --> </div>

Esto es equivalente a:

<div itemscope itemtype="http://schema.org/Person"> <div itemprop="worksFor" itemscope itemtype="http://schema.org/Organization"> </div> </div>

Otros ejemplos:

A tener en cuenta

  • El atributo itemref solo se puede usar para elementos en el mismo documento.

  • Puede hacer referencia a múltiples elementos desde un atributo itemref (separar los tokens de ID con caracteres de espacio).

  • El elemento al que se hace referencia puede ser un contenedor para propiedades múltiples.

  • Debes asegurarte de que los elementos a los que se hace referencia no son hijos de un elemento con itemscope , de lo contrario sus propiedades también se agregarán a este elemento (pero puedes eludir esto agregando un itemscope ficticio ).