As rotas Próximos Eventos do Discourse Calendar / Events parecem omitir todos os metadados do Open Graph e dos Twitter Cards da resposta HTML renderizada no servidor inicial.
Isso é reproduzível em um site Discourse hospedado onde páginas normais emitem corretamente metadados sociais e uma imagem OpenGraph válida do site está configurada.
Exemplo de rota afetada:
https://www.mbacommons.com/upcoming-events/month/2026/8/1
Passos para reproduzir
- Configure uma imagem OpenGraph válida do site.
- Confirme que a página inicial ou um tópico normal emite metadados Open Graph normais no HTML bruto.
- Abra
/upcoming-events/month/2026/8/1. - Inspecione o
view-source:bruto / resposta inicial do servidor, não o DOM pós-JavaScript.
Resultado atual
A rota Próximos Eventos retorna HTTP 200, mas o HTML bruto contém:
- nenhum
og:image - nenhum
og:title - nenhum
og:description - nenhum
og:url - nenhum
twitter:card - nenhum
twitter:image
Eu também testei usando LinkedInBot/1.0; o resultado é idêntico.
Uma auditoria de produção em HTML bruto no mesmo site contou:
- página inicial: 11 tags de metadados sociais
- tópico normal: 14
- Próximos Eventos: 0
A página inicial e os tópicos normais usam corretamente a imagem OpenGraph configurada do site, então a própria configuração de marcação no nível do site está funcionando.
Resultado esperado
As rotas Próximos Eventos devem emitir metadados sociais visíveis aos rastreadores, renderizados no servidor, incluindo, no mínimo:
og:titleog:descriptionog:urlog:image, com fallback para a imagem OpenGraph configurada do site- metadados correspondentes do Twitter Card
Isso precisa estar no HTML inicial porque o LinkedIn e rastreadores sociais semelhantes não podem depender do JavaScript do tema no lado do cliente.
O LinkedIn Post Inspector relata atualmente:
Adicione uma tag og:image à página para ter controle sobre a imagem do conteúdo no LinkedIn.
Uma injeção global de head_tag no tema não parece apropriada, pois as páginas normais já possuem metadados corretos e isso poderia criar tags duplicadas ou conflitantes. Isso parece exigir um tratamento no lado do servidor ciente da rota para Próximos Eventos ou o uso do caminho normal de renderização de metadados sociais do Discourse.