Analisador de robots.txt

Cole um robots.txt e leia-o da forma como um rastreador o faz, segundo a RFC 9309 (o Protocolo de Exclusão de Robôs, normalizado em 2022): grupos de user-agent, regras Allow/Disallow, mapas do site e diretivas desconhecidas, tudo apresentado — mais uma auditoria aos erros clássicos (linhas disallow vazias, diretivas desconhecidas, ficheiros demasiado grandes). O verificador responde depois à pergunta real: cole um user agent e um caminho, e obtenha o veredicto de permitir/negar com a regra exata que o decidiu — correspondência mais longa, curinga *, âncora de fim $ e fusão de grupos, exatamente como a norma especifica. Tudo corre no seu navegador.
Nada analisado ainda. Cole um robots.txt acima e carregue em Analisar ficheiro, ou carregue um exemplo.
O verificador trabalha sobre o texto que está atualmente na caixa acima (não precisa de carregar primeiro em Analisar). O user agent é comparado da forma definida pela RFC 9309: o valor User-agent do ficheiro tem de ser uma subcadeia, sem distinção de maiúsculas, do que escreve aqui — por isso escrever ExampleBot/1.0 corresponde a um grupo declarado como ExampleBot. Aceita-se um URL completo como caminho.
User agent (serve uma cadeia UA real) Caminho ou URL completo
Ainda sem veredicto. Carregue em Testar permissão.
Como obter o seu ficheiro:abrahttps://your-domain.example/robots.txtno navegador,curl -s https://your-domain.example/robots.txtnum terminal. Esta página nunca obtém nada por si própria: apenas lê o que colar.analisador de cabeçalhos HTTP.
Autoteste
Volta a executar o analisador e o verificador contra os vetores de referência da RFC 9309: precedência da correspondência mais longa (incluindo o empate allow-vence-disallow e o caso de caminho profundo), fusão de grupos, o fallback de grupo, sensibilidade a maiúsculas dos caminhos e user agents, curingas, normalização de codificação por percentagem, extração de mapas do site e os caminhos negativos. Nada é enviado para lado nenhum.*grupo$âncora, a permissão implícita de/robots.txt,
O que é o robots.txt?
Em resumo: o robots.txt é um ficheiro de texto simples na raiz de um site que diz aos rastreadores bem-comportados quais os caminhos que podem obter — uma convenção voluntária, normalizada como RFC 9309 em 2022, que todos os grandes rastreadores respeitam.
A forma de um ficheiro

Um ficheiro é uma sequência de registos. Um grupo começa com uma ou mais linhas User-agent, seguidas de regras Allow e Disallow que se aplicam a esses rastreadores. Uma nova linha User-agent depois de regras inicia um novo grupo; várias linhas User-agent seguidas partilham um grupo (um rastreador com dois nomes precisa disto). Registos independentes como Sitemap podem aparecer em qualquer lugar. # inicia um comentário em qualquer parte de uma linha. Os nomes dos campos não distinguem maiúsculas; os caminhos distinguem.

LinhaSignifica
User-agent: foobotAs regras abaixo aplicam-se a rastreadores cujo nome contém foobot (sem distinção de maiúsculas)
User-agent: *As regras abaixo aplicam-se a todos os rastreadores sem um grupo mais específico
Disallow: /private/Não obter caminhos que comecem por /private/
Allow: /private/public/Exceção que vence a desautorização acima para estes caminhos (correspondência mais longa)
Disallow: (vazio)Nada é desautorizado — o idioma clássico "permitir tudo"
Sitemap: https://…/sitemap.xmlOnde está o seu mapa do site; os rastreadores podem recolher vários
Crawl-delay: 30Não consta da RFC 9309 — uma extensão antiga; os grandes rastreadores ignoram-na ou interpretam-na por conta própria
Como se chega a um veredicto (RFC 9309 §2.2.2)

1. Encontre o grupo cujo valor User-agent é uma subcadeia do nome do rastreador; funda todos os grupos que correspondem. Se nenhum corresponder, use o grupo *; se também não existir, tudo é permitido. 2. Teste o caminho contra cada regra: a correspondência é por prefixo, sensível a maiúsculas, e */$ funcionam como curingas. 3. Vence a regra correspondente mais longa; em igualdade de comprimento, Allow vence Disallow. Sem regra correspondente, é permitido. E, sejam quais forem as regras, o próprio /robots.txt é implicitamente permitido — caso contrário um rastreador não conseguiria ler as regras.

Erros comuns
  • Acreditar que o robots.txt bloqueia o acesso. É um pedido aos rastreadores educados, não um muro: os raspadores abusivos ignoram-no por completo, e não tem qualquer efeito sobre o que um navegador consegue abrir. Para proteção real use autenticação; para orientar apenas os motores de pesquisa, o robots.txt é a ferramenta certa.
  • Esperar que Disallow: / remova uma página dos resultados de pesquisa. Isso impede o rastreamento, não a indexação: se outras páginas ligarem à sua, um motor de pesquisa pode continuar a listar o URL (sem descrição). A etiqueta meta noindex ou o cabeçalho de resposta é a ferramenta de remoção.
  • Confiar na ordem em vez do comprimento. A primeira regra que corresponde não vence — vence a mais específica (a mais longa). Reordenar linhas para "corrigir" o comportamento não tem efeito; torne antes a regra pretendida mais longa.
  • Bloquear CSS e JS. Desautorizar /*.css$ e /*.js$ costumava ser uma "otimização" comum; os renderizadores precisam agora desses ficheiros para ver a página como os visitantes a veem, e uma página meio renderizada pode posicionar-se pior.
  • Tratar um grande grupo como documentação. Linhas de comentário dentro de um grupo são aceitáveis, mas um parágrafo de texto antes da primeira linha User-agent sem # é um erro de análise que pode confundir analisadores tolerantes.
FAQ

Todos os rastreadores suportam Allow, * e $? Os grandes suportam, e a RFC 9309 normaliza os três. Alguns rastreadores menores ou mais antigos só entendem Disallow e leem * literalmente — uma razão para manter as regras simples quando puder.

O que significa um Disallow: vazio? "Não desautorizar nada" — o grupo permite explicitamente tudo. Costuma aparecer quando alguém edita um modelo e apaga o caminho mas não a diretiva; a auditoria assinala-o.

Qual pode ser o tamanho do ficheiro? A RFC 9309 exige que os analisadores aceitem pelo menos 500 KiB; além disso um rastreador pode deixar de ler e tratar o resto como desautorizado. Mantenha-o bem abaixo, e se crescer muito, questione se o controlo de rastreamento não deve estar nos cabeçalhos da página.

Porque é que o verificador diz que /robots.txt é permitido mesmo sob Disallow: /? Porque a norma o diz, com estas palavras: o próprio ficheiro robots é implicitamente permitido. O urllib.robotparser do Python, entre outros, não implementa este caso especial — uma das pequenas divergências entre analisadores reais que esta página documenta no seu autoteste.

Um caminho Disallow distingue maiúsculas? Sim. /Private/ e /private/ são caminhos diferentes. O nome do campo disallow pode ter qualquer capitalização, mas o valor tem de corresponder exatamente ao URL.