Маршруты «Предстоящие события» в календаре/событиях Discourse, по-видимому, не включают метаданные Open Graph и Twitter Cards в первоначальный HTML-ответ, сгенерированный на стороне сервера.
Это воспроизводится на размещённом сайте Discourse, где обычные страницы корректно выводят социальные метаданные, а изображение Open Graph для сайта настроено верно.
Пример затронутого маршрута:
https://www.mbacommons.com/upcoming-events/month/2026/8/1
Шаги воспроизведения
- Настройте корректное изображение Open Graph для сайта.
- Убедитесь, что на главной странице или в обычной теме в исходном HTML присутствуют стандартные метаданные Open Graph.
- Откройте
/upcoming-events/month/2026/8/1. - Проверьте исходный HTML (через
view-source:) или первоначальный ответ сервера, а не DOM после выполнения JavaScript.
Фактический результат
Маршрут «Предстоящие события» возвращает HTTP 200, но в исходном HTML отсутствуют:
og:imageog:titleog:descriptionog:urltwitter:cardtwitter:image
Я также протестировал с помощью LinkedInBot/1.0; результат идентичен.
Аудит исходного HTML на этом же сайте в продакшене показал:
- главная страница: 11 тегов социальных метаданных
- обычная тема: 14
- Предстоящие события: 0
Главная страница и обычные темы корректно используют настроенное изображение Open Graph для сайта, поэтому сама конфигурация брендинга на уровне сайта работает.
Ожидаемый результат
Маршруты «Предстоящие события» должны выводить видимые для краулеров социальные метаданные, сгенерированные на стороне сервера, включая как минимум:
og:titleog:descriptionog:urlog:image, с использованием настроенного изображения Open Graph для сайта в качестве резервного варианта- соответствующие метаданные Twitter Cards
n
Это должно присутствовать в первоначальном HTML, потому что LinkedIn и подобные социальные краулеры не могут полагаться на клиентский JavaScript тем.
В настоящее время LinkedIn Post Inspector сообщает:
Добавьте тег og:image на страницу, чтобы управлять изображением контента в LinkedIn.
Глобальная инъекция через head_tag в теме не кажется подходящим решением, поскольку на обычных страницах метаданные уже корректны, и это может привести к дублированию или конфликту тегов. Похоже, что требуется обработка на стороне сервера с учётом конкретного маршрута для «Предстоящих событий» или использование стандартного пути рендеринга социальных метаданных в Discourse.