fix(seo): add endDate, performer, offers to Event structured data

Clears the 3 non-critical Events issues in Search Console
("Missing field endDate/performer/offers") across all /projects/
recap pages. These are free, single-day events, so endDate mirrors
startDate, performer is MSOS (host org), and offers is a zero-price
Offer. Generated centrally in tools/seo_inject.py and re-injected.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
popovskikandClaude Opus 4.8 committed 2026-08-30 09:40:14 +02:00
1 parent 0a1971efad
commit 508cb79334
260 files changed
+311 -308

No files matched your search

+3
View File
@@ -431,12 +431,15 @@ def event_schema(lang, path, content, canon, desc, ogimg):
"@context": "https://schema.org", "@type": "Event",
"name": headline,
"startDate": start,
"endDate": start,
"eventStatus": "https://schema.org/EventScheduled",
"eventAttendanceMode": "https://schema.org/OfflineEventAttendanceMode",
"location": place,
"image": ogimg,
"inLanguage": HREF[lang],
"organizer": {"@type": "Organization", "name": SITE_NAME[lang], "url": f"{DOMAIN}/{lang}/"},
"performer": {"@type": "Organization", "name": SITE_NAME[lang], "url": f"{DOMAIN}/{lang}/"},
"offers": {"@type": "Offer", "price": "0", "priceCurrency": "EUR", "availability": "https://schema.org/InStock", "url": canon, "validFrom": start},
"url": canon,
}
if desc: