Guias de robots.txt

Curingas no robots.txt e prioridade de regras: *, $ e correspondência mais longa

Entenda como * e $ funcionam no robots.txt, por que a ordem das linhas não define a prioridade e como conflitos entre Allow e Disallow são resolvidos.

Por Robots.txt Tools Editorial TeamÚltima verificação em 2026-09-133 min de leitura
Curingas no robots.txt e prioridade de regras: *, $ e correspondência mais longa

A correspondência em robots.txt não segue a regra “a última linha vence”. Quando Allow e Disallow se aplicam à mesma URL, a correspondência mais específica é o principal critério. O RFC 9309 considera mais específica a regra com o caminho correspondente mais longo e recomenda Allow em um empate equivalente.

O Google documenta o mesmo conceito prático e suporta dois caracteres especiais úteis: * e $.

O que * e $ significam

  • * corresponde a zero ou mais caracteres;
  • $ marca o fim da URL.
User-agent: *
Disallow: /*.pdf$

O padrão acima mira caminhos terminados em .pdf. Sem $, o alcance é mais amplo.

Um * no final muitas vezes é desnecessário

Disallow: /private

e:

Disallow: /private*

têm comportamento prático muito parecido no Google. Se a intenção é um diretório, /private/ deixa a regra mais clara.

Correspondência mais longa vence a ordem visual

User-agent: *
Disallow: /products/
Allow: /products/public/

Para /products/public/widget, as duas regras combinam, mas /products/public/ é mais específica e o acesso é permitido. Inverter as linhas não transforma robots.txt em uma cascata “última regra vence”.

Empate entre Allow e Disallow

Quando regras equivalentes entram em conflito, o RFC 9309 recomenda Allow. Ainda assim, é melhor escrever políticas que não dependam de empates difíceis de auditar.

Caminhos diferenciam maiúsculas e minúsculas

Disallow: /Admin/

não precisa ter o mesmo efeito que:

Disallow: /admin/

Teste as variantes reais servidas pela aplicação.

Parâmetros e e-commerce

Regras como:

User-agent: *
Disallow: /*?sort=

podem falhar quando parâmetros aparecem em ordem diferente. Em navegação facetada, combine robots.txt com arquitetura de URL, links internos e canonicalização.

Prefira regras simples

Disallow: /busca-interna/

é mais fácil de manter que padrões complexos. Use curingas apenas quando houver um padrão real que não possa ser expresso por um prefixo estável.

Teste URLs reais

Com:

User-agent: *
Disallow: /reports/
Allow: /reports/public/
Disallow: /*.csv$

avalie pelo menos:

  • /reports/private/quarterly
  • /reports/public/overview
  • /downloads/data.csv
  • /downloads/data.csv?preview=1
  • /REPORTS/private/quarterly

Isso revela erros de prefixo, maiúsculas, âncora final e sobreposição.

Fluxo recomendado

  1. Escreva a política em linguagem normal.
  2. Escolha o prefixo mais simples possível.
  3. Adicione * ou $ somente se necessário.
  4. Liste URLs que devem ser permitidas e bloqueadas.
  5. Valide a sintaxe.
  6. Teste cada URL para o User-agent correto.
  7. Confira o /robots.txt publicado.
  8. Revise logs após a alteração.

A ideia principal é que especificidade importa mais que posição da linha. Use curingas com moderação e teste URLs sempre que várias regras puderem combinar.

Guias relacionados