FreeToGenerate.com

Feito segundo o RFC 9309, que define três directivas e não aquela que quase todos os geradores põem logo no topo.

Construa o ficheiro

Partir de

Um caminho por linha.

Excepções dentro de um caminho bloqueado.

O seu robots.txt

Edite aqui mesmo ou cole o ficheiro que já tem. Tudo o que está abaixo lê o que estiver nesta caixa.

Teste um URL contra ele

A parte do URL a seguir ao domínio, começada por uma barra.

Permitido

Decidido por
Allow: /admin/help
Comprimento da regra
11 octetos
Grupo aplicado
Nenhum nomeia este rastreador, portanto aplica-se o grupo *.

O que está no ficheiro

O RFC 9309 define três directivas: User-agent, Allow e Disallow. Tudo o resto é uma extensão que cada rastreador pode ler ou não.

Aqui não há mais do que as três directivas da norma.

Também disponível em: English · Español · Français · العربية

Gerador de robots.txt

Crie um robots.txt e teste um URL contra ele, com a regra que decide mostrada ao lado da resposta.

O que é um ficheiro robots.txt

O ficheiro robots.txt fica na raiz de um domínio e diz aos rastreadores que partes do sítio podem pedir. É um ficheiro de texto simples feito de grupos: uma ou mais linhas User-agent que nomeiam um rastreador, seguidas de linhas Allow e Disallow que nomeiam caminhos. É este o formato todo.

Durante vinte e cinco anos foi uma convenção e não uma norma, e daí vem o folclore que o rodeia. Isso mudou em Setembro de 2022, quando foi publicado como RFC 9309, o Protocolo de Exclusão de Robôs. Ter uma especificação a sério significa que perguntas antes respondidas por opinião passam a ter uma citação, e este gerador segue-a.

A coisa mais útil a perceber é que o robots.txt controla o rastreio e não a indexação, e que é um pedido e não uma cerca. Os rastreadores bem comportados respeitam-no. Nada trava um mal comportado, e o ficheiro é público, portanto não é o sítio para listar os caminhos que mais lhe interessa manter discretos.

Como usar

  1. Preencha o rastreador e os caminhos. Deixe o asterisco para se dirigir a todos os rastreadores, ou nomeie um para escrever regras que só a ele se apliquem. O Disallow aceita um caminho por linha, e o Allow serve para as excepções dentro de um caminho bloqueado. Os atalhos dão-lhe um ponto de partida para permitir tudo, bloquear tudo ou bloquear meia dúzia de caminhos.
  2. Edite ou cole directamente na caixa de saída. O ficheiro gerado é editável e pode substituí-lo por inteiro por um robots.txt que já tenha. Tudo o que está por baixo da caixa lê o que lá estiver, portanto o testador funciona igualmente bem com um ficheiro que esta ferramenta não escreveu.
  3. Teste um URL real contra ele. Escreva um caminho e o nome de um rastreador e a ferramenta diz permitido ou bloqueado, depois nomeia a regra que decidiu, o seu comprimento em octetos e que grupo se aplicou. É essa a parte que vale a pena ver, porque a regra que decide muitas vezes não é a que se espera.

O que a norma diz mesmo, e o que não diz

O RFC 9309 define exactamente três directivas: User-agent, Allow e Disallow. É esta a lista completa. O Crawl-delay não está na norma, e o Host também não. O Sitemap também não faz parte do protocolo, embora a especificação o mencione como exemplo de registo que os rastreadores podem decidir interpretar, e é por isso que esta ferramenta o emite e o etiqueta como extensão e não como directiva.

Por isso não há aqui campo de Crawl-delay, e é de propósito. A Google disse com todas as letras que ignora essa linha, e ela não está na norma, portanto um gerador que a oferece entrega-lhe uma coisa que parece um limite de velocidade e não é. Se o seu ficheiro já a traz, cole-o e a ferramenta lista-a no que está no ficheiro, marcada como ausente da norma. Nada se esconde, mas também nada se inventa.

O contrário também vale a pena saber, e surpreende mais. Acredita-se em geral que o asterisco e o cifrão são uma extensão da Google. Estão na norma: o asterisco casa com zero ou mais caracteres quaisquer, e o cifrão marca o fim do padrão. Portanto as directivas que toda a gente trata como padrão em grande parte não o são, e a sintaxe que toda a gente trata como não padrão é.

