schema.org/BlogPosting image permite ImageObject y URL, sin embargo, Google solo permite ImageObject , de ahí el error. El marcado previsto es:
<!-- my code -->
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<img src="image.jpg" itemprop="url">
</div>
Otra discrepancia es schema.org/ImageObject recomienda contentUrl
, pero Google recomienda url
, de ahí mi uso anterior.
En respuesta al código de su comentario , su estructura sigue siendo incorrecta. Lo tomaré línea por línea:
<!-- your code -->
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
Punto menor, pero a menos que vayas por XHTML, itemscope='itemscope'
está mal. Uso itemscope
(como lo hizo más adelante).
<!-- your code -->
<div itemprop='articleBody'>
<div itemscope itemtype="http://schema.org/ImageObject"/>
Su ImageObject es un elemento secundario de la propiedad articleBody, pero no lo ha asociado de esta manera. De esta manera, tiene un articleBody sin propiedades asociadas y un ImageObject no asociado. Deberías usar
<!-- my code -->
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
Además, />
es incorrecto, incluso si está intentando XHTML, ya que este elemento tiene elementos secundarios y un cierre </div>
. Solo utilícelo >
como lo incluí en el fragmento anterior.
<!-- your code -->
<a href="1.png" itemprop="url"><img itemprop="image sharedContent" src="1.png" /></a>
¿Qué hace sharedContent aquí? sharedContent espera un CreativeWork cuando se usa como una propiedad de SocialMediaPosting, nunca como una propiedad de ImageObject y nunca en una img.
El otro fragmento de código que coloca la propiedad sharedContent como se muestra a continuación también es incorrecto.
<!-- your code -->
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<div itemprop='articleBody'>
<div itemprop='sharedContent'>
<div itemscope itemtype="http://schema.org/ImageObject"/>
…
Si bien sharedContent está ahora en el lugar correcto, aún debe ser CreativeWork. Sus ImageObjects aún no están asociados con BlogPosting, como lo muestra la Herramienta de prueba de datos estructurados.
El siguiente es el código correcto.
<!-- my code -->
<div itemscope itemtype="http://schema.org/BlogPosting">
<div itemprop="articleBody">
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<a href="1.png" itemprop="url"><img itemprop="image" src="1.png"></a>
</div>
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<a href="2.png" itemprop="url"><img itemprop="image" src="2.png"></a>
</div>
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<a href="3.png" itemprop="url"><img itemprop="image" src="3.png"></a>
</div>
</div>
</div>