web-dev-qa-db-fra.com

"Organisation" schéma avec un autre schéma sur la même page

Devrais-je utiliser le schéma Organization sur chaque page si j'ai d'autres données de schéma, par exemple Event?

Puis-je utiliser Event et Organization sur la même page?

Organization code

<script type="application/ld+json">
{
  "@context" : "http://schema.org",
  "@type" : "Organization",
  "name" : "name",
  "address": {
    "@type": "PostalAddress",
    "addressLocality": "addr",
    "postalCode": "index",
    "streetAddress": "addr",
    "telephone" : "phone"
  },
  "logo" : {
    "@type": "ImageObject",
    "url": "logo",
    "width": "500",
    "height": "500"
  },
  "email": "email",
  "url" : "url",
  "sameAs" : [
    "link"
  ]
}
</script>

Event code

<div itemscope itemtype="http://schema.org/Event" class="tour tour--page">
    <span class="schema_hide" itemprop="startDate" content="date"></span>
    <span class="schema_hide" itemprop="performer" content="performer"></span>
    <span class="schema_hide" itemprop="url" content="url"></span>
    <img itemprop="image" src="tour.avatar" />
    <h1 itemprop="name">name</h1>
    <div itemprop="location" itemscope itemtype="http://schema.org/Place">
        <span class="schema_hide" itemprop="telephone" content="phone"></span>
        <span class="schema_hide" itemprop="name" content="name"></span>
        <span class="schema_hide" itemprop="address" content="address"></span>
    </div>
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <span itemprop="validFrom" :content="date"></span>
        <span itemprop="url" content="url"></span>
        <span itemprop="availability" content="http://schema.org/PreOrder"></span>
        <span itemprop="priceCurrency" content="RUB"></span>
        <span itemprop="price" content="price"></span>
    </div>
</div>
4
Viktor

Je ferais attention lorsque j'utilise plusieurs entités de premier niveau comme ça. Les systèmes tels que Google choisissent généralement une entité comme entité principale de la page et ignorent les autres. Google décidera-t-il qu'il s'agit d'une page sur une organisation ou d'une page sur un événement?

Il existe des exceptions, telles que les entités qui définissent des parties d'une page (WebPageElement BreadcrumbList, etc.).

Vous pouvez utiliser les propriétés mainEntity ou mainEntityOfPage pour clarifier les choses. par exemple. paramétrez votre événement pour qu’il indique qu’il s’agit de mainEntityOfPage pour la page en cours.

Vous n'avez pas besoin de placer Organisation sur chaque page de votre site si tout le site est lié à cette organisation. Peut-être juste sur la page d'accueil, ou à propos de nous. C'est mieux sur une page qui parle de l'organisation.

Vous pouvez également placer l'organisation dans l'événement si c'est l'organisateur.

1
Tony McCreath

Oui, vous pouvez utiliser autant de schémas que vous le souhaitez.

Il serait préférable de connecter les éléments avec les propriétés appropriées. Par exemple, si Event est organisé par Organization, vous pouvez utiliser la propriété organizer . Pour indiquer l’élément principal, vous pouvez fournir un élément WebPage et utiliser sa propriété mainEntity ( ( ).

Vous utiliserez généralement une seule syntaxe, mais vous utiliserez deux syntaxes: JSON-LD et Microdata. Vous pouvez toujours connecter ces éléments ( via des URI de référencement au lieu d'imbrication ), mais l'utilisation de la même syntaxe facilite la tâche et est probablement mieux prise en charge.

Si vous devez utiliser les deux syntaxes, vous pouvez utiliser quelque chose comme ceci (si l'organisation est l'organisateur de l'événement):

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Organization",
  "@id": "/#this-organization"
</script>

<div itemscope itemtype="http://schema.org/Event">
  <link itemprop="organizer" href="/#this-organization" />
</div>
0
unor