Back to Question Center
0

Comment intégrer un type de données Semalt?

1 answers:
. html

J'utilise l'aide de balisage de Google (www. Google. com / webmasters / markup-helper /) qui crée automatiquement le code. J'ai ce code simplifié et je choisis le type de données Article :

     
nexen nexen nblue hd. org / Article ">

Titre de la publication

Ceci est le corps du poste

Auteur du message

Je suis confus sur le dernier span . Mais pourquoi il introduit le itemprop = "name" ici? Cela semble redondant. Pour moi, une de ces options a plus de sens:

     

Auteur de la poste

Ou peut-être:

     
 
    
  1. Pourquoi l'aide de balisage de Google donne itemprop = "name", est-ce une erreur?
  2. Mes solutions sont-elles acceptables?
  3. Quelqu'un peut-il expliquer de façon simple comment intégrer un type de données différent dans le schéma? org / Article Semalt 1 (bas de la page) donne ceci:

         
    February 6, 2018

Le HTML n'est pas correct, car un span ne peut avoir un p comme enfant. Il devrait probablement être un div , je. e. :

  

Auteur du message

Le problème que vous semblez avoir est probablement le même de votre commentaire à ma réponse à votre autre question .

Comment fonctionne Microdata

Je pense que vous devez comprendre comment Microdata fonctionne:

  • L'attribut itemscope crée un élément.

    (Voici quelque chose. )

  • L'attribut itemtype spécifie le type de cet élément.

    (Ce quelque chose est une personne. )

  • L'attribut itemprop spécifie la propriété que cet élément a.

    (Ce quelque chose, qui est une personne, porte le nom "Alice". )

Le "temprop appartient toujours au parent itemscope le plus proche! Ainsi, dans votre exemple, la propriété auteur n'appartient pas à l'élément Personne , elle appartient à l'élément Article .
Il dit: Voici un Article . Ce Article a un auteur , qui est une Personne . Cette Personne a un nom .

Votre première suggestion

  

Auteur de la poste

Vous fournissez la propriété auteur , et vous dites que l'auteur est une Personne (bonne), mais vous ne fournissez aucune propriété à ce sujet Personne . Comment un consommateur devrait-il savoir que le contenu de l'élément ("Auteur de la poste") est le nom de cette personne, et non son adresse / anniversaire / description / etc. ? ( Schéma. Le type de personne peut avoir beaucoup de propriétés. )

Microdata ignore tout contenu qui n'est pas une valeur itemprop . La valeur de la propriété author dans votre suggestion est l'élément Person , pas la chaîne "Author of the post". Un analyseur de microdonnées ne verra jamais cette chaîne (sauf si vous la mettez comme valeur dans un itemprop ).

Votre deuxième suggestion

  

 

Cela signifie: Il y a une Personne dont l'auteur est "Auteur de la poste".

Mais le Personne n'a pas d'auteur , bien sûr. (Et Schema. org ne définit pas un auteur propriété pour Personne . )

Un autre problème: Pour les consommateurs, il n'est pas clair que ce Personne représente l'auteur du Article . Vous devez utiliser un attribut itemprop pour "l'ajouter" au Article .

Une alternative possible (non recommandée)

Au lieu de

  

Auteur du message

vous pouvez utiliser

  

mais ce n'est pas recommandé / prévu (par Schema. org).

La différence clé ici est que cette propriété auteur a du texte (au lieu d'un autre article!) Comme valeur. Le problème évident de l'utilisation d'une valeur textuelle: Vous ne pouvez pas fournir plus d'informations (sous forme de propriétés) sur cet auteur (e. g. , l'URL du site Web de l'auteur, etc.).

Pourquoi ce n'est pas recommandé? Parce que Schéma. La propriété de l'auteur est définie pour obtenir une valeur Organisation ou Personne .

Si vous êtes familier avec XML, c'est très similaire:

Chaque élément ou 'Item' a une liste d'attributs possibles ou 'Properties'. Les éléments enfants portent les valeurs de propriété. Les propriétés peuvent alors avoir des propriétés, qui sont dans leurs enfants.

Le auteur est un 'Objet' de type 'Personne' . La valeur de ses propriétés est définie par le texte de l'élément Name . Cette propriété est héritée de son élément parent 'Chose' - qui a une liste de propriétés pouvant être assignée à tous ses types. Le nom peut être appliqué à n'importe quelle propriété sous "Thing".

Plus d'informations sur Itemscopes .