
If you run a website that promotes events — concerts, workshops, webinars, conferences, or local meetups — adding event schema markup to your WordPress site can dramatically improve your visibility in Google Search. Events with proper schema markup can appear as rich results: showing date, time, location, and ticket information directly in search results, before users even click your link.
In this guide, we’ll explain exactly what event schema is, why it matters for SEO, and walk through two methods for adding it to WordPress: manually with JSON-LD, and automatically using the free Event Schema plugin by Xylus Themes.
What Is Event Schema Markup?
Schema markup (also called structured data) is a standardized vocabulary of tags defined by Schema.org — a collaborative project by Google, Microsoft, Yahoo, and Yandex. When you add schema markup to your pages, you’re giving search engines structured, machine-readable information about your content.
Event schema specifically tells search engines that a page describes an event, and provides key details: the event name, start and end date/time, location (physical or virtual), organizer, ticket URL, and more. Google uses this data to power Event rich results in search.
Why Event Schema Matters for SEO
Rich Results Appearance: Events with schema can appear in the Events carousel or with enhanced listings in Google Search, showing date, time, and location directly in SERPs.
Higher Click-Through Rates: Rich results with event details have significantly higher CTR than plain blue links — users see exactly when and where the event is before clicking.
Google Events Pack Visibility: Google sometimes shows a dedicated ‘Events’ section in search results for relevant queries. Schema is the key to getting into this pack.
Voice Search Optimization: Voice assistants like Google Assistant use event schema to answer ‘What events are happening near me?’ queries.
AI Search Citations: AI-powered search (ChatGPT, Google AI Overviews, Gemini) increasingly uses structured data to provide factual answers about events.
Required vs. Recommended Event Schema Properties
Google requires certain properties to be present for an event to qualify for rich results:
Required Properties
@name: The name of the event (e.g., ‘Annual WordPress Developer Conference 2026’).
@startDate: The start date and time in ISO 8601 format (e.g., ‘2026-06-15T09:00:00’).
@location: The venue or virtual location — requires a nested Place or VirtualLocation object.
Recommended Properties (for richer results)
@endDate: End date and time of the event.
@description: A description of the event (up to 500 characters recommended).
@image: URL of an image representing the event.
@url: URL of the event’s page.
@organizer: The organization hosting the event.
@offers: Ticket information including price, currency, availability, and purchase URL.
@eventStatus: EventScheduled, EventCancelled, EventPostponed, or EventMovedOnline.
@eventAttendanceMode: InPerson, Online, or MixedEventAttendanceMode.
Method 1: Adding Event Schema Manually (JSON-LD)
JSON-LD (JavaScript Object Notation for Linked Data) is Google’s preferred format for structured data. You add it as a script block in your page’s HTML. Here’s a complete example:
{
“@context”: “https://schema.org”,
“@type”: “Event”,
“name”: “WordPress Plugin Development Workshop 2026”,
“startDate”: “2026-06-15T09:00:00+05:30”,
“endDate”: “2026-06-15T17:00:00+05:30”,
“eventAttendanceMode”: “https://schema.org/OfflineEventAttendanceMode”,
“eventStatus”: “https://schema.org/EventScheduled”,
“location”: {
“@type”: “Place”,
“name”: “Tech Innovation Hub”,
“address”: {
“@type”: “PostalAddress”,
“streetAddress”: “123 Tech Street”,
“addressLocality”: “Mumbai”,
“addressCountry”: “IN”
}
},
“description”: “A full-day hands-on workshop on building custom WordPress plugins.”,
“organizer”: {
“@type”: “Organization”,
“name”: “Xylus Themes”,
“url”: “https://xylusthemes.com”
},
“offers”: {
“@type”: “Offer”,
“url”: “https://xylusthemes.com/events/wp-workshop/”,
“price”: “0”,
“priceCurrency”: “INR”,
“availability”: “https://schema.org/InStock”,
“validFrom”: “2026-05-01T00:00:00”
},
“image”: “https://xylusthemes.com/wp-content/uploads/event-workshop-2026.jpg”
}
How to Add This to WordPress Manually
- Open your event page in the WordPress editor (Gutenberg or Classic).
- In Gutenberg: Add a ‘Custom HTML’ block at the bottom of the page. In Classic Editor: Switch to Text/HTML view.
- Wrap the JSON-LD in a <script> tag: <script type=’application/ld+json’> … </script>
- Paste the complete JSON-LD code inside the script tags.
- Update/Publish the page.
- Test it using the Google Rich Results Test tool.
💡 Tip: Use the Google Rich Results Test (search.google.com/test/rich-results) to validate your schema before publishing. It shows exactly how Google sees your structured data and highlights any errors.
Method 2: Using the Event Schema Plugin (Recommended)
Manually adding JSON-LD to every event page is time-consuming and error-prone. The Event Schema plugin by Xylus Themes automates this process — generating valid, Google-compliant event schema for every event page without you touching a single line of code.
Installing Event Schema Plugin
- Go to your WordPress admin → Plugins → Add New Plugin.
- Search for ‘Event Schema’ in the plugin search box.
- Find ‘Event Schema — Structured Data for Events’ by Xylus Themes and click Install Now.
- Click Activate after installation.
- You’ll now see ‘Event Schema’ in your WordPress admin sidebar.
Configuring Event Schema for Your Events
Set up the plugin defaults
Navigate to Event Schema → Settings. Configure default organizer details (name, URL, logo) that will apply to all events.
Add schema to an event page
Open any post or page that describes an event. Scroll down to find the ‘Event Schema’ meta box below the editor.
Fill in event details
Enter the event name, start/end date and time, location (venue name, address), and ticket/registration URL.
Set attendance mode
Specify whether the event is In-Person, Online, or Hybrid.
Add ticket information
Enter ticket price, currency, availability status, and purchase URL for rich results in ticket carousels.
Save the page
Update/Publish the page. The plugin automatically generates and injects the correct JSON-LD schema.
Validate
Use the Google Rich Results Test to confirm the schema is rendering correctly.
Testing and Validating Your Event Schema
After adding event schema, always validate it using these tools:
Google Rich Results Test (search.google.com/test/rich-results): Enter your page URL. It shows whether your event qualifies for rich results and highlights any property errors or warnings.
Schema.org Validator (validator.schema.org): More detailed validation against the full Schema.org specification. Good for catching subtle property errors.
Google Search Console (Rich Results Report): Once your pages are indexed, Google Search Console shows which pages have valid event schema and any errors detected during crawling.
Common Event Schema Errors and How to Fix Them
Error: Missing required ‘startDate’ property
Fix: Add the startDate in ISO 8601 format: YYYY-MM-DDTHH:MM:SS. Don’t forget the timezone offset.
Error: Location is not a valid Place object
Fix: The location must be a nested object with @type: ‘Place’, ‘VirtualLocation’, etc. A plain text address is not sufficient.
Error: Invalid date format
Fix: Use ISO 8601: 2026-06-15T09:00:00+05:30, not ’15th June 2026′ or ‘9:00 AM’.
Error: Event status not recognized
Fix: eventStatus must use the full Schema.org URL: ‘https://schema.org/EventScheduled’, not just ‘EventScheduled’.
Error: Ticket price is free but showing as error
Fix: For free events, set price to ‘0’ (string, not number) and priceCurrency to a valid ISO 4217 currency code.
Frequently Asked Questions
Does event schema guarantee rich results in Google?
No, Google doesn’t guarantee rich results even with valid schema. However, valid schema is required to be eligible for rich results. Google’s algorithms decide which pages to show as rich results based on relevance, quality, and other signals.
Does event schema work for virtual/online events?
Yes. For online events, use @type: ‘VirtualLocation’ for the location, and set eventAttendanceMode to ‘https://schema.org/OnlineEventAttendanceMode’. Include the URL where the event will take place.
Can I add schema to multiple events at once?
With the Event Schema plugin from Xylus Themes, each event page gets its own schema. For bulk events, you’d add schema to each page individually through the meta box in the editor. More advanced automation may require the Pro version or custom development.
What’s the difference between adding schema in Yoast SEO vs Event Schema plugin?
Yoast SEO handles general schema (Article, Website, Organization). For event-specific schema with all the required event properties (dates, location, tickets, status), a dedicated plugin like Event Schema provides a much more complete and correct implementation.
How quickly does Google pick up schema changes?
Google recrawls pages on its own schedule, which can take from a few days to a few weeks. You can speed this up by submitting the updated URL in Google Search Console under URL Inspection → Request Indexing.
Conclusion
Event schema markup is one of the highest-ROI structured data improvements you can make to a WordPress site that promotes events. A few minutes of setup can result in dramatically enhanced search result appearances — with dates, times, locations, and ticket links visible directly in Google without a user needing to click through.
The fastest way to get started is with the free Event Schema plugin by Xylus Themes, which automates the entire JSON-LD generation process and ensures your schema stays valid as Google updates its guidelines.
Recommended Reading from Xylus Themes
To further optimize your event management and automation strategy, check out our latest expert guides:
How to Import Eventbrite Events into WordPress (2026 Guide): A complete step-by-step walkthrough on using the Eventbrite API to pull your ticketed events into WordPress effortlessly.
The Role of SEO in Event Promotion: Learn how combining SEO strategies with the WP Event Aggregator can maximize your event’s reach and search engine ranking.
Auto-Share WordPress Posts on LinkedIn: Beyond events, discover how to use the XT Feed for LinkedIn to automate your social sharing and build a stronger professional presence.