Every published event page carries Event schema: structured data (in the JSON-LD format) that search engines read to show an event’s date, place and price in their results. HappenBoard builds it from the fields you already filled in.
There is no setting to switch on and nothing to type twice.
What the markup contains
| Field | Taken from |
|---|---|
name | The event title. |
description | The excerpt, or the first 55 words of the content when there is no excerpt. Left out for a password-protected event, so its text stays private. |
startDate, endDate | The date shown on the page (see below). |
url | The address of the event page. |
inLanguage | Your site language. |
image | The featured image, in its full, large and medium sizes, when there is one. |
location, eventAttendanceMode | The event format and its venue (see below). |
organizer | The linked organizer: its name, its website (or its page on your site) and its email. |
offers, isAccessibleForFree | The price and whether seats are left (see below). |
maximumAttendeeCapacity, remainingAttendeeCapacity | The capacity and the seats still free, when the event has a capacity. |
eventStatus | Scheduled. With HappenBoard Pro, an event brought in from Google Calendar or Outlook is Cancelled when it is cancelled there, and Postponed when Google marks it tentative. |
The markup is only as complete as your event, its venue and its organizer.
Which date is published
A one-time event uses its own date. A recurring event uses the date in progress, or else the next one. Once the whole series is over, it uses the last date, so the markup always has a valid date.
The start and the end always come from the same date, and a cancelled date is never used. All-day events show the date only. Timed events show the date and time with your site’s time zone.
Location and attendance mode
The event format you choose in the editor decides both fields (see in-person, virtual and hybrid events):
- In person: a place, with the offline attendance mode.
- Virtual: an online location (the meeting link, or the event page when there is none), with the online mode.
- Hybrid: both, with the mixed mode.
The place carries the venue’s name, street, city, region, postal code and country, plus its coordinates when the venue has them. An in-person or hybrid event with no venue at all is described as online, because search engines reject an event without a location. That is the case when it has no saved venue, and no venue name or address typed on the event. A venue name without an address still gives a place.
Price and availability
A free event, registered for through its RSVP form, gets one offer at a price of 0. It is in your site currency (the Currency of the General settings) and marked free to attend. The offer says “in stock”, or “sold out” once every seat is taken. On a recurring event, the seats counted are those of the date shown.
With HappenBoard Pro tickets, each ticket on sale gets its own offer, with its price, its currency, its sale dates, and “sold out” when no seat is left. A paid ticket gets one only when Stripe or WooCommerce can take the payment. A ticketed event with no ticket on sale gets no offer at all: it is never published as free.
Working with SEOPress
If SEOPress is active and you added an Event schema by hand to an event in SEOPress Pro, HappenBoard prints nothing on that page. The page then has only one Event schema, the one you wrote. Everywhere else, HappenBoard prints its own.
HappenBoard Pro adds more for SEOPress users, such as event variables for titles and descriptions. See the SEOPress integration. Developers can change or turn off the markup with the schema hooks.
Check the result
Only published events get the markup. Drafts, private events and events with no start date get none.
To test a page, paste its address into Google’s Rich Results Test. You can also open https://example.com/wp-json/happenboard/v1/events/123/schema on your site, replacing example.com with your domain and 123 with the event ID: it shows the markup HappenBoard builds for that event.
Next steps
- Building a single event page: the page this markup describes.
- Venues: creating and setting coordinates: give search engines a full address.
- SEOPress integration: more SEO options for your events.