web-dev-qa-db-ja.com

スキーママークアップで複数のアドレスに情報を追加する

JSON-LDを使用して複数アドレススキーママークアップに情報を追加するにはどうすればよいですか?

ここに私のコードがあります:

<script type='application/ld+json'>
{
  "@context": "http://schema.org",
  "@type": "Apartments",
  "name": "***",
  "url": "***",
  "address":
  [
    {
      "@type": "PostalAddress",
                "streetAddress": "***",
             "addressLocality": "***",
                "addressRegion": "***",
             "postalCode": "***",
             "addressCountry": "Canada"
    },
    {
      "@type": "PostalAddress",
                "streetAddress": "***",
            "addressLocality": "***",
                "addressRegion": "***",
            "postalCode": "***",
            "addressCountry": "Canada"
    }
  ]
}
</script>

地理座標や営業時間などの情報を追加したいのですが、個々の場所に追加しようとすると、「Expoting 'EOF'」というエラーが表示されます。コードのaddressCountry部分に追加しようとしました。私はそれを間違って配置していると仮定しています。

{
          "@type": "PostalAddress",
                    "streetAddress": "***",
                "addressLocality": "***",
                    "addressRegion": "***",
                "postalCode": "***",
                "addressCountry": "Canada"
        },
"geo": {
    "@type": "GeoCoordinates",
    "latitude": "***",
    "longitude": "***"
  },
"openingHours": "Mo, Tu, We, Th, Fr 08:00-20:00 Sa, Su 10:00-16:00",

 "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Sales",
    "telephone": "***"
}


      ]
    }
    </script>
3
Kevin S

まず、使用するSchema.orgの用語について:

例ではApartments型を使用していますが、これは有効な型ではありません。おそらく Apartment を意味します。ただし、このタイプには openingHours プロパティも contactPoint プロパティも指定できません。また、 PostalAddress がこれらのプロパティを持つことも、 geo を持つこともできません。

Apartmentが複数のアドレスを持つことは通常意味がないので、ここで正しいタイプを本当に使用しているかどうかはわかりません。

とにかく、営業時間を提供するために、 openingHoursSpecification プロパティ(Apartmentの場合)および hoursAvailable プロパティ(PostalAddressの場合)を使用できます。

JSON-LDについて:

そのようなプロパティをネストすることはできません。

PostalAddressノードにプロパティを追加する場合は、各PostalAddress{}内にプロパティを追加する必要があります。つまり、両方のノードで同じである場合、それらを繰り返す必要があります。

3
unor