O que houve com a categoria "Tecnoblog" aqui na comunidade?

Fala Rafael!

Já usamos essa opção, mas a tag canonical não é a melhor forma de lidar com essa situação, por alguns motivos:

  1. O Google vê a tag canonical como sugestão e não regra. Ele ainda indexa todos os posts e depois decide qual vai aparecer no ranking. Aqui vejo todas as urls no meu GSC. Repare na queda depois que coloquei a meta robots.
  2. A tag canonical é pra ser usada em casos onde o conteúdo das páginas for idêntico, o que não é o caso aqui. O conteúdo do post é exibido apenas no blog e lá destacamos apenas os comentários mais populares. Então na prática, as duas páginas são bem diferentes.
  3. Por serem apenas variações da página principal, o Google pode considerar essas páginas como Thin Content. O próprio John Mueller já disse várias vezes que o ideal é que páginas assim não sejam nem indexadas, pois afetam a métrica de “qualidade geral” do domínio.
  4. Mesmo que o Google opte por considerar a canonical (o que não acontece 100% das vezes), ele está gastando crawl budget para indexar um conteúdo que não serve nenhum propósito nas buscas. Quando um usuário busca algo, vai preferir cair no post principal, ou na url dos comentários?

Uma solução bem simples seria dar a opção de marcar categorias como não-indexáveis. Bastaria um checkbox na config da categoria, que quando marcada inseriria a tag meta robots no header dos tópicos.

Foi isso o que fiz aqui, mas na base da gambiarra hahaha Utilizei o sub_filter do nginx pra substituir a canonical que começa com https://tecnoblog.net pela meta robots.


Outro lugar que gera muitas urls de baixo valor é a paginação dentro dos tópicos. O Discourse cria uma URL pra cada post dentro do tópico. Isso fragmenta a página em vários links menores, cada um com um post pequeno.

A canonical então aponta sempre para o post principal, ou pra ?page onde o o post está. Nenhum dos links de posts possui o mesmo conteúdo do link principal do tópico, ou da ?page.

Aliás, o próprio Google diz que não se deve criar paginações apontando a canonical pra outra página.

Do ponto de vista de SEO, a solução mais acertada seria utilizar o #ID no final da URL do tópico, em vez de alterar a URL conforme o usuário rola a página.

Poderia até trocar a URL, mas uma por página e não por post. A canonical então deveria apontar para a url amigável da paginação, complementando com o #ID do post no final da URL, pra direcionar o usuário.

Dessa forma:

  1. O conteúdo inteiro do tópico estaria visível (e indexável) em apenas URL. Isso fortalece a página principal;
  2. Reduziria drasticamente a quantidade de thin content;
  3. Reduziria drasticamente o uso do crawl budget;
  4. Facilitaria a compreensão da página para o robô, já que o #ID teria um efeito parecido com o uso de Índice.

Sobre o item 4, também seria legal suportar dados estruturados. Algumas comunidades utilizam o de Q&A, que permite que o Google entenda a formatação do conteúdo e exiba resultados destacados na busca.


Se eu puder ajudar em mais alguma questão de SEO, é só chamar!

Ps: legal ver você aqui! Já interagimos em alguns tópicos lá na meta do discourse. :smiley:

4 curtidas

Hmmm interessante. Seria essa a tag

<meta name="robots" content="noindex">

?

Isso deve ser tranquilo.

Na verdade essas URLs para cada post são apenas no webapp que os usuários veêm.

Na versão crawler, que servimos para os bots como do Google, usamos páginas de 20 posts cada. Por exemplo:

Pagina 1 - https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084?_escaped_fragment_&page=1 (abra numa nova aba para ver a versão crawler)

Pagina 2 - https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084?_escaped_fragment_&page=2

AFAIK isso já é suportado por padrão, por exemplo essa busca marca o tópico como solucionado graças aos dados estruturados providos pelo plugin solved:

Quais dados estruturados adicionais seriam legais suportar na sua opinião?

Isso! Essa ou a x-robots-tag no cabeçalho da requisição. Qualquer uma resolve.

Aqui eu coloco "noindex, follow", pra garantir que o robô ainda segue os links internos.

Acho que ainda assim o Google tá encontrando as URLs. Tem várias no meu GSC e já encontrei também buscando por site:comunidade.tecnoblog.net:


To bolando um jeito de adicionar o meta robots nessas, também, mas o ideal seria que o Google nem visse esses links. Ah, e eles falam que não é bom servir uma versão para o crawler e outra para o usuário, pode passar um sinal negativo, de que estamos fazendo algo pra enganar o crawler.

Esse tópico que você printou utiliza o discourse-solved, que adiciona os dados estruturados de Q&A.

