Os quatro personagens mais caros que eu já vi enviados foram Disallow: /. Uma equipe levou um robots.txt para a produção durante um lançamento, ninguém percebeu, e nos dez dias seguintes, o Google lançou silenciosamente a maioria das páginas do site. O tráfego não caiu de uma forma que acionava os alarmes; drenava. No momento em que alguém pensou em verificar /robots.txt, a recuperação foi um mês de recriação. O arquivo que o causou tinha quatro linhas.
Robots.txt é enganosamente simples É texto simples, tem talvez seis diretivas que valem a pena conhecer, e a sintaxe cabe em uma placa de índice Essa simplicidade é exatamente o motivo pelo qual dá errado: não há etapa de construção, nem linter em seu CI, nem sistema de tipos e nem mensagem de erro Se você escrever uma regra que um rastreador não pode analisar, o rastreador ignora silenciosamente essa linha e continua Seu arquivo parece bom, seu site parece bom e algo que você pensou que estava bloqueado está sendo rastreado - ou algo que você precisava rastreado não está.
eu construo Toolz.dev E eu escrevo arquivos Robots.txt para ambientes de teste, sites de clientes e meus próprios projetos constantemente, então construí o Gerador de Robôs.txt para tornar visíveis os modos de falha. Ele constrói o arquivo de um formulário estruturado, portanto, a sintaxe é correta pela construção. Ele clareia o que você escreveu e chama as armas com números de linha. E testa uma URL em relação às suas regras usando a mesma precedência de correspondência mais longa que os rastreadores reais usam, para que você possa provar que uma página pode ser acessível antes de implantar e não depois que o Search Console informa que não.
tl;dr: Robots.txt diz aos rastreadores o que eles podem buscar Ele não remove páginas dos resultados da pesquisa, e não protege nada privado - o arquivo é público, e a conformidade é voluntária As regras só se aplicam dentro de um
User-agent:Grupo, os caminhos devem começar com/,*Combina com qualquer coisa, um trailing$Ancora o final e, quando duas regras correspondem, o padrão mais longo vence com o Permitir quebras de empate. o Gerador de Robôs.txt Constrói, fiapos e testa tudo isso no seu navegador.
O que o Robots.txt realmente controla
Robots.txt é uma diretiva de rastreamento, não uma diretiva de índice. Essa distinção única explica a maior parte da confusão em torno dela.
Quando um rastreador deseja buscar um URL no host, ele primeiro busca https://yourhost/robots.txt e verifica se o URL é permitido. Se um Disallow Regra corresponde, um rastreador bem comportado não solicita a página. Esse é o mecanismo completo. Ele governa a solicitação HTTP e nada mais.
O que ele não faz é remover um URL do índice de pesquisa. O Google pode e faz indexar os URLs que nunca buscaram, usando apenas o texto âncora e o contexto dos links apontados para eles. Se você bloquear /pricing Em Robots.txt e cinquenta sites link para /pricing, o Google ainda pode mostrar esse URL nos resultados - normalmente sem descrição, porque nunca leu a página Bloquear um URL que você deseja fora da pesquisa funciona ativamente contra você: o noindex A tag que o removeria vive dentro da página, e um rastreador que não tem permissão para buscar a página nunca pode vê-la. A sequência correta é para permitir o rastreamento, servir <meta name="robots" content="noindex"> ou um X-Robots-Tag: noindex Cabeçalho, aguarde a página sair e só depois bloqueie-a se quiser salvar o orçamento de rastreamento.
Também não protege nada. Robots.txt é servido publicamente em um caminho bem conhecido; qualquer pessoa, incluindo todos os invasores na Internet, pode ler o seu em um navegador. um Disallow: /internal-admin-v2/ line é uma placa de sinalização apontando para a coisa que você queria escondida Raspadores maliciosos ignoram o arquivo inteiramente - honrá-lo é uma convenção voluntária, não um mecanismo de execução Qualquer coisa que deva ser privada precisa de autenticação ou uma lista de permissões de IP Robots.txt é um pedido, educadamente feito, para rastreadores que optam por ouvir.
Principais características do gerador Robots.txt
Editor de grupo estruturado
A gramática do arquivo é de grupos: um ou mais User-agent: Linhas seguidas pelas regras que se aplicam a eles. Escrever isso à mão convida o bug estrutural mais comum, que é uma regra que flutua acima do primeiro User-agent: linha onde se aplica a ninguém. O gerador constrói grupos como objetos de primeira classe, portanto, cada regra que você adiciona pertence necessariamente a um grupo.
Um validador que relata as verdadeiras armas de futebol
O linter é executado em cada tecla e relata erros, avisos e notas com números de linha. Ele sinaliza regras fora de qualquer grupo, caminhos sem sua barra principal, um Disallow: Sem valor (o que significa "permitir tudo" e quase nunca é o que o autor quis dizer), os URLs do mapa do site que não são absolutos, $ usado em qualquer lugar, exceto no final de um padrão, diretivas desconhecidas, grupos duplicados de usuários-agentes e - em voz alta - a Disallow: / sentado sob User-agent: *.
Um testador de url real
Insira um caminho e um usuário-agente e os relatórios da ferramenta Permitido ou Não Permitido, mais a regra exata que decidiu a lógica de precedência é a real de RFC 9309: o padrão de caminho de correspondência mais longo ganha independentemente das regras de ordem que aparecem no arquivo, e se dois padrões tiverem o mesmo comprimento, Permitir batidas Rejeitar Esta é a parte que as pessoas mais frequentemente erram por intuição, porque não se comporta como um firewall' s regras de primeira partida-ganha.
Predefinições de um clique
Permita tudo, bloqueie tudo, WordPress, Shopify, Next.js e Block AI Crawlers, cada um preenche todo o formulário com um ponto de partida correto e sensato. Os blocos predefinidos do WordPress /wp-admin/ enquanto esculpe /wp-admin/admin-ajax.php, que muitos arquivos escritos à mão esquecem e, assim, quebram a funcionalidade front-end que o Google precisa para renderizar a página.
Controles de rastreador de IA
Um clique adiciona grupos de recusa para GPTBot, Claudebot, PerplexityBot, CCBot, Google-Extended, Bytespider e Anthropic-AI, deixando o Googlebot e o Bingbot livres para rastrear. A tabela de rastreadores conhecidos explica o que cada bot realmente faz, então você está fazendo uma escolha informada em vez de colar uma lista de uma postagem de blog.
Analisa seu arquivo existente
Cole os robôs.txt que você já serve e a ferramenta lê-lo de volta em grupos editáveis A maioria dos robôs.txt trabalho não é greenfield - é auditar e reparar algo escrito há três anos por alguém que saiu - e começar a partir do que é realmente ao vivo é a única maneira sã de fazer isso.
Tudo fica no seu navegador
O arquivo é gerado, pontiagudo e testado inteiramente em JavaScript do lado do cliente. Nada é carregado, para que você possa elaborar regras com segurança para um host de preparo ou uma seção não anunciada de um site, e a ferramenta funcionará offline uma vez carregada.
Como usar o gerador Robots.txt
Etapa 1: comece com uma predefinição ou importe o que você já possui
Se você está começando de novo, escolha a predefinição mais próxima da sua pilha. Se você já atende a um robots.txt, busque-o de https://yoursite.com/robots.txt, cole-o na caixa de importação e clique em Analisar em grupos. A ferramenta reconstrói a estrutura do grupo e o validador imediatamente informa o que há de errado com o arquivo que você está executando na produção.
Etapa 2: crie seus grupos de agentes de usuário
Cada grupo tem como alvo um ou mais rastreadores Adicione rastreadores da lista de bots conhecidos ou digite um token diretamente - os tokens são combinados com distinção entre maiúsculas e minúsculas, portanto googlebot e Googlebot são equivalentes. um grupo com * É o pega-tudo: ele se aplica a qualquer rastreador que não tenha um grupo mais específico.
O importante a internalizar aqui é que os rastreadores obedecem exatamente a um grupo. Googlebot lê o Googlebot grupo se existir e ignorar o * agrupe inteiramente - não os mescla Se você criar um Googlebot Grupo Para adicionar uma regra, você deve repetir todas as regras do * Agrupe dentro dele ou o Googlebot deixará de obedecer a todos eles silenciosamente. Isso surpreende quase todo mundo na primeira vez.
Etapa 3: adicione regras, mapas de sites e leia o validador
Adicione caminhos de Desautorização para o que você deseja que os rastreadores pulem, e Permita caminhos para os entalhes dentro deles Adicione um Crawl-delay somente se você estiver visando um mecanismo que honre um Adicione seus URLs de mapa do site - estes devem ser absolutos, incluindo esquema e host, e eles ficam fora de qualquer grupo, aplicando-se a todos.
Em seguida, leia o validador. Erros são coisas que não funcionam. Avisos são coisas que provavelmente não significam o que você pensa. Notas são oportunidades. Conserte tudo vermelho antes de ir mais longe.
Etapa 4: teste os URLs com os quais você realmente se importa
Este é o passo que as pessoas pulam e não devem Tome os três ou quatro caminhos cujo status de rastreamento realmente importa - suas páginas de produtos, seu blog, a rota de administração que você acha que bloqueou, o arquivo CSS que o Google precisa para renderizar seu layout - e testar cada um contra o Googlebot A ferramenta diz Permitido ou Não permitido e nomeia a regra responsável Se um resultado surpreende você, suas regras não dizem o que você acha que dizem, e é muito mais barato aprender isso agora.
Etapa 5: copie ou baixe e implante na raiz
Copie o arquivo ou baixe robots.txt, depois sirva exatamente https://yourhost/robots.txt com um 200 status e um text/plain Tipo de conteúdo. nenhum outro lugar funciona. /blog/robots.txt não é lido por ninguém.
O protocolo de exclusão de robôs, em detalhes
é finalmente um padrão
Por vinte e cinco anos, o Robots.txt foi uma convenção descrita em uma postagem de 1994 na lista de discussão, e cada um dos rastreadores interpretava as ambiguidades de sua maneira. Em 2022, foi publicado como RFC 9309, que codifica as regras de análise, a semântica correspondente e a ordem de precedência em que o Google, o Bing e os rastreadores mais sérios convergiram. Quando este guia diz & quot; a regra é X", significa que a RFC 9309 diz X - não que uma postagem no blog afirme isso.
Grupos e porque os rastreadores obedecem apenas a um
Um registro consiste em uma ou mais User-agent: linhas seguidas pelas linhas de regras que se aplicam a elas Um rastreador se identifica com um token de produto - Googlebot, Bingbot, GPTBot- e procura o grupo cujo token mais especificamente corresponde Ele obedece que um grupo e nenhum outro. o * Grupo é o fallback, usado apenas quando nada mais específico correspondia.
A consequência prática é repetida porque causa tanto dano: os grupos não herdam. Um arquivo que lê
User-agent: *
Disallow: /admin/
Disallow: /cart
User-agent: Googlebot
Disallow: /internal/
significa que o googlebot pode rastrear /admin/ e /cart livremente. Encontrava seu próprio grupo, então o * O grupo é invisível para ele. Se você deseja que o Googlebot bloqueado entre os três, todas as três regras devem aparecer dentro do Googlebot grupo.
Precedência mais longa
Quando duas ou mais regras no grupo aplicável correspondem a um URL, o vencedor é aquele com o Padrão de caminho mais longo, medido em caracteres. ordem no arquivo é irrelevante. Se a mais longa permitida e a desvantagem correspondente mais longa forem iguais, permita o WINS.
User-agent: *
Disallow: /admin
Allow: /admin/public
Sob essas regras, /admin/public/logo.png é permitido- o padrão Permitir tem 13 caracteres contra o Disallow's 6 - enquanto /admin/secret é proibido, porque apenas o padrão não permite corresponder a ele. Este é o mecanismo por trás de cada "bloquear o diretório, permitir um arquivo dentro dele", incluindo o WordPress admin-ajax.php esculpir. É também por isso que escrever regras de cima para baixo como uma configuração de firewall produz intuições erradas: não há vitórias na primeira partida, nem falta de tempo nem pedidos.
curingas e a âncora final
Dois caracteres especiais são suportados em padrões de caminho.
* Corresponde a qualquer sequência de caracteres, incluindo nenhuma. Disallow: /*?sessionid= Bloqueia qualquer url contendo esse parâmetro de consulta em qualquer lugar.
$ Ancora o final da url e significa apenas que quando é o caractere final do padrão. Disallow: /*.pdf$ blocos /whitepaper.pdf mas não /whitepaper.pdf?download=1, porque esse URL não termina em .pdf. solte o $ e você bloqueia ambos - junto com qualquer outra coisa cujo caminho contém apenas .pdf.
sem um $, combinar é um Correspondência de prefixo, que faz uma viagem de pessoas constantemente. Disallow: /admin blocos /admin, /admin/, /admin/users, e também /administrator e /admin-tools, porque todos eles começam com a string /admin. Se você quis dizer apenas o diretório, escreva /admin/.
O atraso do rastreamento não é universalmente honrado
Crawl-delay: 10 Pede a um rastreador que aguarde dez segundos entre as solicitações. Bing, Yandex e vários rastreadores menores o honram. googlebot ignora completamente- O Google ajusta a taxa de rastreamento com base nos tempos de resposta do servidor e na configuração no Search Console, não em uma diretiva do seu arquivo Definir um grande atraso de rastreamento em um site grande é uma arma de pé em câmera lenta: a 10 segundos por solicitação, um site de 100.000 páginas leva quase doze dias para rastrear uma vez e, na prática, grande parte dele nunca é rastreado se o rastreamento estiver realmente prejudicando seu servidor, corrija o servidor ou armazene em cache as páginas; estrangular o rastreador apenas o torna invisível.
Bloqueando os rastreadores de IA
Os rastreadores de IA se dividem em duas categorias que as pessoas confundem rotineiramente Os rastreadores de treinamento - GPTBot, ClaudeBot, CCBot, Bytespider, Google-Extended - reúnem conteúdo usado para treinar modelos Rastreadores de motores de resposta, dos quais o PerplexityBot é o exemplo mais claro, buscam páginas para que possam ser citados em respostas geradas, o que pode enviar tráfego de referência Bloquear a primeira categoria protege seu conteúdo de ser absorvido por um modelo; bloquear o segundo o remove de uma superfície onde, de outra forma, você poderia ser citado.
Google-Extended Merece uma nota específica porque sua nomenclatura engana. Não é um rastreador. É um token que controla se o conteúdo já obtido pelo Googlebot pode ser usado para o treinamento Gemini e Vertex AI. Não permitindo que tenha nenhum efeito Na pesquisa do Google, rastrear, indexar ou classificar. Você pode recusar o uso de treinamento em AI do Google e manter sua presença de pesquisa totalmente intacta.
E a ressalva que se aplica a todos eles: a conformidade é voluntária. O bloqueio do GPTBot para o crawler declarado OpenAI porque OpenAI escolhe honrar o arquivo. Ele não faz nada sobre um raspador que mente sobre seu agente do usuário e não há uma diretiva robots.txt que possa.
Referência da diretiva
| diretivo | alcance | propósito | homenageado por |
|---|---|---|---|
User-agent: |
abre um grupo | Nomeia o(s) rastreador(es) aos quais se aplicam as regras a seguir. * é o pega-tudo. |
todos |
Disallow: |
Dentro de um grupo | Pede ao rastreador para não buscar URLs que correspondam ao caminho. um nu Disallow: Sem valor significa "permitir tudo". |
todos |
Allow: |
Dentro de um grupo | esculpe uma exceção de um amplo Disallow. Ganha empates por mais longa partida. |
Google, Bing, a maioria dos rastreadores modernos |
Crawl-delay: |
Dentro de um grupo | Mínimo de segundos entre as solicitações. | Bing, Yandex, outros - não googlebot |
Sitemap: |
global | URL absoluto de um sitemap ou índice de mapa de sites. Aplica-se a todos os rastreadores, independentemente do posicionamento. | Google, Bing, a maioria dos rastreadores |
Host: |
global | Espelho/domínio preferido. uma extensão Yandex. | apenas yandex |
Noindex: |
- | não funciona. O Google deixou cair o suporte em 2019. use um noindex meta tag ou X-Robots-Tag Cabeçalho. |
ninguém |
# |
em qualquer lugar | Comentário. Tudo depois dele na linha é ignorado. | todos |
Casos de uso comuns
Manter o lixo fora do índice sem bloquear nada importante
O trabalho de pão: Bloqueie URLs de pesquisa facetada, strings de consulta de ID de sessão, resultados de pesquisa internas e páginas de carrinho ou check-out para que os rastreadores gastem seu orçamento em páginas que podem realmente ser classificadas. A armadilha está bloqueando demais. uma regra como Disallow: /*? Bloqueia cada URL com uma string de consulta, que em muitos sites inclui páginas de categorias paginadas que você deseja rastrear. Teste os padrões antes de enviá-los.
Pegando um local de preparação escuro
User-agent: * mais Disallow: / é a chamada certa para um ambiente de preparação ou visualização, e o Bloco tudo predefinido produz isso Mas trate isso como higiene, não segurança: ambientes de preparação também devem estar por trás de HTTP auth ou uma lista de permissões IP, porque robots.txt nem esconde o host nem impede ninguém de navegar nele E o arquivo nunca deve, nunca deve ser promovido à produção - colocá-lo no pipeline de implantação' s diff review, porque esse erro exato é a única maneira mais comum de os sites desaparecerem do Google.
Corrigindo um site que saiu da pesquisa
Quando o tráfego orgânico cai de um penhasco, /robots.txt É a primeira coisa a verificar, antes das atualizações do algoritmo e das auditorias de backlink. Cole o arquivo ativo no gerador e leia a saída do validador. um perdido Disallow: /, uma regra que bloqueia o CSS e o JavaScript do Googlebot para renderizar a página ou um Googlebot grupo que acidentalmente substitui um cuidadosamente escrito * O grupo aparecerá imediatamente.
Decidindo o que os rastreadores de IA podem fazer com seu conteúdo
Editores, sites de documentação e qualquer pessoa cujo conteúdo seja o produto agora têm uma decisão real a tomar sobre os rastreadores de treinamento A predefinição de rastreadores Block AI oferece um padrão defensável - mecanismos de pesquisa bem-vindos, rastreadores de treinamento recusados - e a tabela de rastreadores explica cada um para que você possa abrir exceções deliberadamente, como manter o PerplexityBot permitido para o tráfego de referência enquanto recusa os bots de treinamento puros.
Auditar um site herdado
Você assume um site e ninguém sabe por que /resources/ não está indexado. Importe o Live Robots.txt, execute o testador em relação aos caminhos em questão e a ferramenta nomeia a regra exata que o faz. Isso leva um minuto e substitui uma tarde de adivinhação.
Por que gerar robôs.txt no navegador
o Gerador de Robôs.txt corre inteiramente do lado do cliente Seus caminhos, nomes de host e regras nunca saem da máquina, o que importa mais do que pode parecer - a estrutura de diretório de um produto inédito, a URL de um host de teste e as rotas internas que você está tentando manter em silêncio são todas as coisas que valem a pena não colar em outra pessoa & #39; s logs do servidor. Uma vez que a página é carregada, ela funciona offline e a saída é um arquivo de texto simples que você possui.
Robots.txt fica ao lado de alguns empregos vizinhos. o Gerador de meta tags produz o noindex E tags canônicas que fazem o trabalho robots.txt não podem. o Abrir visualização do gráfico Mostra como seus links serão renderizados assim que os rastreadores que você permitiu vir e buscá-los. e o gerador de slug Construa os caminhos limpos com as quais suas regras acabarão se comparando.
FAQ
Onde coloco o arquivo robots.txt?
deve ser servido exatamente /robots.txt no host, aplica-se a - por exemplo https://example.com/robots.txt. Os rastreadores não procuram em nenhum outro lugar. um arquivo em /blog/robots.txt é totalmente ignorado e o arquivo em example.com não governa shop.example.com; Cada host precisa de seu próprio. Sirva-o com um status 200 e um text/plain Tipo de conteúdo.
Disaylow remove uma página do Google?
Não, e este é o mal-entendido mais importante sobre o formato. DisAllow impede que o Google busque uma página; ele não remove o URL do índice. Se outros sites vincularem a um URL bloqueado, o Google ainda poderá listá-lo, geralmente sem descrição, pois nunca lê a página. Para manter uma página fora dos resultados da pesquisa, permita o rastreamento e sirva um noindex metatag de robôs ou uma X-Robots-Tag Cabeçalho. Se você bloquear o URL, o rastreador nunca poderá ver o NoIndex que você adicionou.
O Robots.txt é uma maneira de ocultar as páginas privadas?
Não. É um arquivo público que qualquer um pode ler, e honrá-lo é voluntário - raspadores maliciosos o ignoram completamente. Listando /internal-admin/ Em suas regras não permitir, informa a cada atacante exatamente onde procurar. Qualquer coisa que deva ficar privada precisa de autenticação, uma lista de permissões de IP ou não estar na Internet pública.
Como permitir e não permitir o Interact quando ambos correspondem a um URL?
A regra mais específica vence, onde a especificidade significa o comprimento do padrão do caminho. dados Disallow: /admin e Allow: /admin/public, o url /admin/public é permitido porque o padrão de permissão é mais longo, enquanto /admin/secret está bloqueado. Se dois padrões são exatamente iguais, permita o WINS. As regras de pedidos aparecem no arquivo, o que surpreende as pessoas que esperam um comportamento de primeira partida no estilo de firewall.
O que os curingas * e $ fazem?
Um asterisco corresponde a qualquer série de caracteres, então Disallow: /*?sessionid= Bloqueia qualquer url que contenha esse parâmetro. Um sinal de dólar ancora o final do URL, então Disallow: /*.pdf$ blocos /report.pdf mas não /report.pdf?download=1. sem um $, a correspondência é uma correspondência de prefixo: Disallow: /admin blocos /admin, /admin/users, e também /administrator, porque todos eles começam com essa string.
Como bloquear os rastreadores de IA como gptbot e claudebot?
Dê a cada um seu próprio grupo com Disallow: /. A predefinição de Crawlers de Block AI faz isso para GPTBot, Claudebot, PerplexityBot, CCBot, Google-Extended, Bytespider e Anthropic-AI em um único clique, deixando o Googlebot e o Bingbot livres para rastrear. Observe que o Google-Extended controla apenas o uso de treinamento para Gemini e Vertex AI e não tem efeito na pesquisa do Google. A conformidade é voluntária, portanto, isso impede os rastreadores cooperativos, não determinados raspadores.
O atraso no rastreamento realmente funciona?
Depende do rastreador. O Googlebot ignora completamente - a taxa de rastreamento é ajustada no Search Console e nos tempos de resposta do seu servidor e #39; Bing, Yandex e vários rastreadores menores honram isso, tratando o valor como o número mínimo de segundos entre as solicitações. Definir um grande atraso em um site grande pode significar que a maioria das páginas nunca será rastreada, portanto, mantenha os valores pequenos e corrija a capacidade do servidor se o rastreamento for realmente um problema.
O que acontece se meu robots.txt tiver um erro de sintaxe?
Os rastreadores descartam silenciosamente as linhas que não podem analisar e continuar com o resto, então uma regra quebrada falha silenciosamente e não em voz alta. Uma diretiva desconhecida, um caminho sem sua barra principal ou uma regra colocada acima da primeira User-agent: A linha simplesmente não faz nada e você não descobrirá até que seu tráfego se mova. É exatamente para isso que serve o validador: ele relata cada um deles com um número de linha antes de implantar.



