robots.txt, noindex ou canonical: qual usar em cada caso
Três ferramentas, três trabalhos diferentes. Com a errada, o Google mantém a página que você queria tirar ou nem chega a ler a sua instrução.
Use robots.txt para controlar o rastreamento, noindex para manter uma página fora dos resultados e rel=canonical para escolher uma URL dentro de um grupo de duplicadas. Eles resolvem problemas diferentes e atrapalham um ao outro: uma página bloqueada no robots.txt ainda pode ser indexada, e o Google nunca vê uma regra noindex numa página que não consegue rastrear.
Qual é a diferença entre robots.txt, noindex e canonical?
Cada um age numa etapa diferente. O robots.txt decide se um crawler pode buscar uma URL. O noindex decide se uma página já buscada pode aparecer nos resultados. A canonical diz ao Google qual de várias páginas quase idênticas deve representar o grupo. Veja como a documentação do Google descreve os três lado a lado.
| Disallow no robots.txt | noindex | rel=canonical | |
|---|---|---|---|
| Controla | Rastreamento | Indexação | Qual duplicada representa o grupo |
| Onde fica | No arquivo robots.txt na raiz do site | Uma meta tag robots ou um cabeçalho HTTP X-Robots-Tag | Um elemento link no head ou um cabeçalho HTTP Link |
| Tira a URL do Google? | Não. Uma URL bloqueada ainda pode ser indexada se outros sites linkarem para ela | Sim, assim que o Googlebot rastreia a página e lê a regra | Não. As duplicadas são consolidadas, não removidas |
| A página precisa ser rastreada? | Não | Sim | Sim |
| Quão firme é? | Cada crawler decide se obedece | O Google remove a página por completo | Uma dica, não uma regra |
Quando usar robots.txt?
Quando o problema é o tráfego de rastreamento. A introdução ao robots.txt do Google diz que o arquivo serve principalmente para evitar que o seu site fique sobrecarregado de solicitações. Para páginas web, ele cabe em dois casos: o seu servidor não está dando conta do crawler do Google, ou você quer evitar o rastreamento de páginas sem importância ou parecidas. Também é o caminho documentado para impedir que arquivos de imagem, vídeo e áudio apareçam na Pesquisa Google.
O que ele não é, nas palavras do Google, é um mecanismo para manter uma página fora do Google. Uma página bloqueada ainda pode ser indexada quando outros sites linkam para ela. A URL e o texto âncora desses links podem aparecer nos resultados, só que sem descrição. E as regras são voluntárias: o Googlebot obedece, outros crawlers talvez não. Confira o que o seu arquivo realmente permite com o nosso testador de robots.txt.
Quando usar noindex?
Quando uma página não pode aparecer na Pesquisa Google. Coloque <meta name="robots" content="noindex"> no head, ou envie X-Robots-Tag: noindex como cabeçalho de resposta para arquivos como PDFs. A documentação de noindex do Google diz que, quando o Googlebot rastreia a página e extrai a regra, o Google a remove totalmente dos resultados, mesmo que outros sites tenham links para ela.
O problema está nesse primeiro passo. O Google precisa rastrear a página para ver as meta tags e os cabeçalhos HTTP. Se a página continua aparecendo depois do noindex, a documentação aponta duas causas prováveis: o Google ainda não rastreou de novo, ou o robots.txt está bloqueando. A Inspeção de URL do Search Console permite pedir um novo rastreamento. O Google também observa que alguns outros mecanismos de busca podem interpretar o noindex de outro jeito.
Quando a tag canonical é a melhor escolha?
Quando o mesmo conteúdo está em várias URLs e você quer que uma delas fique com o crédito. A página do Google sobre como consolidar URLs duplicadas lista os motivos: escolher qual URL as pessoas veem nos resultados, consolidar sinais como links numa URL preferida, simplificar o acompanhamento de métricas e não gastar tempo de rastreamento com duplicadas.
Uma canonical não esconde nada. A página sobre canonização do Google a chama de dica, não de regra, e diz que a página canônica é rastreada com mais regularidade, enquanto as duplicadas são rastreadas com menos frequência. Um resultado costuma apontar para a canônica, a menos que uma duplicada sirva melhor a quem pesquisa. Redirecionamentos e rel=canonical são sinais fortes, e a inclusão no sitemap é um sinal fraco. Para arquivos que não são HTML, envie a canonical como cabeçalho HTTP Link. O nosso guia de conflitos da tag canonical mostra o que acontece quando esses sinais discordam.
Dá para usar robots.txt e noindex juntos?
Não na mesma URL, se o objetivo é remover. O Google é explícito: se uma página está bloqueada pelo robots.txt, o crawler nunca vai ver a regra noindex, e a página ainda pode aparecer nos resultados. Então, para uma URL indexada que não sai, a solução é tirar o Disallow, deixar o Google rastrear e deixar o noindex fazer o trabalho.
A página do Google sobre URLs duplicadas cita mais três erros a evitar:
- Não use o robots.txt para canonização.
- Não use noindex para direcionar a escolha da canônica dentro de um mesmo site, porque isso bloqueia a página por completo na Pesquisa.
- Não use a ferramenta de remoção de URLs para canonização, porque ela oculta todas as versões de uma URL.
Qual deles usar?
Comece pelo resultado que você quer, não pela ferramenta que você conhece.
- O servidor está sobrecarregado ou os crawlers perdem tempo com páginas sem importância: robots.txt.
- Uma página não pode aparecer no Google: noindex, com o rastreamento liberado. Para qualquer coisa privada, proteção por senha, que o Google cita como a outra opção.
- O mesmo conteúdo está em várias URLs: rel=canonical em cada duplicada, ou um redirecionamento quando a duplicada nem precisa existir.
- Imagens, vídeos ou áudios que você quer fora da Pesquisa Google: robots.txt.
Se a preocupação são os crawlers de IA, o nosso guia de robots.txt para crawlers de IA traz regras prontas para copiar, bot a bot.