Mobile app version of vmapp.org
Login or Join
Radia820

: In Event structured data, can the location just be text? I am trying to work out whether Event structured data is valid if the location field is just text, but I have found conflicting answers.

@Radia820

Posted in: #Seo #StructuredData

I am trying to work out whether Event structured data is valid if the location field is just text, but I have found conflicting answers.

Example:

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"startDate": "2013-09-14T21:30",
"name": "Name of the event",
"location" : "Some place"
}
</script>


Google's rich snippet guide explicitly says that this is permissible (though not recommended):


A text string is permitted, but we recommend that you represent the location by using a nested Place or Organization to separately specify a venue name and its address.


But if I paste the data above into Google's own structured data testing tool, it interprets "location" as an object and rejects it because it has no address:

location [Thing]:
name: Some place
address: missing and required


schema.org also suggests that the only valid types are PostalAddress or Place, and not plain text.

The linter at linter.structured-data.org/, however, accepts the data without any errors.

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Radia820

1 Comments

Sorted by latest first Latest Oldest Best

 

@Connie744

There is no clear rule that says you may not use a string instead a nested place. But as Google wants you to deliver the most reliable data they post an error on their testing tool.

In my experience Google wants you to use a proper location. Therefore a real life address delivered like in the Google guide is requested:

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"startDate": "2013-09-14T21:30",
"name": "Name of the event",
"location" : {
"@type" : "Place",
"sameAs" : "http://www.hi-dive.com",
"name" : "The Hi-Dive",
"address" : "7 S. Broadway, Denver, CO 80209"}
}
</script>


Despite the schema.org specification Google decided to take this additional requirement in order to receive high quality data. As their guide 1 says:


we recommend that you represent the location by using a nested Place or Organization to separately specify a venue name and its address.


If you deliver a simple string like "some place" Google may not accept your data.
Further they may serve you a manual action on spammy Rich Snippets if they do not recognize real life locations in your code.

When optimizing and testing your data for Google, stick to their testing tools. Though the liner on structured-data.org works fine it does not respect Googles requirements.

To sum it up:

Your example code matches the schema.org specification and therefore is valid. But Google wants to encourage you to deliver more detailed data and requests a nested place or organization instead a simple string for location.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme