1

I'm having a problem with adding an appropriate schema to historic buildings, temples that are also tourist attractions etc.

<script type="application/ld+json">
{
        "@context": "http://schema.org",
        "@type": ["TouristAttraction", "LandmarksOrHistoricalBuildings"],
        "name": "Effiel Tower",
        "description": "It's an amusement park in Marne-la-Vallée, near Paris, in France and is the most visited theme park in all of France and Europe.",
        "image":"http://www.disneylandparis.it/ssd.jpg",
        "openingHours":["Mo-Fr 10:00-19:00", "Sa 10:00-22:00", "Su 10:00-21:00"],
        "isAccessibleForFree": false,
        "currenciesAccepted": "EUR",
        "paymentAccepted":"Cash, Credit Card",
        "priceRange":"50",
        "url":"http://www.disneylandparis.it/"
}
</script>

Gives the error that LandmarksOrHistoricalBuildings does not allow price, or hours.

Looking at other schemas they listed them as local businesses.

My preference would be the TouristAttraction schema as above.

Primarily I'd like the Name, description, geo, opening hours, price

I'm following https://schema.org/TouristAttraction but again, no prices.

Is the following acceptable?

What's the best route forward?

List a basic TouristAttraction schema and then add in local business as a separate schema? Then a review?

  • Are you trying to get a specific rich snippet from Google? – Stephen Ostermiller Jun 15 at 12:34
  • Yes, price of entrance to a historic building would be good – Dtheme Jun 16 at 13:20
2

Google is one of the creators of the Schema therefore, let me focus your attention on the following Google recommendations for structured data:

Multiple elements on a page

You can include multiple structured data objects on a page, as long as they describe the user-visible page content.

Thus, it may be useful to create two separate top-level types for structured data representing some sort of tourist attraction and organization serving tourists of this attraction. In order for this data to be linked, you can use the identifier such as @id and set there the same URL for both types of a top level.

In this case, both types will have the same identifier and this will be a clear signal that a tourist attraction is served by an organization.

E.g.:

"@context": "https://schema.org",
"@id":"https://example.com/effiel-tower.html",
        "@type": "TouristAttraction",
        .......

"@context": "https://schema.org",
"@id":"https://example.com/effiel-tower.html",
        "@type": "Organization",
        .......
  • Thanks for that. I was heading down the same route. – Dtheme Jun 16 at 13:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.