Discourse Open Graph

Patrocinado por Netwrix

:information_source: Resumo Atualize seus dados do Open Graph programaticamente e aprimore seu SEO
:hammer_and_wrench: Link do Repositório GitHub - discourse/discourse-open-graph
:open_book: Guia de Instalação Como instalar plugins no Discourse

Funcionalidades

Este plugin permite substituir suas tags Open Graph, Twitter, título e descrição.

Configuração

Este plugin vem com apenas uma configuração: Open graph overrides, que abre esta modal:

Você tem uma propriedade URL, que corresponderá e será usada para substituir suas meta tags – este será seu ID.

Title - Substituirá as tags title, og:title e twitter:title. Se estiver vazio, usará o valor original por padrão.

Description - Substituirá as tags description, og:description e twitter:description. Se estiver vazio, usará o valor original por padrão.

Configurações

Inclua uma tabela de configurações e descrições de configurações

Nome Descrição
discourse_open_graph_enabled Habilita o plugin open graph
open_graph_overrides Editor para suas substituições
8 curtidas

Estou muito animado que isso exista. O pensamento que tive foi: isso funciona para tópicos?

Presumo que não, porque então seria necessário digitar manualmente as informações do open graph para cada tópico.

Então pensei: e se a descrição do tópico fosse gerada automaticamente pelo Discourse AI resumindo o tópico?

Talvez usando Discourse AI Topic Summary 🤖

O título poderia ser o mesmo e a descrição o resumo da IA. E talvez ajustável se as pessoas quiserem editar, semelhante ao WordPress com o Yoast.

Alguma opinião sobre isso?

1 curtida

Eu acho que sim! Mas seria necessário adicionar um override para cada tópico.

Talvez isso possa ser um recurso para o Resumo de Tópicos por IA – poderia substituir o conteúdo dos metadados com base se eles tivessem o resumo de IA no próprio tópico.

Alguns pseudo-códigos, inspirados neste trecho do plugin Open Graph:

  register_modifier(:meta_data_content) do |content, property, opts|
    next content if property == :url # não queremos substituir a url
    url = opts[:url]
    override = Topic.find_by_url(url)[:ai_meta_data_override]
    if override
      content = override[property] if override[property] # pode ser :title ou :description
    end
    content
  end
2 curtidas

Não precisa haver nenhuma IA integrada aqui – tudo o que você precisa para imagens OG dinâmicas é poder passar parâmetros do tópico para a URL, como ?title=Hello+World&date=2025-04-27

Este poderia ser um sistema de templates como {{topic.author.username}} ou o que quer que você ache que faz sentido aqui

Isso permitirá que o usuário se conecte a qualquer serviço existente que gere imagens OG, ou se conecte a um próprio, ou a uma oferta futura da Discourse, se você quiser suporte de primeira classe.

1 curtida

Como alguém que é relativamente novo no Discourse; isso já não pode ser feito nas configurações do Discourse?

2 curtidas

Com essa precisão (regex) não.

E eventualmente poderíamos adicionar imagens dinamicamente

2 curtidas

Ok, você se importaria de me dar um caso de uso em que você gostaria de substituir as configurações? É quando você está compartilhando um link do seu fórum, por exemplo, um tópico que então parecerá diferente ou principalmente por preocupações de SEO?

2 curtidas

Claro! Um exemplo muito bom é a página de lista de categorias:

Podemos substituir tanto o título quanto a descrição para serem mais descritivos.

Ou para tópicos muito específicos que você deseja ter um texto diferente ao compartilhar nas redes sociais:

Poderíamos mudar para ser apenas o título e algum tipo de pequena descrição.

2 curtidas

Isso é muito legal. Sei que algumas empresas têm imagens dinamicamente adicionadas impressionantes ao Open Graph para torná-lo mais atraente. Espero que este recurso seja adicionado ao core do Discourse ou como um plugin padrão. Ótimo trabalho!

2 curtidas

[quote=“JacobParis, post:4, topic:363183”]
Não precisa ter nenhuma IA integrada aqui – tudo o que você precisa para imagens OG dinâmicas é poder passar parâmetros do tópico para a URL como `?title=Hello+World

Sim, adoraria poder integrar isso no serviço placid.app que eu uso e fazer com que ele retorne a imagem que é então utilizada.

Talvez eu brinque com isso quando tiver um tempo livre.

2 curtidas