A imagem schema.org/BlogPosting permite ImageObject e URL, no entanto, o Google permite apenas ImageObject , daí o erro. A marcação pretendida é:
<!-- my code -->
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<img src="image.jpg" itemprop="url">
</div>
Outra discrepância é schema.org/ImageObject recomenda contentUrl
, mas o Google recomenda url
, portanto, meu uso acima.
Em resposta ao código do seu comentário , sua estrutura ainda está incorreta. Vou levá-lo linha por linha:
<!-- your code -->
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
Ponto secundário, mas a menos que você esteja usando o XHTML, itemscope='itemscope'
está errado. Use itemscope
(como você fez mais tarde).
<!-- your code -->
<div itemprop='articleBody'>
<div itemscope itemtype="http://schema.org/ImageObject"/>
Seu ImageObject é filho da propriedade articleBody, mas você não a associou dessa maneira. Assim, você tem um articleBody sem propriedades associadas e um ImageObject não associado. Você deveria usar
<!-- my code -->
<div itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
Além disso, />
está incorreto, mesmo se você estiver tentando usar XHTML, pois esse elemento tem filhos e um fechamento </div>
. Basta usar >
como eu incluí no snippet acima.
<!-- your code -->
<a href="1.png" itemprop="url"><img itemprop="image sharedContent" src="1.png" /></a>
O que o sharedContent está fazendo aqui? sharedContent espera um CreativeWork quando usado como uma propriedade do SocialMediaPosting - nunca como uma propriedade do ImageObject e nunca em um img.
Seu outro trecho de código que coloca a propriedade sharedContent como abaixo também está errado.
<!-- your code -->
<div itemscope='itemscope' itemtype='http://schema.org/BlogPosting'>
<div itemprop='articleBody'>
<div itemprop='sharedContent'>
<div itemscope itemtype="http://schema.org/ImageObject"/>
…
Embora o sharedContent esteja agora no lugar certo, ele ainda precisa ser um CreativeWork. Seus ImageObjects ainda não estão associados ao BlogPosting, como mostra a Ferramenta de Teste de Dados Estruturados.
A seguir está o código correto.
<!-- 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>