Prévia do link não funciona para site específico

Oi

Estou rodando um fórum Discourse recém-migrado. Os “pré-visualizações de link” com boa aparência estão sendo gerados corretamente para todos os sites que testei, exceto este (que é importante para nós):

Como não parece estar funcionando aqui no Meta também, estou me perguntando se é um bug no Discourse ou talvez apenas alguma peculiaridade do próprio site que esteja causando dificuldades? Alguma pista do que poderia ser isso?

Esse site não é privado e não requer nenhum login. Eu também administro esse site, então, se houver algo que precise ser feito lá, posso tentar resolver.

Obrigado.

O gem onebox do Discourse exige que os sites definam corretamente as tags Open Graph. O site mencionado em sua postagem não possui nenhuma tag Open Graph.

Portanto, não há muito o que possamos fazer a respeito. O site precisa adicionar as tags OG necessárias para que ele seja exibido como onebox no Discourse.

Perfeito, é isso que eu preciso saber. Vou ver se consigo adicionar essas tags. Obrigado.

:thinking: Então, adicionei as tags: verifique meu site no iframeley

E consegui que um Onebox aparecesse no WhatsApp:

Mas não no Discourse:

Pensei se poderia ser um problema de cache, mas não parece ser. Testei em diferentes sites Discourse e com variações de URL…

Existe alguma outra tag que o Discourse exige e que estou esquecendo? Em outro post aqui, li que title e description são as únicas obrigatórias, e eu já tenho essas duas…

Obrigado pela ajuda.

onebox acessa a página de destino e verifica as tags Open Graph ou oEmbed , incluindo:

  • endereço do site
  • título
  • imagem de destaque
  • descrição (obrigatória)
  • preço do produto

:warning: Observe que o Discourse exige que a tag de descrição esteja presente e contenha texto suficiente para resumir a página; caso contrário, o link de destino não será convertido em um onebox.

Outra boa explicação está em Creating rich link previews with Onebox.

Iframes Avançados

Por padrão, <iframe> é bloqueado por motivos de segurança, mas, se forem de uma fonte altamente confiável, um administrador do Discourse pode explicitamente permitir o domínio como alvo de <iframe> nas configurações do site.

Ok, obrigado. Tenho o título e a descrição. Talvez seja a falta do atributo og:image que está fazendo o Discourse não gostar do meu site, embora eu não tenha lido em lugar nenhum que esse atributo seja obrigatório.

Vou ter que tentar com esse atributo, mas encontrei algumas dificuldades técnicas ao fazer isso com o Hugo. Quando resolver isso, volto aqui para dar um retorno. Obrigado

Isso está se mostrando difícil. Então agora tenho a og:image no meu meta, e ao examinar com iframeley, tudo parece estar correto.

Mas ainda não consigo fazer o Discourse gerar o onebox… :frowning:

O que pode estar faltando?

A imagem não é suficiente. A descrição em texto também é obrigatória.

Pode ser que eu esteja ignorando algo óbvio aqui, mas o que está errado ou faltando na minha meta tag og:description?

Nada, mas a descrição deve existir e deve ter um número mínimo de caracteres, do ponto de vista do Discourse.

Você pode conferir estes dois links. Perto do final da primeira postagem no primeiro link, há um breve trecho sobre Advanced iFrames, e logo abaixo da imagem postada há informações sobre Advanced iFrames.

Perto do final do segundo tópico (Desafios Onebox), há algo interessante que você pode tentar… um comando curl — e a postagem fornece o código para usar (basta substituir sua URL pela mostrada).