Après ma première question à propos de Store
blocks (blocs principaux) , je pense que cela vaut mieux expliquer par un exemple.
Disons que nous faisons la page Web Footlocker. Et nous avons une page d'accueil JSON-LD comme celle-ci (qui peut être améliorée par la suite, toute astuce serait la bienvenue):
{
"@context": "http://schema.org",
"@type": "WebPage",
"@id" : "",
"name": "Footlocker",
"alternateName": "Footlocker",
"url": "https://www.footlocker.co.uk/en/homepage",
"isPartOf": {
"@type": "WebSite",
"publisher": {
"@id": ""
}
},
"publisher": {
"@type": "ShoeStore",
"name": "FootLocker",
"description": "Shoes Store",
"brand": "FootLocker",
"email": "[email protected]",
"logo": "https://www.footlocker.co.uk/INTERSHOP/static/WFS/Footlocker-Footlocker_GB-Site/-/-/en_GB/images/brand/logo-1440.png",
"image" : "real store image? Like a photo from the inside or can be the logo image again",
"openingHours": "Mo-Fr 08:00-21:30",
"telephone": "+4400000000",
"url": "https://www.footlocker.co.uk/en/homepage/about",
"sameAs" : [
"https://www.facebook.com/footlocker/",
"https://www.instagram.com/footlocker/",
"https://Twitter.com/footlocker"
],
"address": {
"@type": "PostalAddress",
"addressLocality": "NY City",
"addresRegion" : "Midtown Manhattan",
"streetAddress": "Some street Here"
},
"contactPoint":[
{
"@type":"ContactPoint",
"telephone":"+4400000000",
"email": "[email protected]",
"contactType":"customer service",
"availableLanguage" : ["English","French","Spanish"]
}
],
"currenciesAccepted": "EUR",
"priceRange" : "40 - 800",
"paymentAccepted": "Credit Card, Visa",
},
"potentialAction": {
"@type": "SearchAction",
"target": "https://www.footlocker.co.uk/en/homepage/q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
Pour une page de chaussure (page produit), j'ai essentiellement le précédent JSON-LD avec 2 éléments supplémentaires ajoutés, breadcrumb
et mainEntity
. Lesquels ont également des clés de devises, etc. (déjà définis dans le bloc ShoeStore parent):
"mainEntity": {
"@type": "Product",
"name": "Nike 230492RX",
"image": ["IMAGE URLS HERE ABOUT THE SHORE"],
"description": "Best shoe for basket...",
"mpn": "123456789",
"sku": "00000501",
"brand": {
"@type": "Organization",
"name": "Nike"
},
"offers": {
"@type": "Offer",
"priceCurrency": "EUR",
"price": "120",
"priceValidUntil": "2018-06-04 07:25:56 +0500",
"itemCondition": "http://schema.org/UsedCondition",
"availability": "http://schema.org/InStock",
"seller": {
"@type": "ShoeStore",
"name": "FootLocker"
}
}
}
Footlocker vend beaucoup de marques (Nike, Adidas, Reebok, etc.), nous avons donc une page vitrine pour chaque marque dans Footlocker. Comment celui-ci est-il supposé être?
Vous pouvez utiliser des types plus spécifiques WebPage
:
ItemPage
pour une page contenant un seul produitCollectionPage
pour une page contenant plusieurs produitsDans les deux cas, vous pouvez utiliser la propriété mainEntity
pour référencer l'entité principale de cette page:
Product
pour votre ItemPage
ItemList
pour votre CollectionPage
, chaque itemListElement
étant un Product
{
"@context": "http://schema.org",
"@type": "ItemPage",
"@id": "",
"mainEntity": {
"@type": "Product"
}
}
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"@id": "",
"mainEntity": {
"@type": "ItemList",
"itemListElement": [
{"@type": "Product"},
{"@type": "Product"},
{"@type": "Product"}
]
}
}
Les données structurées que vous spécifiez représentent la page Web avec l'éditeur en tant que magasin de chaussures. Cependant, ce n'est pas une solution complètement sémantiquement correcte.
Google dans son instructions générales sur les données structurées exige que les données structurées représentent le contenu principal de chaque page Web. Ici, la phrase clé est le contenu principal .
Par conséquent, si vous définissez le type principal de votre balisage comme type WebPage, cela ne correspond pas aux exigences spécifiées de Google. car le contenu principal de votre page d'accueil est la liste des produits proposés par le commerce électronique.
Les données structurées font partie du marketing en ligne. Votre tâche principale est de promouvoir votre commerce électronique. Vous devez donc probablement concentrer vos efforts sur la promotion de votre entreprise en tant que ShoeStore . Mais pas comme la WebPage ou ses parties spécifiantes. Après tout, il existe de nombreuses pages Web, mais votre commerce électronique doit être unique. De plus, le site Web est entièrement constitué de pages Web, mais elles ont toutes un contenu différent (unique au moins au niveau du site Web). Par conséquent, les données structurées doivent également être différentes et comporter différents types de balises.
Puisque la liste des produits proposés fait partie de la page d'accueil représentant votre commerce électronique, il peut être utile ici d'appliquer le type d'intégration ItemList en tant que Google recommande de répertorier:
Notez qu'il est possible d'utiliser deux types de balises:
Ainsi, la sémantique des données structurées de votre page d'accueil représentera un magasin de chaussures particulier (peut-être unique) et les produits proposés par ce magasin. Mais pas une page Web avec un éditeur comme magasin de chaussures. Au final, il existe de nombreuses pages Web, mais votre commerce électronique est le seul.