robots.txt e noindex resolvem problemas diferentes. A regra mais útil para lembrar é: robots.txt controla se um crawler pode solicitar uma URL; noindex informa a um sistema compatível que a página não deve permanecer no índice.
O Google explica que robots.txt não é o mecanismo indicado para manter uma página comum fora do Google Search. Uma URL bloqueada pode ser descoberta por links, sitemaps, redirecionamentos ou dados históricos e ainda aparecer nos resultados mesmo sem o conteúdo atual ter sido rastreado.
Diferença entre os controles
| Controle | Objetivo | Onde fica | Precisa carregar a página? |
|---|---|---|---|
Disallow | Limitar rastreamento | /robots.txt | Não |
meta robots noindex | Evitar indexação de HTML | <head> | Sim |
X-Robots-Tag: noindex | Evitar indexação também de arquivos não HTML | Cabeçalho HTTP | Sim |
| Autenticação | Proteger acesso | Servidor/aplicação | Não deve existir acesso público |
O ponto crítico é que o crawler não consegue ler um noindex na página se o robots.txt impedir a solicitação.
Configuração que costuma falhar
User-agent: *
Disallow: /members-preview/
junto com:
<meta name="robots" content="noindex">
A intenção parece lógica, mas o Googlebot pode não ler a meta tag. Se a URL for descoberta por outra origem, ela pode aparecer como resultado sem snippet.
Para uma página pública que deve ficar fora do índice, normalmente é mais claro permitir o rastreamento e devolver noindex.
Quando usar robots.txt
Use quando o problema for orçamento/carga de rastreamento ou caminhos de pouco valor, como busca interna, carrinho, sessões e algumas facetas.
User-agent: *
Disallow: /busca-interna/
Disallow: /cart/
Allow: /
Sitemap: https://example.com/sitemap.xml
Teste URLs importantes antes de bloquear um diretório inteiro.
Quando usar noindex
Use noindex quando a URL pode ser pública e rastreável, mas não deve aparecer nos resultados.
<meta name="robots" content="noindex">
Para PDF e outros recursos:
X-Robots-Tag: noindex
Nos dois casos, o crawler precisa receber a resposta.
“Indexada, embora bloqueada por robots.txt”
Não é uma contradição. Rastreamento e indexação são processos separados. O mecanismo de busca pode saber que uma URL existe sem conseguir carregar seu conteúdo atual.
Se a URL deve realmente desaparecer dos resultados, determine primeiro se é seguro permitir o acesso do crawler. Se for pública, remova o bloqueio e use noindex; se for privada, use autenticação.
Noindex dentro de robots.txt não é suportado
Exemplos antigos ainda mostram:
Noindex: /exemplo/
O Google não suporta noindex como diretiva de robots.txt. Use meta robots ou X-Robots-Tag.
A mesma lógica vale para busca com IA
A OpenAI também separa o bloqueio de OAI-SearchBot da instrução noindex. Se a URL for conhecida por outra fonte, pode haver exibição de link ou título; para pedir não indexação, a diretiva precisa ser acessível ao crawler.
Sequência prática de decisão
- Informação privada? Autenticação.
- Página pública, mas fora da busca? Permita rastreamento e use
noindex. - Página indexável, mas com rastreamento desnecessário? Avalie robots.txt.
- Apenas um crawler precisa de regra diferente? Use grupo User-agent específico.
- Problema de duplicação? Revise canonical, redirects e arquitetura antes de bloquear.
Depois da mudança, confira o /robots.txt publicado, a meta tag ou cabeçalho, o sitemap e as ferramentas de inspeção. robots.txt controla rastreamento, noindex controla indexação e autenticação controla acesso.