Please A few question about schema.org

Hello,

I'd like to ask you a few questions. I am trying to correctly design the web architecture according schema.org, but I have issues with it.

First one:
There are these pages on myweb.com with URLs:

  1. myweb.com/seller1/product-1 : product page including ticket to event + info about event
  2. myweb.com/seller1/product-2 : product page including paid table reservation + info about event
  3. myweb.com/seller2/product-3 : product page including paid meet and greet reservation + info about event
  
Which of JSON-LD examples is better to use for SEO of the product page? Or is it combination? Could you provide right example for my use case?


1.
  <script type="application/ld+json">
  [
    {
      "@context": "http://schema.org/",
      "@type": "Event",
      ...
    },
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      ...
    }
  ]
  </script>


2.
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@graph":
    [
      {
        "@type": "Event",
        ...
      },
      {
        "@type": "Product",
        ...
      }
    ]
  }
  </script>


3.
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": ["Event", "Product"],
    ...
  }
  </script>


4.
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": "Event",
    "offers": [
      {
        "@type": "Offer"
        ...
      }
    ]
    ...
  }
  </script>


Seccond one:
And what about seller's page:

  - myweb.com/seller1 including: list of products and list of services

Which of JSON-LD examples is better to use for SEO of the seller's page? Should I use makesOffer instead of hasOfferCatalog? If so how it will be look a like?


1.
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": "EntertainmentBusiness",
    "hasOfferCatalog": {
      "@type": "OfferCatalog",
      "itemListElement": [
        {
          "@type": "OfferCatalog",
          "name": "Events",
          "itemListElement": [
            {
              "@type": "Offer",
              "name": "Ticket to Event 1",
              ... Can I use @id to here myweb.com/seller1/product-1 ?
            },
            {
              "@type": "Offer",
              "name": "Table reservation to any event",
              ...
            }
          ]
        },
        {
          "@type": "OfferCatalog",
          "name": "Services",
          "itemListElement": [
            {
              "@type": "Offer",
              "name": "Rental club",
              ...
            },
            {
              "@type": "Offer",
              "name": "Catering",
              ...
            }
          ]
        },
        {
          "@type": "OfferCatalog",
          "name": "Products",
          "itemListElement": [
            {
              "@type": "Offer",
              "name": "Drink boat with quick delivery to the table",
              ...
            },
            {
              "@type": "Offer",
              "name": "Branded T-Shirt",
              ...
            }
          ]
        }
      ]
    }
  }
  </script>
  
  
2.
  <script type="application/ld+json">
  {
    "@context": "http://schema.org/",
    "@type": "EntertainmentBusiness",
    ...
  }
  </script>
  
  <script type="application/ld+json">
  [
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      "name": "Ticket to Event 1",
      ... Can I use @id to here myweb.com/seller1/product-1 ?
    },
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      "name": "Table reservation to any event",
      ...
    }
  ]
  </script>
  
  <script type="application/ld+json">
  [
    {
      "@context": "http://schema.org/",
      "@type": "Service",
      "name": "Rental club",
      ...
    },
    {
      "@context": "http://schema.org/",
      "@type": "Service",
      "name": "Catering",
      ...
    }
  ]
  </script>
  
  <script type="application/ld+json">
  [
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      "name": "Drink boat with quick delivery to the table",
      ...
    },
    {
      "@context": "http://schema.org/",
      "@type": "Product",
      "name": "Branded T-shirt",
      ...
    }
  ]
  </script>




Does Google's crawler support Product/Event/Book schema when these entities are nested?

If my questions imply any misunderstanding of schema principles, please tell me.

I will be very pleased for your responding.


Sincerely,
Lukas Komarek

Received on Tuesday, 13 August 2019 06:07:53 UTC