![Many events and functions have been and are being cancelled due to the conrona crisis. Google provides new Schema.org properties for this purpose.](https://helloperformance.sirv.com/WP_www.hello-performance.com/2020/03/corona-virus-events-schema.jpg?w=1024&h=346&scale.option=fill&cw=1024&ch=346&cx=center&cy=center)
Due to the current situation and in response to the coronavirus, many events are postponed or even canceled. A measure that can protect lives. The Schema.org initiative has responded by providing us with new properties for events to mark events as postponed, cancelled or virtual (“Schema for Coronavirus special announcement”).
Marking up events with Schema.org structured data is used by many to place events prominently in search results and make it easier for interested people to take action with them.
![Example of events view in Google search.](https://helloperformance.sirv.com/WP_www.hello-performance.com/2020/03/event-beispiel-google-serps-compressor.jpg)
Whoever is looking for events in the near vicinity today knows at the latest since the speech of our Chancellor that all events have been cancelled until further notice due to the Corona crisis and that we should not meet in groups at the moment.
However, the search results show us a different picture. Just about all events still have the status “Yes, will take place”. On the one hand, because they have not yet been updated, on the other hand, because the possibilities to change the status accordingly have been rather limited so far.
A look at the SERPs when searching for “events in Frankfurt”:
![Events and happenings are not marked as cancelled, postponed or virtual in Google search results.](https://helloperformance.sirv.com/WP_www.hello-performance.com/2020/03/event-update-corona-schema.jpg)
With the just released Schema.org 7.0 update it is now possible to give events a current status using the new property eventStatus.
The status can be:
- Canceled
- Postponed (New date still unknown)
- Postponed (New date known)
- Implementation now as an online event
JSON LD code examples for event markup
Cancelled Event (EventCancelled):
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"eventStatus": "http://schema.org/EventCancelled",
"location": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Langenselbold",
"postalCode": "63505",
"streetAddress": "Friedrichstr. 17"
},
"name": "Name des Events"
},
"name": "ABGESAGT - Name des Events",
"offers": {
"@type": "Offer",
"price": "10.00",
"priceCurrency": "EUR",
"url": "https://www.hello-performance.com"
},
"startDate": "2020-03-19T10:00"
}
</script>
Postponed event with unknown new date (EventPostponed):
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"eventStatus": "http://schema.org/EventPostponed",
"location": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Langenselbold",
"postalCode": "63505",
"streetAddress": "Friedrichstr. 17"
},
"name": "Name des Events"
},
"name": "VERSCHOBEN - Name des Events",
"offers": {
"@type": "Offer",
"price": "10.00",
"priceCurrency": "EUR",
"url": "https://www.hello-performance.com"
},
"startDate": "2020-03-19T10:00"
}
</script>
Event rescheduled to a new date (EventRescheduled):
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"eventStatus": "http://schema.org/EventRescheduled",
"previousStartDate" : "2020-03-19T10:00",
"location": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Langenselbold",
"postalCode": "63505",
"streetAddress": "Friedrichstr. 17"
},
"name": "Name des Events"
},
"name": "VERSCHOBEN - Name des Events",
"offers": {
"@type": "Offer",
"price": "10.00",
"priceCurrency": "EUR",
"url": "https://www.hello-performance.com"
},
"startDate": "2020-05-19T10:00"
}
</script>
Event takes place online (EventMovedOnline):
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Event",
"eventStatus": "http://schema.org/EventMovedOnline",
"location": {
"@type": "Place",
"address": {
"@type": "PostalAddress",
"addressLocality": "Langenselbold",
"postalCode": "63505",
"streetAddress": "Friedrichstr. 17"
},
"name": "Name des Events"
},
"name": "Verschoben --> Online-Event - Name des Events",
"offers": {
"@type": "Offer",
"price": "10.00",
"priceCurrency": "EUR",
"url": "https://www.hello-performance.com"
},
"startDate": "2020-03-19T10:00"
}
</script>
Tip! The online event can also be specifically distinguished as such:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Event",
"eventAttendanceMode": "https://schema.org/OnlineEventAttendanceMode",
"location": {
"@type":"VirtualLocation",
"url": "https://www.hello-performance.com/online-event/"
},
"name": "Name des Online-Events",
"offers": {
"@type": "Offer",
"price": "10.00",
"priceCurrency": "EUR",
"url": "https://www.hello-performance.com"
},
"startDate": "2020-03-19T10:00"
}
</script>
Info: VirtualLocation and AttendanceMode are still in the development phase, but can already be used according to Google.
We will see how the implementation of structured data for events will actually show up in Google search. At this point, I have not yet discovered a site that uses the new properties.
Referring to the challenge COVID-19 presents us with, Google has created another new property: CovidTestingFacility
This can be implemented to identify medical facilities that perform testing for coronavirus.
“Fun Fact: I was unsure which german article to use for virus . Apparently I was not alone in this – Duden has reacted and updated its article:
![which article for virus? In times of Corona, the Duden has updated its article.](https://helloperformance.sirv.com/WP_www.hello-performance.com/2020/03/der-oder-das-virus-duden.jpg)
With this in mind: Stay healthy, be careful and take care for your loved ones! <3