J'essaie de déterminer si les données structurées par événement sont valides si le champ d'emplacement est uniquement du texte, mais j'ai trouvé des réponses contradictoires.
Exemple:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"startDate": "2013-09-14T21:30",
"name": "Name of the event",
"location" : "Some place"
}
</script>
Guide des extraits enrichis de Google indique explicitement que cela est autorisé (bien que cela ne soit pas recommandé):
Une chaîne de texte est autorisée, mais nous vous recommandons de représenter l'emplacement en utilisant un lieu ou une organisation imbriqué pour spécifier séparément un nom de lieu et son adresse.
Mais si je colle les données ci-dessus dans le propre outil de test de données structurées de Google, il interprète "emplacement" en tant qu'objet et le rejette car il n'a pas d'adresse:
location [Thing]:
name: Some place
address: missing and required
schema.org suggère également que les seuls types valides sont PostalAddress ou Place, et non du texte brut.
Le linter à l'adresse http://linter.structured-data.org/ , cependant, accepte les données sans erreur.
Il n'y a pas de règle claire selon laquelle vous ne pouvez pas utiliser une chaîne à la place d'un lieu imbriqué. Mais comme Google souhaite vous fournir les données les plus fiables, il affiche une erreur sur son outil de test.
D'après mon expérience, Google souhaite que vous utilisiez un emplacement approprié. Par conséquent, une adresse réelle livrée comme dans le guide Google est demandée:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"startDate": "2013-09-14T21:30",
"name": "Name of the event",
"location" : {
"@type" : "Place",
"sameAs" : "http://www.hi-dive.com",
"name" : "The Hi-Dive",
"address" : "7 S. Broadway, Denver, CO 80209"}
}
</script>
Malgré la spécification schema.org, Google a décidé de répondre à cette exigence supplémentaire afin de recevoir des données de haute qualité. Comme leur guide 1 dit:
nous vous recommandons de représenter le lieu en utilisant un lieu ou une organisation imbriqué afin de spécifier séparément un nom de lieu et son adresse.
Si vous transmettez une chaîne simple telle que "un endroit", Google risque de ne pas accepter vos données. De plus, ils peuvent vous servir d'action manuelle sur les extraits enrichis spammés s'ils ne reconnaissent pas les emplacements réels de votre code.
Lorsque vous optimisez et testez vos données pour Google, respectez leurs outils de test. Bien que la doublure sur structural-data.org fonctionne bien, elle ne respecte pas les exigences de Google.
En résumé:
Votre exemple de code correspond à la spécification schema.org et est donc valide. Mais Google souhaite vous encourager à fournir des données plus détaillées et demande un lieu ou une organisation imbriqué à la place d'une simple chaîne de lieu.