Sobrescrever a origem da imagem meta og:image para usar imagens carregadas publicamente externamente em tópicos?

Basicamente, você pode ver meu problema e a discussão com o autor do plugin @merefield aqui:

Ele me recomenda solicitar à equipe do Discourse que faça isso por nós.

Sempre uso imagens de CDNs externas no meu site; nunca as faço upload para o armazenamento local ou para armazenamento de objetos, pois isso é muito caro. Portanto, evito salvar imagens localmente ou em buckets S3.

No momento, percebo que minha tag meta og:image não está capturando essas imagens. Por exemplo, veja este tópico: How Many Carbs on Keto? - How To Discuss

A imagem é realmente carregada de uma URL pública externa como o SRC da imagem. O Open Graph para redes sociais sempre exibe o logotipo do meu site como imagem de fallback, o que não é bom.

Devido a esse comportamento central do Discourse, também não vejo essas imagens em miniatura sendo detectadas pelo plugin de pré-visualização da lista de tópicos.

Como posso sobrescrever a tag meta og:image para forçar o uso da minha imagem carregada externamente?

Assim, poderei ver a IMAGEM REAL DO TÓPICO em vez do logotipo do meu fórum ao compartilhá-lo em sites de redes sociais: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Fhowtodiscuss.com%2Ft%2Fis-yoga-a-good-workout%2F28043

Tentei forçar a adição desta linha na página do tópico:

<meta property="og:image" content="https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500" />

Mas a tag og:image, ao visualizar o código-fonte da página, ainda usa o logotipo do meu site como fallback, pois ela acha que não há imagem neste tópico :frowning:

A primeira imagem da primeira postagem de qualquer tópico deve ser capturada pela minha tag meta og:image, mesmo que a imagem esteja hospedada em uma URL pública. Atualmente, ela só captura se a imagem for carregada no meu próprio servidor… mas muitos de nós não podemos arcar com hospedagem de imagens próprias, pois é muito caro. A ajuda da equipe do Discourse para permitir essa mudança seria muito útil.

@Bcat está enfrentando o mesmo problema no fórum dele.

2 curtidas

O núcleo do Discourse suporta apenas o uso de ‘uploads’ como miniaturas de tópicos. Eles podem ser locais ou hospedados no S3, mas precisam ser carregados no Discourse. Você pode converter automaticamente imagens com hotlink em uploads usando a configuração do site “baixar imagens remotas para local”.

Infelizmente, não temos planos para alterar esse comportamento no Discourse.

3 curtidas

Se eles estão hospedados no S3, como são enviados para o Discourse? O S3 não está no Discourse; é também um servidor público para hospedar imagens. Quando uso imagens remotas de CDNs públicos gratuitos de terceiros, elas também são acessíveis por qualquer pessoa, o mesmo vale para o S3. Então, por que o Discourse não permite/suporta o uso de URLs de imagens públicas como miniaturas de tópicos?

Por exemplo, esta URL https://d11a6trkgmumsb.cloudfront.net/optimized/3X/7/1/71abcfa01874c32497d638b372f94c7b9fc021e4_2_1380x718.png
é a imagem que acabei de fazer upload no meta Discourse agora, e é uma URL de hospedagem de imagem pública, e minhas próprias URLs de imagem se parecem com https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500

e minhas URLs também são imagens hospedadas publicamente, por que o Discourse não está pegando as minhas? Por favor, configure-o para usar ambas, porque tanto como um rastreador quanto como um rastreador Open Graph, ambas as fontes de imagem são URLs hospedadas publicamente.

Eu já ativei essa configuração,

mas então por que minhas imagens hotlinked não estão sendo usadas como miniaturas de tópicos?

Eu também desativei uploads de jpg/jpeg nesta configuração de arquivo,

Eu desativei isso para evitar que os usuários façam upload de imagens diretamente no meu servidor para economizar espaço de armazenamento.

Se meu fórum ficar muito grande, ficará muito difícil para mim gerenciar o armazenamento para tantas imagens.

Existe alguma maneira ‘hacky’ ou truque para conseguir o que eu quero? Eu só quero forçar a substituição da tag meta og:image para usar minha imagem hotlinked no tópico. Como posso simplesmente conseguir isso? Talvez algum código HTML que eu possa colocar nas páginas de tópicos para forçar o uso dessa fonte de imagem hotlinked para og:image?

OU posso adicionar uma linha de código no meu do site para prevenir o padrão ou simplesmente remover essa linha meta og:image que recua para a imagem do logotipo se o Discourse falhar ao detectar a miniatura do tópico?

Tentei adicionar esta linha abaixo no editor de postagem da página do tópico

<meta property="og:image" content="https://images.pexels.com/photos/4761347/pexels-photo-4761347.jpeg?auto=compress&cs=tinysrgb&dpr=2&w=500" />

mas por algum motivo, este código não está sendo renderizado quando vejo o código-fonte da minha página de tópico, por que isso acontece?

esta é a página onde tentei isso Is yoga a Good workout - How To Discuss

Como posso priorizar isso 1, para que se minha página tiver 2 tags meta og:image, ela deve apenas pegar e usar MINHA TAG META og:image PERSONALIZADA?

Configurando da seguinte forma:

Porque o Discourse não tem permissão para acessar o bucket do S3 e otimizar as imagens para exibição no site. Além disso, o Discourse não pode garantir que o link sempre funcionará — a pessoa que possui o bucket pode excluir o arquivo.

Você quer dizer que meu Discourse não tem permissão para acessar o bucket S3 de outros sites gratuitos de CDN de terceiros?
Se eu consigo acessar uma imagem no navegador, o Discourse também consegue, e ele já está otimizando as imagens que eu compartilho usando hot-links. Então, acho que precisamos dessa funcionalidade com certeza.

Atualizei minha resposta acima para a comparação de CDN do Discourse, por favor, verifique.

Qual outra forma mais barata você sugere para hospedar minhas imagens em massa? Porque tenho medo de que, se meu site tiver milhões de tópicos, isso signifique bilhões de imagens, e o backup do meu site Discourse começará a ficar cada vez maior, tornando-se muito difícil e caro de gerenciar/escalar e migrar. O que eu faria nesse caso?

Ele não tem permissão para gerenciar e otimizar esses arquivos.

Se você realmente precisa desse recurso, a melhor opção seria postar no Marketplace e encontrar um desenvolvedor de plugins que possa ajudá-lo a criar o recurso.

Obrigado, abri um tópico PAGO para a mesma funcionalidade no núcleo ou via plugin,

Este tópico foi automaticamente fechado após 5 horas. Novas respostas não são mais permitidas.