nuxt-x-schema
Event
Schema.org Event JSON-LD component for conferences, webinars, and local events.
Event
The XSchemaEvent component injects a <script type="application/ld+json"> tag for event structured data. No visible output — SEO only.
Components
<XSchemaEvent />
Use on pages for conferences, webinars, meetups, or any scheduled event. The eventAttendanceMode prop distinguishes online, offline, and hybrid events.
<XSchemaEvent
name="Vue Conference 2024"
description="Annual Vue.js community conference"
start-date="2024-06-01T09:00:00"
end-date="2024-06-02T18:00:00"
event-attendance-mode="OfflineEventAttendanceMode"
/>
Props
| Prop | Type | Required | Default | Description |
|---|---|---|---|---|
name | String | Yes | — | Event name |
description | String | Yes | — | Event description |
startDate | String | Yes | — | ISO 8601 start datetime |
endDate | String | Yes | — | ISO 8601 end datetime |
eventAttendanceMode | String | No | "OnlineEventAttendanceMode" | OnlineEventAttendanceMode, OfflineEventAttendanceMode, MixedEventAttendanceMode |
eventStatus | String | No | "EventScheduled" | EventScheduled, EventCancelled, EventPostponed, etc. |
location | Record<string, any> | No | — | Location object (Place or VirtualLocation) |
url | String | No | — | Event URL |
image | String | String[] | No | — | Event image URL(s) |
organizer | Organization | No | — | Organizer Organization object |
offers | Offer | No | — | Ticket/registration Offer object |
AI Context
component: XSchemaEvent
package: "@xenterprises/nuxt-x-schema"
output: JSON-LD script tag in <head>
use-when: Adding Event structured data for conferences, webinars, meetups, or any scheduled event
place: In page-level components (pages/ or layouts/), NOT in shared headers
notes:
- Renderless component — no visible DOM output; purely SEO metadata
- Injects JSON-LD server-side via useHead — SSR-safe, visible to crawlers on first paint
- eventAttendanceMode distinguishes online, offline, and hybrid events
