Incorporando uma lista de tópicos do Discourse em outro site

O que se pode modificar para especificar múltiplas categorias?

2 curtidas

Devo esperar que isso funcione quando o “outro site” estiver rodando localmente em http://localhost:8000 e o site do Discourse estiver fora do ambiente local em um subdomínio https? Ou o “outro site” também precisaria estar em um domínio “real”?

O arquivo do script parece ser buscado corretamente e não vejo erros no console do JS. O “outro site” é um site Gatsby/React; estou adicionando o elemento <d-topics-list> assim que a página é renderizada no navegador via useEffect, e ele parece correto para mim no DOM ao vivo (veja a captura de tela)…

Screen Shot 2021-05-19 at 9.21.08 AM

2 curtidas

Mudar de https para http geralmente causa problemas, mas você pode confirmar abrindo o console do navegador F12.

4 curtidas

Aha, meu problema parece ser que o React está interferindo no DOM do lado do cliente, redefinindo-o para corresponder ao DOM renderizado no servidor (com o elemento bruto <d-topics-list>) imediatamente após o script embed-topics.js inserir o iframe.

5 curtidas

Alguém sabe do que se trata esse erro??

Última versão do Discourse
Último navegador Chrome

A incorporação de ‘https://vapingcommunity.co.uk/’ foi recusada porque um ancestral viola a seguinte diretiva de Política de Segurança de Conteúdo (CSP): “frame-ancestors ‘self’”.

3 curtidas

Muito provavelmente relacionado a essa mudança: (cc @falco)

Você tem seu site principal registrado em Admin > Personalizar > Incorporação?

7 curtidas

Bingo! Não vi essa mudança, tudo funcionando perfeitamente de novo, muito obrigado :wink:

5 curtidas

Alguém está recebendo algum erro de "Recusado em emoldurar"?

Eu ativei os tópicos incorporados e recebo

Recusado em emoldurar 'https://myforumurl.com/' porque um ancestral viola a seguinte diretiva da Política de Segurança de Conteúdo: \"frame-ancestors 'self'\".
1 curtida

Você está tentando incorporar seu fórum inteiro em outro site? Isso não funcionará.

O OP descreve como incorporar listas de tópicos em outro site, mas você não pode executar o Discourse em um iframe pelos motivos que você descreve.

3 curtidas

Não, apenas os tópicos mais recentes. Segui as instruções para habilitar o tópico incorporado nas configurações e copiei os scripts para o cabeçalho e o corpo do site host. Não tenho certeza se o erro é causado porque o site de desenvolvimento em que estou testando não tem SSL.

3 curtidas

Isso se deve às configurações de segurança do seu site, não do lado do Discourse.

4 curtidas

Consegui fazer funcionar. Só não li as instruções com atenção suficiente :slight_smile:

4 curtidas

Então, isso está funcionando muito bem, meu único problema é que o Google está indexando a URL do iframe em si

Por exemplo, tenho tópicos do Discourse incorporados nesta página

O Google parece indexar a página acima corretamente… mas também está indexando os URLs abaixo, o que eu gostaria de corrigir

https://discuss.flynumber.com/embed/topics?discourse_embed_id=de-zse3f2nh3&template=complete&search=Romania&per_page=5

Existe alguma maneira de obter um meta noindex nas páginas acima? Ou, melhor ainda, colocar esta nova tag do Google nas páginas acima

5 curtidas

Interessante, obrigado pela dica @nader.. devemos adicionar esta nova tag ao <iframe> por padrão @falco, ou torná-la uma configuração?

4 curtidas

Isso deve resolver

6 curtidas

Só pensei em apontar que isso está servindo ' noindex, indexifembedded ' para todos os rastreadores, mesmo que seja apenas o Google que suporta o novo indexifembedded

Isso provavelmente deveria mudar para x-robots-tag: googlebot:noindex, indexifembedded

Ou removido completamente, pois o noindex pode ter consequências imprevistas em outros mecanismos de busca.

1 curtida

Duvido que a palavra extra seja particularmente prejudicial a outros crawlers. Você tem alguma evidência de que este é o caso, por exemplo, algum outro crawler está dizendo aos sites para não usar indexifembedded?

(Na maioria das vezes, ao escrever código como este, você tende a ignorar quaisquer tags HTML que não esteja esperando, essa é meio que a configuração padrão para HTML.)

3 curtidas

Não vejo isso, mas na página do Google diz:

Atualmente, apenas o Google oferece suporte à tag indexifembedded.

Concordo que eles ignorarão o indexifembedded, mas minha preocupação é que o noindex cause problemas de SEO para a página em que está.

Então, vamos deixar o Bing rastrear uma URL que tenha incorporações de tópicos. Ele rastreia essa URL e também rastreia a URL incorporada

/embed/topics?discourse_embed_id=XXXXXX....

Se o acima for noindex, temo que isso prejudique o SEO da página que está apresentando a incorporação do tópico.

Tudo isso é corrigido usando x-robots-tag: googlebot:noindex, indexifembedded, mas posso entender por que o Discourse pode não querer favorecer 1 mecanismo de busca. Espero que se torne padrão, mas por enquanto parece que é apenas o Google.

3 curtidas

Olá! Só queria perguntar se ainda não há uma maneira integrada de fazer com que tópicos incorporados abram como target="_blank" em vez de target="_parent"

3 curtidas

Só estou curioso para saber por que só consigo mostrar 1 tópico? Alguém sabe?

Aqui está a categoria (que tem muitos tópicos): Amazon Specific - eCommerce Sellers Forum

E o código de incorporação:
<d-topics-list discourse-url="https://forum.flowster.app" template="complete" top_period="all" category="17" per-page="5"></d-topics-list>

Mas apenas um tópico aparece:

:thinking:

2 curtidas