web-dev-qa-db-fra.com

Pourquoi le SDTT me dit-il que le champ d'image est manquant?

J'ai créé une recette sur Drupal 8. Lorsque je teste ma page avec l'outil de test de données structurées Google, il me dit que le champ d'image est manquant:

Pourtant, lorsque j'ouvre le lien de l'image dans mon navigateur Internet, l'image s'affiche.

Pourquoi l'outil Google me dit-il que le champ d'image est manquant?

Exemple de balisage:

<img property="schema:image" src="image.jpg" alt="…" typeof="foaf:Image" />
1
ML19

L'erreur signalée par SDTT concerne uniquement le résultat riche en articles de Google. Si vous ne souhaitez pas obtenir le résultat riche, vous pouvez ignorer l'erreur.

Pour obtenir le résultat riche en articles de Google, la valeur de image doit être soit une URL, soit un Schema.org ImageObject.

Vous pouvez donc soit supprimer le type FOAF Image, afin de ne fournir qu'une valeur d'URL:

<img property="schema:image" src="image.jpg" alt="…" />

Ou vous pouvez fournir un élément Schema.org ImageObject + FOAF Image:

<div typeof="schema:Article">
  <div property="schema:image" typeof="foaf:Image schema:ImageObject">
    <img property="schema:contentUrl schema:url" src="image.jpg" alt="…" />
  </div>
</div>

(Vous pouvez ignorer l'erreur selon laquelle le SDTT de Google ne connaît pas le type FOAF Image; l'outil ne connaît principalement que Schema.org, mais il est parfaitement approprié d'utiliser d'autres vocabulaires.)

2
unor

En général: Ceci est une sorte de code désordonné, qui vient du noyau Drupal et des extensions. Je ne sais pas comment y faire face. Je voudrais d'abord me débarrasser de toute extension, qui implémente des données structurées. Ensuite, j'écrivais un code de données structuré propre, qui reflète mes besoins. Ensuite, j'essayais de l'implémenter.

Votre image: dans le test que vous exécutez l'image dont vous parlez est reconnue comme une image :

enter image description here

Vous devez nettoyer votre code de données structuré et lier les types de données significatifs (recette, article et personne) à la même entité unique.

0
Evgeniy