In short. Use EventRescheduled, keep the replacement date in startDate, and record the earlier date in previousStartDate.
Definition: Mark the event with
eventStatusset tohttps://schema.org/EventRescheduled, put the replacement date instartDate, and put the earlier scheduled date inpreviousStartDate. Google requireseventStatuswhenpreviousStartDateis present.
Key facts
- Google's Event structured data documentation says that a rescheduled event gets the relevant new dates in
startDateandendDate. - Schema.org defines
previousStartDateas the previously scheduled start date and assigns it theDateorDateTimevalue type in the Event vocabulary. - Schema.org describes EventStatusType as an enumeration whose instances represent states that an Event may be in, including the value used by
eventStatus. - The Google documentation says that
startDatemust remain present because it helps identify the unique event, and that it must contain only the newly scheduled start date for a rescheduled event.
Which date belongs in each property?
startDate is the event's current start date and time. Google specifies an ISO 8601 value and recommends including the date and time. previousStartDate preserves the date that was scheduled before the change. Schema.org describes the two properties in the same relationship: the previous property stores the earlier date, while startDate stores the newly scheduled date.
The status describes the change. Set eventStatus to https://schema.org/EventRescheduled when the event has moved to a later date. Google says that if previousStartDate is added, eventStatus must also be added with that value, and other event statuses must not be used with it.
What should the JSON-LD contain?
Use the event's replacement start and end values in the current fields and retain the earlier start value separately:
{
"@context": "https://schema.org",
"@type": "Event",
"startDate": "2025-07-21T19:00-05:00",
"endDate": "2025-07-21T23:00-05:00",
"eventStatus": "https://schema.org/EventRescheduled",
"previousStartDate": "2025-03-21T19:00-05:00"
}
This follows Google's rescheduled event example. The date and time values include a UTC offset. Google's date and time guidance says to include the UTC or GMT offset, and says that when no timezone is provided Google uses the timezone of the event's location.
Do not delete startDate when the status changes. Google explicitly says that the property is required to help identify the unique event. Keep the other event properties that still describe the same event, such as its location, and update the date fields that changed.
What if the replacement date is not known yet?
Use EventPostponed while the event has been postponed and its new date is unknown. Google's instructions say to keep the original date in startDate until the new date is known. Once the replacement date is available, change eventStatus to EventRescheduled and update startDate and endDate with the new date information.
For multiple reschedulings, Google permits repeated previousStartDate values. Schema.org gives the same rule for the rare case in which an event has been postponed and rescheduled multiple times. The current date remains in startDate; the earlier scheduled dates remain in previousStartDate.
Related terms
- How should an event's time zone be expressed in structured data?
- How are multi-day events represented with startDate and endDate?
- How should an event with an unknown start time be marked?
FAQ
Should the old date replace the new startDate?
No. Use the replacement date in startDate and the earlier scheduled date in previousStartDate. Google says startDate must contain only the newly scheduled start date for a rescheduled event.
Is previousStartDate valid without eventStatus?
No. Google's property guidance requires eventStatus with the value EventRescheduled when previousStartDate is added.
Can an event have more than one previous start date?
Yes. Google and Schema.org document repeated previousStartDate values for an event rescheduled multiple times.
Sources
- Google Search Central, "Event structured data", 8 September 2026
- Schema.org, "Event", undated
- Schema.org, "EventStatusType", undated
Check how a page reads to answer engines. Open the GEO score analyzer