Configurando e solucionando problemas de oneboxes

:bookmark: Este guia explica como configurar e solucionar problemas de oneboxes no Discourse. Ele abrange configurações de administrador, como funcionam os oneboxes e etapas para resolver problemas comuns.

:person_raising_hand: Nível de usuário necessário: Administrador

Oneboxes são pré-visualizações de links ricas que os usuários podem criar em suas postagens. Embora os usuários possam gerar facilmente essas pré-visualizações, os administradores do site têm controles adicionais e podem precisar solucionar problemas quando os links não são pré-visualizados como esperado.

Configuração do administrador

Para gerenciar as configurações de onebox:

  1. Vá para o painel do Administrador
  2. Navegue até a seção de configurações do site
  3. Procure por “onebox”

Você verá uma lista de configurações relacionadas a onebox:

Algumas configurações notáveis incluem:

  • post onebox maxlength: Controla a quantidade de texto incluída em um onebox
  • enable inline onebox on all domains: Habilita oneboxes inline, convertendo URLs simples em títulos vinculados (por exemplo, https://en.wikipedia.org/wiki/Fun_(band) se torna “Fun (band) - Wikipedia”)
  • blocked onebox domains: Permite desabilitar oneboxes para domínios específicos

Como funcionam os oneboxes

Quando um link é incluído em uma postagem, o Discourse visita a página de destino e procura por tags Open Graph ou oEmbed, incluindo:

  • Endereço do site
  • Título
  • Imagem em destaque
  • Ícone do site (ou favicon)
  • Descrição (obrigatório)
  • Preço do produto (se relevante)

:warning: O Discourse exige que a tag de descrição esteja presente e contenha texto suficiente para resumir a página. Sem isso, o link de destino não será convertido em onebox.

Aqui está um exemplo de onebox para \u003chttps://discourse.org\u003e que mostra o título do site, a imagem em destaque, o ícone e a descrição:

Solução de problemas

Se os oneboxes não estiverem funcionando como esperado, tente estas etapas:

  1. Teste o site usando iFramely:

    • Cole o link e verifique se ele está usando as meta tags OpenGraph ou oEmbed corretas
    • Certifique-se de que o texto da descrição esteja presente e seja adequado
  2. Verifique se a solicitação de onebox está sendo bloqueada:

    • Alguns hosts podem bloquear user agents “desconhecidos”
    • Verifique se o site de destino não está bloqueando o user agent do Discourse
  3. Para links internos que não são exibidos como oneboxes:

    • Certifique-se de que o link não esteja em uma categoria segura
    • Links internos só geram oneboxes em categorias públicas ou dentro da mesma categoria por motivos de segurança

Do console do Rails, você pode invalidar/buscar explicitamente oneboxes chamando os métodos enquanto testa fazendo:

[1] pry(main)> Oneboxer.invalidate(url)
=> 0

[2] pry(main)> Oneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"

[3] pry(main)> InlineOneboxer.invalidate(url)
=> 0

[4] pry(main)> InlineOneboxer.onebox(url)
=> "<aside class=\"onebox …(elided)"

Recursos adicionais

2 curtidas

Este é um bom recurso, mas parece ficar aquém.

Fiz isso e ele retornou uma caixa, era leve em conteúdo, mas ainda parecia melhor do que um simples link de URL.

Assumindo que a falta de conteúdo é o problema para não aparecer em uma caixa no meu site, com base em não atender a este requisito, o que pode ser feito?

Não vejo uma configuração para colocar em uma caixa sites que não têm conteúdo suficiente, então um administrador do site pode ser contatado para fazer uma alteração do lado dele, se sim, o que precisa ser solicitado?

Como isso ajuda a resolver o problema de não aparecer em uma caixa?

2 curtidas