Deve servir pra maioria dos posts de uma comunidade (já que +90% são perguntas), mas não sei se dá pra colocar como padrão em todos. Teria que avaliar.

Pesquisando encontrei esse, também, mas não sei se traria muita vantagem hoje em dia:

1 curtida

Já usamos tem muitos anos esse formato:

<div itemscope itemtype='http://schema.org/DiscussionForumPosting' class='topic-body crawler-post'>
<div class='crawler-post-meta'>
<div itemprop='publisher' itemscope itemtype="http://schema.org/Organization">
<meta itemprop='name' content='Tecnoblog'>
<div itemprop='logo' itemscope itemtype="http://schema.org/ImageObject">
<meta itemprop='url' content='https://comunidade-files.tecnoblog.net/original/2X/4/4a59376c4a415861531436057f2d624b1fa58141.png'>
</div>
</div>
<span class="creator" itemprop="author" itemscope itemtype="http://schema.org/Person">
<a itemprop="url" href='https://comunidade.tecnoblog.net/u/mbc07'><span itemprop='name'>mbc07</span></a>
(Mateus B. Cassiano)
</span>
<link itemprop="mainEntityOfPage" href="https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084">
<span class="crawler-post-infos">
<time itemprop='datePublished' datetime='2021-09-26T11:33:16Z' class='post-time'>
Setembro 26, 2021, 11:33am
</time>
<meta itemprop='dateModified' content='2021-09-26T11:33:16Z'>
<span itemprop='position'>#1</span>
</span>
</div>
<div class='post' itemprop='articleBody'>
<p>Visitei a categoria recentemente e notei que somente os tópicos de notícias antigas (que já foram trancados) estão visíveis, todo o resto ficou oculto, não aparecendo nem mesmo na área de “não lidos”.</p>
<p>Comentar no tópico de uma notícia também não o torna mais visível aqui na comunidade, como costumava acontecer, agora só é possível acessar o tópico por meio de um link direto ou pela notícia correspondente no site principal.</p>
<p>A mudança é intencional, ou é algum problema técnico?</p>
<p><a class="mention" href="/u/mobilon">@mobilon</a> <a class="mention" href="/u/tecnomod">@tecnomod</a></p>
 </div>
<meta itemprop='headline' content='O que houve com a categoria &quot;Tecnoblog&quot; aqui na comunidade?'>
<meta itemprop='keywords' content=''>
<div itemprop="interactionStatistic" itemscope itemtype="http://schema.org/InteractionCounter">
<meta itemprop="interactionType" content="http://schema.org/LikeAction" />
<meta itemprop="userInteractionCount" content="1" />
<span class='post-likes'>1 curtida</span>
</div>
<div itemprop="interactionStatistic" itemscope itemtype="http://schema.org/InteractionCounter">
<meta itemprop="interactionType" content="http://schema.org/CommentAction" />

Setamos o canonical correto nessas páginas, mas como o Discourse as utiliza no webapp, não sei mais o que fazer pro Google ignorar. Talvez mandar aquele Header nessas páginas de posts também :thinking:

Nesse caso “the cat is out of the bag” tem muito tempo. Como o Discourse é um gigante webapp, e tem muitos outros indexadores que não rodam JS, não tem como não ter uma versão HTML simples pra eles.

1 curtida

Mas aqui tá acontecendo a mesma questão que expliquei sobre os tópicos de comentários de posts. O webapp cria várias URLs (uma por post) e a canonical aponta para o link da paginação, não do post.

São muitas urls rastreadas desnecessariamente (desperdício de crawl budget) e essa fragmentação gera milhares de páginas com thin content (cada post, um link). A Canonical só deveria ser usada em casos onde os links apresentam conteúdos idênticos (ex: em páginas com parâmetros de tracking, apontando para o link principal).

Outro ponto: o link da canonical redireciona pra outra URL (acredito que seja o primeiro post daquela página).

Ex:

  1. Link: https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084/23
  2. Canonical: https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084?page=2
  3. Ao abrir a canonical, o webapp substitui a URL por essa: https://comunidade.tecnoblog.net/t/o-que-houve-com-a-categoria-tecnoblog-aqui-na-comunidade/47084/21

Vale citar também que a canonical tem um efeito similar ao 301 redirect quando utilizada corretamente. Nesse caso ela aponta para uma URL que, quando carregada, redireciona para outro link…

Não seria melhor utilizar #IDs como URLs individuais para os posts?

Nesse caso a paginação continuaria na canonical. Eu só trocaria também a string por uma URL amigável…

Este tópico foi fechado automaticamente 30 dias depois da última resposta. Novas respostas não são mais permitidas.