Skip to content

Implement the Event schema.org for Meetings #13245

@andreslucena

Description

@andreslucena

Ref: MGOV01

Is your feature request related to a problem? Please describe.

As a visitor that is searching information about a Meeting in Decidim using an external search portal (like google.com), I don’t have metadata available in the external page about the Meeting.

Describe the solution you'd like

To have this rich information in the external search portal or tool, by implementing the Event schema.org JSON-LD specification. For this, we will follow the examples available in Google’s documentation, the “Event (Event) structured data”:

Event graphics according to Google documentation

<html>
  <head>
    <title>The Adventures of Kira and Morrison</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Event",
      "name": "The Adventures of Kira and Morrison",
      "startDate": "2025-07-21T19:00-05:00",
      "endDate": "2025-07-21T23:00-05:00",
      "eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
      "eventStatus": "https://schema.org/EventScheduled",
      "location": {
        "@type": "Place",
        "name": "Snickerpark Stadium",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "100 West Snickerpark Dr",
          "addressLocality": "Snickertown",
          "postalCode": "19019",
          "addressRegion": "PA",
          "addressCountry": "US"
        }
      },
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "description": "The Adventures of Kira and Morrison is coming to Snickertown in a can't miss performance.",
      "offers": {
        "@type": "Offer",
        "url": "https://www.example.com/event_offer/12345_202403180430",
        "price": "30",
        "priceCurrency": "USD",
        "availability": "https://[schema.org](http://schema.org/)/InStock",
        "validFrom": "2024-05-21T12:00"
      },
      "performer": {
        "@type": "PerformingGroup",
        "name": "Kira and Morrison"
      },
      "organizer": {
        "@type": "Organization",
        "name": "Kira and Morrison Music",
        "url": "https://kiraandmorrisonmusic.com"
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>

See the Google page for in-detail explanation of the different attributes and its format.

Describe alternatives you've considered

Instead of schema.org (JSON-LD), we could implement RDF, but it isn’t widely used and implemented by other external tools/pages.

Additional context

See:

Does this issue could impact on users private data?

No, it’s already public data

Acceptance criteria

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Merged

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions