Incorporar comentários do Discourse em outro site via Javascript

Seu caso de uso certamente não é suportado nativamente no Discourse e exigiria algum desenvolvimento personalizado. Eu recomendaria explorar o desenvolvimento de plugins ou contratar um consultor para ajudá-lo a implementá-lo.

2 curtidas

Eu adicionaria ao Seção de Solução de Problemas que, se o Discourse não conseguir analisar o conteúdo da sua página/postagem de blog para criar um novo tópico, a incorporação falhará (e nenhuma dica sobre isso será fornecida). Tente incorporar um tópico específico primeiro e, em seguida, experimente usar as opções para analisar sua página.

3 curtidas

Isso é ótimo! O único contratempo que tenho com isso é que não consigo determinar como usar o seletor CSS correto para extrair o meta-description e usá-lo como a primeira postagem.

Já tentei várias variações como esta. Alguma sugestão?

1 curtida

Se você está tentando extrair o conteúdo da tag meta da seção head do seu site, acho que não será possível.

2 curtidas

Ainda estou lamentando que isso não simplesmente crie uma única caixa para o link fornecido no embed, em vez de fazer uma importação mais elaborada de texto e, potencialmente, imagens.

Com certeza, para sites com dados e layouts de página complexos, alguém deve ter pensado em um cenário onde o tópico fosse um espaço reservado para discussões e também uma forma de direcionar pessoas ao site remoto com o artigo/história?

Por favor? :slight_smile:

3 curtidas

Então, estamos considerando implementar isso em alguns blogs e artigos do nosso site principal, além de usar o fórum. Quando estava em uma reunião esta manhã, meu profissional de marketing disse que era uma má ideia, pois cada post criado no fórum pareceria conteúdo duplicado em relação ao nosso blog, já que têm o mesmo título e exibem o mesmo primeiro parágrafo. Ele demonstrou isso com uma pesquisa no Google usando o exemplo. Existe alguma funcionalidade integrada que ajude a mostrar ao Google que esses conteúdos não são duplicados, ou seria possível adicionar um no index nesses posts?

4 curtidas

Hmm, isso é interessante, porque se adicionássemos noindex, os comentários também não seriam indexados, o que não é ideal. Existe alguma maneira de dizer ao Google que “essa parte da página é uma duplicata”?

Podemos aplicar isso ao OP.

1 curtida

Isso foi exatamente minha preocupação quando discutimos isso. Não quero prejudicar o valor de SEO do Blog, mas também não quero esconder o Q&A do fórum, pois às vezes ele atrai tanto quanto alguns dos blogs. Não tenho certeza de como dizer ao Google para indexar essa parte e não aquela parte de uma postagem.

O Discourse possui uma configuração de site chamada embed set canonical url. Quando ela está ativada, a URL canônica para tópicos incorporados é definida como a URL do conteúdo incorporado. Isso ajudaria a melhorar o problema de conteúdo duplicado?

1 curtida

Parece que isso ajudaria a resolver o problema. Há alguma chance de você conhecer alguém que esteja usando esse recurso, só para eu poder ver e compartilhar um exemplo?

Outra opção aqui seria adicionar “Comentários sobre ______” ao início do título da discussão.

1 curtida

Essa é uma questão delicada, pois não posso compartilhar detalhes sobre os sites dos nossos clientes. Há mais informações sobre esse problema neste tópico: Add option to set canonical_url to embed_url. Já fiz uma pergunta nesse tópico para ver se alguém gostaria de fornecer detalhes sobre como a ativação da configuração afetou o SEO deles.

1 curtida

Mudar o título é suficiente? O conteúdo da postagem ainda seria compartilhado.

1 curtida

Por algum motivo, não consigo nem visualizar a página, mesmo com o Adblock desativado, e ele diz que precisa ser desativado.

Um único parágrafo de “duplicação” não é suficiente para disparar problemas de conteúdo duplicado, na minha experiência — já que você usou uma captura de tela do meu blog :wink:

É semelhante a citar um parágrafo de um artigo aleatório.

Tentei fazer isso hoje, colocando a URL da página em uma div oculta. O script apenas inseriu o link como texto. Sem Onebox, infelizmente. :frowning:

Consegui fazer o recurso de incorporação capturar minhas fotos da página. O problema estava do meu lado, pois o código usava um JavaScript de pré-carregamento/fade-in de imagens chamado lazyload. Assim que isso foi removido, a criação do tópico passou a conseguir gerar qualquer imagem que eu configurasse na área do seletor de classe. No entanto…

O tópico é criado e funciona bem por alguns minutos. A imagem é visível ao clicar para ampliar. Mas, após alguns minutos ao atualizar a página, o tópico muda e, em vez da imagem, aparece uma linha de texto de upload no lugar da imagem.

![](upload://s9ULowF5G9GnR4SQ1STdj1d9JtO.jpeg)

Parece que isso é uma falha no upload remoto da imagem para o servidor do fórum. Alguma ideia do motivo dessa falha? Além disso, se falhar, por que o sistema não mantém simplesmente a URL original? Parece estranho.

Devo acrescentar que não foi um caso isolado. Isso aconteceu consistentemente em todos os tópicos que tinham a imagem inicialmente (cerca de 10+ tópicos).

[atualização: A solução alternativa para isso foi adicionar meus sites à lista negra de sites dos quais não se deve baixar imagens. Assim, o HTML simplesmente os busca no site remoto. Funciona para mim.]

1 curtida

Podemos evitar a criação de novos tópicos quando a URL muda (para atualizações do título do blog)?

1 curtida

Sim, mas seu software de blog precisará acompanhar o ID do tópico que foi criado na primeira chamada e passá-lo como parâmetro nas solicitações de incorporação subsequentes.

Veja “Vincular a tópicos existentes” no OP.

3 curtidas

Não consigo incorporar via TypeScript no Angular. Por favor, ajude.

let window: any;

window.DiscourseEmbed = { discourseUrl: 'xyz.com',

  topicId: 26 };


  let script = this._renderer2.createElement('script');

  script.type = "text/javascript";

  script.src = 'window.DiscourseEmbed.discourseUrl ' + 'javascripts/embed.js';

  script.async = true;
this._renderer2.appendChild(this._document.body, script);
1 curtida