In the wake of recent events, Google has introduced new Event Schema properties to help local businesses and events companies maintain good communications (and user experiences) with their potential user base.

The new eventStatus property allows website (and event) owners to communicate whether or not an event has been cancelled, postponed, or rescheduled for a later date.

To start this process, you need your original event schema mark-up:

And then depending on how your event has changed, amend it with one of the following optional properties:

Optional Property Usage Criteria 
EventCancelled Use if your event has been canceled.

However, it is important that you do not remove or change other properties, such as startDate, Location, or endDate. These are still required and needed for Google to process the new change correctly.

To add this, under the “@type” row, you would add:
"eventStatus":"https://schema.org/EventCancelled"

EventMovedOnline Use if your event has canceled the physical location and has instead moved online to be a virtual event.

This is actioned by changing "@type": "Place" to "@type": "VirtualLocation" and then on the row underneath adding the URL where the event will take place.

Google also recommends setting the eventAttendanceMode to OnlineEventAttendanceMode, even though they are classed as under-development by Schema.org.

EventPostponed Use if you know that your event will be postponed, but you do not yet know the rescheduled date.

You should keep all properties, including startDate the same and unchanged, and once you know the updated date (and location) changed from EventPostponed to EventRescheduled.

To add this, under the “@type” row, you would add:
"eventStatus":"https://schema.org/EventPostponed"

EventRescheduled Use if your event has been rescheduled for a later date. If you don’t know the later date, use EventPostponed).

To add this, under the “@type” row, you would add:
"eventStatus":"https://schema.org/EventRescheduled"

You can also extend this further with the optional previousStartDate field. You would add this underneath the startDate and endDate fields:

"previousStartDate":"2020-02-15T13:00"

EventScheduled If you don’t set an eventStatus, this is the default and Google assumes that your event will be happening as planned and display as such through your Google My Business panel and other events related to SCRBs (special content results blocks).

As with any changes made to your website, it’s important to get Google to crawl and process the changes as quickly as possible. This can be encouraged through:

  • Tweeting your event URL and the updates, making use of the Twitter/Google firehose which correlates with URLs being crawled and picked up quickly.
  • If your sitemap is available through your server, you can ping Google the specific location using the address bar in Chrome by entering http://www.google.com/ping?sitemap=URL-of-file.
  • Submitting the event URL via the Google Search Console inspection tool and requesting it be added to the crawl queue.