Decide a regra mais longa, não a primeira

Quando várias regras casam com um URL, a especificação é taxativa: tem de se usar a correspondência mais específica, e a mais específica é a que tem mais octetos. A ordem dentro do ficheiro é indiferente. Portanto Disallow barra a seguido de Allow barra a barra b permite /a/b/c, porque o Allow são quatro octetos contra os dois do Disallow. É este o mal-entendido mais comum sobre robots.txt, e é por isso que o testador mostra a regra que decide e o seu comprimento em vez de um simples veredicto.

Se um Allow e um Disallow exactamente do mesmo comprimento casarem os dois, a norma diz que deve ganhar o Allow. A ferramenta avisa expressamente quando acontece, porque duas regras de igual comprimento a apontar em sentidos opostos costuma ser sinal de que o ficheiro diz algo que o autor não queria dizer.

Há mais duas regras que apanham as pessoas, e apontam em direcções contrárias. Os nomes de rastreador comparam-se sem distinguir maiúsculas, portanto Googlebot e googlebot são o mesmo grupo. Os caminhos comparam-se distinguindo maiúsculas, portanto Disallow barra Admin não faz nada contra /admin. O mesmo ficheiro, duas regras diferentes quanto a maiúsculas. E relacionado: quando mais do que um grupo nomeia o mesmo rastreador, a norma obriga a combinar as suas regras num único grupo, em vez de ganhar o primeiro.

Por fim, uma regra que não casa não é uma regra que bloqueia. Se nenhuma casar, o URL fica permitido, e uma linha Disallow vazia significa exactamente isso: permitir tudo. Um grupo sem regras lá dentro não diz rigorosamente nada, e é por isso que este gerador escreve um Disallow vazio explícito quando lhe pede para permitir tudo.

Limites honestos

A limitação mais importante não é desta ferramenta mas do próprio ficheiro. O Disallow impede que um rastreador peça uma página; não retira essa página dos resultados de pesquisa. Um URL ligado a partir de outro sítio pode continuar a aparecer, sem descrição, precisamente porque se disse ao rastreador para não olhar para ele. Se quer uma página fora de um índice, essa página tem de ser rastreável e levar uma instrução noindex, ou ser removida. Bloqueá-la no robots.txt é justamente o que garante que a instrução nunca é lida.

Também não é controlo de acesso. O ficheiro é legível por qualquer pessoa num endereço previsível, portanto listar um caminho sensível é anunciá-lo. O que verdadeiramente não pode ser alcançado precisa de autenticação, não de um pedido delicado.

Há um comportamento que vale a pena conhecer antes de mexer num ficheiro em produção, e quase ninguém o conhece. Se o robots.txt devolver um 404 o rastreador pode aceder ao que quiser, que é o caso indulgente. Se devolver um erro 5xx do servidor, a norma diz que o rastreador tem de assumir bloqueio total. Ou seja, um robots.txt perfeitamente correcto, alojado num servidor a ter uma tarde má, lê-se para um rastreador conforme como se o sítio inteiro estivesse bloqueado. Isso é uma falha de instalação e não de sintaxe, e nenhum validador o pode avisar.

Esta ferramenta examina além disso um ficheiro isolado. Não lhe pode dizer se os caminhos que escreveu existem, se o seu servidor serve mesmo o ficheiro na raiz, nem como se comporta na prática um rastreador concreto, porque a norma deixa bastante margem e os rastreadores usam-na. Implementa o que o RFC especifica e, onde um rastreador vai além disso, di-lo em vez de adivinhar.

Porque é grátis

Porque entra texto e sai texto. Não há servidor pelo meio nem nada para descarregar: o analisador, o comparador e o gerador correm no seu navegador, portanto nada do que escreve ou cola é enviado, registado ou guardado em lado nenhum. O seu robots.txt é um ficheiro público, mas o resto da estrutura do seu sítio que apareça na caixa ao lado não é, e não sai da página.

Portanto não há conta, nem registo, nem nada guardado atrás de um. O motor e as verificações que o comprovam estão no repositório ao lado da página, incluindo uma varredura exaustiva de 248 248 combinações de padrão e caminho contra um comparador independente, sem uma única discrepância.