The JSON-LD Event description is always the full raw post content, including Gutenberg block comments and figure and img markup. The excerpt is computed but then discarded, so a site owner has no way to control what search engines read as the event description.
In includes/calendar/class-calendar_generator.php the calendar builds two values for every event: event_details, which is the raw post content, and event_excerpt_txt, which is the manually entered WordPress excerpt if one exists, otherwise a tag-stripped 30 word summary. Both are passed to the schema class.
In includes/calendar/class-calendar-event-schema.php the schema description starts out as event_excerpt_txt on line 39, which is correct. Line 41 then overwrites it with event_details whenever the body is not empty, which is every real event. The excerpt branch on line 39 is therefore unreachable in practice.
Two consequences. First, the excerpt field cannot influence the schema at all, even when it is filled in deliberately for this purpose. Second, the description Google receives is roughly twice the size it needs to be, because every block comment and every figure and img tag from the body goes into it verbatim. On two live events the description is 3762 characters of which 1700 are text, and 6263 characters of which 2957 are text. Both descriptions begin with a wp colon image block comment rather than with any prose.
Line 44 makes it worse by replacing every double quote with a single quote before interpolation, which rewrites the HTML attributes inside the description as it passes through, so the markup that lands in the schema is not even valid markup.
There is a second, smaller bug in the helper that produces the excerpt. In includes/eventon-core-functions.php the function eventon_get_normal_excerpt slices the string to 30 words first and strips tags afterwards. For a body that opens with an image block those first 30 words are entirely markup, so stripping leaves almost nothing. This matters for the fix: simply deleting line 41 would give image-first events a near empty description. The strip has to happen before the truncation.
Suggested fix. Prefer event_excerpt_txt, and fall back to event_details only after removing HTML comments, shortcodes and tags from it. In the helper, strip comments and tags before truncating to 30 words.
This is the same file and the same string concatenation as the invalid JSON-LD report already filed at https://helpdesk.ashanjay.com/ticket/gallery-in-an-event-body-breaks-the-json-ld-raw-tabs-land-in-the-description-string-so-the-schema-fails-to-parse/ , where the description is interpolated into a JSON string literal without JSON encoding. Both are fixed cleanly by building the schema as a PHP array and encoding it once with wp_json_encode.
Environment. EventON 5.0.12, the file carries a 4.8 version tag. WordPress 6.x, block editor, no custom schema filters in use.
- Aug 3,2026 AT 8:48AM - 9 hours ago