Problemas de SEO com conteúdo duplicado de RSS

Usamos o plugin RSS (ou cópias manuais) para nossos posts de blog para criá-los como um âncora de discussão em uma categoria. O Google não gosta de conteúdo “copiado” e ameaça prejudicar a reputação de SEO do blog.

Claro, podemos impedir que o Google indexe o discourse (ou a categoria), mas alguém tem experiência em definir que isso é intencional. Algo como “este subdomínio pertence ao blog, não estamos tentando criar fazendas de links” ou algo assim? Se sim, como implementar isso nas configurações do discourse?

Acredito me lembrar vagamente que com rel=nofollow ou similar, isso pelo menos abordaria o aspecto de fazenda de backlinks (não tenho certeza sobre o aspecto de conteúdo duplicado). Existe talvez um cabeçalho “isto é uma cópia de” que apazigua o Google?

2 curtidas

A configuração do site embed set canonical url pode ajudar com o problema:

Vale a pena consultar a documentação do Google:

O motivo pelo qual linkei para a documentação é que não tenho certeza sobre o caso de habilitar a configuração embed set canonical url quando a configuração embed truncate está habilitada. Quando embed truncate está habilitado, apenas um trecho do artigo original está realmente disponível para ser rastreado pelo Google no Discourse. O artigo completo é exibido em um iframe se os usuários clicarem no botão “Mostrar Postagem Completa”. Tenho quase certeza de que o conteúdo do iframe não é rastreado pelo Google. O primeiro ponto no artigo “5 erros comuns” aborda essa questão.

2 curtidas

Obrigado pela dica Simon! De fato, canônico parece ser o que eu estava pensando. Tentei, mas não funciona completamente, ele incorpora um URL canônico que aponta para si mesmo, não para a fonte RSS:

<link rel="canonical" href="https://community.domain.com/t/invoicing-mandate/537?page=0" />

em vez de

<link rel="canonical" href="https://blog.domain.com/t/invoicing-mandate/537" />

(Isso é estável/3.2.0)

Além disso, isso pode/deve ser definido como um link em destaque também?

No nosso caso, não usamos truncar (embora o Feed RSS já esteja truncado). Mas espero que o Google o aceite de qualquer maneira.

1 curtida

Tente visualizar o código-fonte da página, em vez de visualizá-lo com o inspetor web do seu navegador. Acho que você verá que o URL canônico é definido como o URL da postagem RSS quando você visualiza o código-fonte da página, e como o URL do tópico Discourse quando você visualiza o HTML com o inspetor web. Se isso estiver correto, você não deverá receber avisos de conteúdo duplicado para os tópicos RSS.

Aqui está o que estou vendo (com embed set canonical url ativado) quando visualizo um tópico extraído do feed RSS do Discourse no meu inspetor web:

E aqui está o URL canônico quando visualizo o código-fonte da página (clicando com o botão direito na página e selecionando “Visualizar código-fonte da página” no menu):


O visualizador de código-fonte da página com o URL canônico corretamente definido é o que um rastreador verá.

Outra maneira de ver a diferença é usar o inspetor web, mas selecionar o Googlebot como agente do usuário:

![image|656x500](upload://lZmZM35mTprZBjaWZ2tMnB3OYpO.png)

Acho que a configuração está funcionando como esperado em termos do que os rastreadores veem, mas isso me confundiu. O problema parece ser que o Discourse substitui o atributo de URL canônico com Javascript quando a página é visualizada com Javascript ativado. Para referência, isso acontece aqui:

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/instance-initializers/meta-tag-updater.js#L25-L27

[quote="Bernd, post:3, topic:299375, username:ecki"]
isso pode/deve ser definido como link em destaque também?
[/quote]

Não acho que seja (atualmente) possível ter o link em destaque definido para tópicos criados a partir de feeds RSS. Não sou um especialista em SEO, mas não acho que definir ou não definir isso teria qualquer efeito no SEO.
2 curtidas

Usei curl -i | grep canon e vi uma URL de tag errada (e sem cabeçalho), mas posso tentar novamente com um UA diferente (o que é um pouco estranho, embora) - tive que recriar as postagens algumas vezes, então talvez eu estivesse confuso. Atualizarei aqui.

Verdade, o link em destaque não é para SEO, mas eu tinha o desejo interno de tornar o link do blog mais visível. E como é a mesma URL…

(Mas parece que recebo uma lista mais longa de requisitos, então talvez eu precise fazer um fork do rss-poll (infelizmente parece que a maior parte do trabalho não é feita no plug-in, embora). O código de incorporação também é extensível?

Para um tópico criado a partir de um feed RSS, com embed set canonical url ativado, eu esperaria que curl -i retornasse a URL do item RSS como a URL canônica. Isso funciona quando eu testo em meu site local.

Assumindo que você tenha acesso ao console Rails do Discourse, você pode confirmar o que está acontecendo encontrando o tópico e, em seguida, verificando sua propriedade topic_embed. Por exemplo:

t = Topic.find 495
t.topic_embed

ou apenas:

TopicEmbed.find_by(topic_id: 495)

Um TopicEmbed deve ser retornado. Seu embed_url é o que se espera que o Discourse use para definir a URL canônica do tópico.

Eu também me perguntei sobre isso. Seria mais difícil do que fazer alterações no plugin RSS, porque a incorporação faz parte do código principal do Discourse.