Este guia explica o que é robots.txt, a diferença entre bloquear rastreamento e bloquear indexação, como escrever as regras, como tratar cada bot de IA, os erros que tiram um site inteiro do ar, como testar e a relação com o llms.txt.
O que é robots.txt?
O robots.txt é o primeiro arquivo que um rastreador procura ao chegar num site: https://exemplo.com.br/robots.txt. Ele lista, por rastreador, o que pode e o que não pode ser visitado. O formato existe desde 1994 e virou padrão formal em setembro de 2022, com a RFC 9309 da IETF, o Robots Exclusion Protocol, assinada por Martijn Koster (criador do formato), Gary Illyes (do Google) e outros.
Um exemplo mínimo:
1User-agent: *2Disallow: /admin/3Disallow: /carrinho/45Sitemap: https://exemplo.com.br/sitemap.xml
Lido em voz alta: "qualquer rastreador pode visitar tudo, menos as pastas /admin/ e /carrinho/; o sitemap está neste endereço". A documentação do Google Search Central sobre como o Google interpreta o robots.txt, atualizada em agosto de 2026, lista os quatro campos que ele reconhece: user-agent, allow, disallow e sitemap. "Outros campos, como crawl-delay, não são suportados."
Duas regras de formato da documentação: o arquivo precisa estar na raiz do host (não funciona em /blog/robots.txt), com esse nome exato e codificado em UTF-8. E há um limite: o Google lê até 500 KiB, e "conteúdo depois do tamanho máximo é ignorado". É o mesmo limite mínimo que a RFC 9309 exige dos rastreadores.
Qual a diferença entre bloquear rastreamento e bloquear indexação?
É a confusão por trás dos erros descritos mais adiante, e a documentação de introdução do Google é direta: o robots.txt "não é um mecanismo para manter uma página fora do Google". Ela acrescenta: "uma página bloqueada no robots.txt ainda pode ser indexada se outros sites linkarem para ela".
O que acontece na prática:
- Bloqueio de rastreamento (robots.txt). O Googlebot não visita a URL. Mas se ele encontra links para ela em outros sites, sabe que ela existe e pode indexá-la com o que sabe: a URL e o texto-âncora dos links. É o resultado que aparece na busca com a descrição "Não há informações disponíveis para esta página".
- Bloqueio de indexação (noindex). O Googlebot visita a URL, lê a meta tag
robotscomnoindex(ou o cabeçalho X-Robots-Tag) e tira a página do índice. Para isso funcionar, a página precisa ser rastreável, ou seja, não pode estar bloqueada no robots.txt.
A combinação errada é clássica: bloquear uma página no robots.txt e colocar noindex nela. O Google nunca lê o noindex, porque nunca entra, e a página pode continuar indexada por causa dos links. O guia de noindex mostra os casos certos de cada um.
Houve uma época em que dava para escrever Noindex: dentro do robots.txt. O Google nunca documentou isso e, em julho de 2019, anunciou no blog do Search Central que aposentaria o código que tratava regras não suportadas (noindex, nofollow, crawl-delay) a partir de 1º de setembro de 2019. Segundo o post, essas regras apareciam em menos de 0,001% dos arquivos. Desde então, Noindex no robots.txt é uma linha ignorada.
Como escrever as regras do robots.txt?
A sintaxe cabe em quatro campos e dois curingas:
Elemento | Função | Exemplo |
|---|---|---|
| A quem as regras seguintes se aplicam; |
|
| Caminho que não pode ser rastreado |
|
| Exceção dentro de um Disallow |
|
| URL absoluta do sitemap; pode repetir |
|
| Qualquer sequência de caracteres |
|
| Fim da URL |
|
Fonte: Google Search Central, "Como o Google interpreta a especificação do robots.txt", atualizada em agosto de 2026.
Regras de leitura que a documentação define e que surpreendem:
- O grupo mais específico vence. Se existe um grupo
User-agent: Googlebote outroUser-agent: *, o Googlebot segue só o primeiro e ignora o segundo. Quem quer regras gerais mais uma exceção para o Googlebot precisa repetir as gerais dentro do grupo dele. - A regra mais longa vence. Entre
Disallow: /blog/eAllow: /blog/publico/, para a URL/blog/publico/post, vale o Allow, porque o caminho é mais longo (mais específico). - Disallow vazio libera tudo.
Disallow:sem caminho significa "nada bloqueado". EDisallow: /bloqueia o site inteiro. - Caminho diferencia maiúsculas.
/Admin/e/admin/são caminhos diferentes.
Um robots.txt de blog ou site institucional raramente precisa de mais do que isto:
1User-agent: *2Disallow: /wp-admin/3Allow: /wp-admin/admin-ajax.php4Disallow: /*?s=5Disallow: /*?utm_67Sitemap: https://exemplo.com.br/sitemap.xml
Bloqueia o painel, libera o endereço que os plugins chamam para funcionar (o admin-ajax.php), evita que o rastreador gaste tempo em páginas de busca interna e URLs com parâmetro de campanha, e aponta o sitemap. O que não vai no robots.txt: CSS e JavaScript, porque o Google precisa deles para renderizar a página, e páginas que você quer fora do índice, que pedem noindex.
Como colocar o arquivo no ar. No WordPress, plugins como Yoast SEO e Rank Math criam um robots.txt virtual e oferecem um editor no painel, sem tocar em arquivo. Sem plugin, ou em site feito à mão, o arquivo robots.txt é criado num editor de texto e enviado para a pasta raiz do site pelo gerenciador de arquivos do painel da hospedagem (ou por FTP). Shopify, Wix e Webflow geram o arquivo sozinhos e permitem editar as regras nas configurações de SEO. Em todos os casos, o teste é abrir seusite.com.br/robots.txt no navegador e ver o conteúdo.
Como lidar com os bots de IA no robots.txt?
Cada empresa de IA documenta os próprios rastreadores, e a distinção que importa é entre bot de treino (coleta conteúdo para treinar modelos) e bot de busca ou de usuário (busca a página para responder uma pergunta agora, com citação). A tabela resume o que cada uma publica:
Empresa | Treino de modelo | Busca / resposta com citação | A pedido do usuário |
|---|---|---|---|
OpenAI |
|
|
|
Anthropic |
|
|
|
| Googlebot (busca normal) |
| |
Perplexity | não treina modelos próprios com rastreio |
|
|
Apple |
| Applebot | não documentado |
Common Crawl |
| não se aplica | não se aplica |
Fonte: documentação de bots de OpenAI, Anthropic (abril de 2026), Google (julho de 2026), Perplexity, Apple (setembro de 2026) e Common Crawl, consultadas em setembro de 2026.
Um detalhe do Google que resolve uma dúvida frequente: a documentação de rastreadores comuns diz que o Google-Extended "não impacta a inclusão de um site na Pesquisa Google nem é usado como sinal de ranqueamento". Bloqueá-lo tira o conteúdo do treino e do grounding do Gemini (o momento em que a IA consulta a página para responder), não da busca, que continua usando o Googlebot.
A decisão editorial tem três posições, e o robots.txt expressa cada uma:
Liberar tudo (a posição deste blog): nenhuma regra para bots de IA. O conteúdo pode ser treinado e citado. É a escolha de quem quer aparecer nas respostas de ChatGPT, Claude, Perplexity e Gemini, e aceita o uso em treino como custo disso. O guia de Generative Engine Optimization explica o raciocínio.
Bloquear treino, liberar busca:
1User-agent: GPTBot2Disallow: /34User-agent: ClaudeBot5Disallow: /67User-agent: Google-Extended8Disallow: /910User-agent: CCBot11Disallow: /
Os bots de busca (OAI-SearchBot, Claude-SearchBot, PerplexityBot) continuam entrando e citando. É a posição de quem quer tráfego das respostas de IA sem alimentar o treino.
Bloquear tudo: as regras acima mais os bots de busca. Tira o site das respostas de IA. Os bots a pedido do usuário (ChatGPT-User, Perplexity-User) podem não obedecer, segundo a documentação das próprias empresas, porque agem em nome de uma pessoa que pediu aquela página.
Quantos fazem cada coisa: a Cloudflare analisou em julho de 2025 os 10 mil domínios mais acessados que passam por ela e encontrou robots.txt em 37% deles; entre os 3.816 com o arquivo, 546 (14%) tinham regras para bots de IA, e o GPTBot era o mais bloqueado, em 312 domínios. Em setembro de 2025 a Cloudflare lançou a Content Signals Policy, que acrescenta ao robots.txt uma linha como Content-Signal: search=yes, ai-input=yes, ai-train=no, com três sinais separados (busca, uso como entrada de resposta, treino), ativada em 3,8 milhões de domínios com robots.txt gerenciado. Este blog usa a linha com os três sinais liberados.
Fonte: Cloudflare, "From Googlebot to GPTBot: who's crawling your site in 2025", 1º de julho de 2025; Cloudflare, "Content Signals Policy", 24 de setembro de 2025.
Quais erros de robots.txt derrubam um site inteiro?
Disallow: /no site de produção. O clássico: o arquivo do ambiente de testes, que bloqueia tudo, sobe junto com o site novo. O Google para de rastrear e, em semanas, as páginas começam a cair. É o primeiro item de qualquer auditoria de SEO depois de uma migração.- Bloquear CSS e JavaScript.
Disallow: /assets/ou/wp-content/impede o Google de renderizar a página como a pessoa vê. A página fica indexada, mas o Google avalia uma versão quebrada. - Robots.txt fora do ar. Se o arquivo responde erro 5xx, a documentação de códigos de status do Google diz que o Google trata o site como totalmente bloqueado enquanto o erro durar. Erro 404 é o oposto: nada bloqueado.
- Bloquear e esperar noindex. Descrito acima: página bloqueada nunca tem o noindex lido.
- Regra para
*sem repetir no grupo específico. Quem criaUser-agent: Googlebotpara uma exceção e esquece de repetir as regras gerais libera para o Googlebot tudo o que bloqueava para os outros. - Bloquear parâmetros demais.
Disallow: /*?bloqueia toda URL com qualquer parâmetro, inclusive páginas de produto que só existem com parâmetro em algumas plataformas.
Como testar o robots.txt?
Três ferramentas, em ordem de uso:
- O relatório robots.txt do Search Console. Em Configurações, o "Relatório robots.txt" mostra os arquivos dos 20 hosts principais da propriedade, a data do último rastreamento, o tamanho e os erros de sintaxe que o Google encontrou. Só aparece em propriedades de domínio. O guia do Search Console mostra onde fica.
- A inspeção de URL. Para saber se uma URL específica está bloqueada, a ferramenta de inspeção de URL do Search Console mostra "Rastreamento permitido? Não: bloqueado pelo robots.txt" quando é o caso. É o teste para a pergunta "por que esta página não está indexada?".
- Um rastreador local. O Screaming Frog SEO Spider respeita o robots.txt por padrão e marca as URLs bloqueadas na coluna "Status" como "Blocked by robots.txt". Rodar o rastreador no site inteiro mostra tudo o que o arquivo está bloqueando, inclusive o que não devia.
Um teste manual antes de subir uma mudança: abra https://seusite.com.br/robots.txt no navegador, leia linha a linha e pergunte de cada Disallow "que URLs isso alcança?". Como a regra vale para todo caminho que começa com o trecho indicado, Disallow: /a bloqueia /admin/, /artigos/ e /ajuda/.
Robots.txt e llms.txt: qual a relação?
São arquivos com funções diferentes. O robots.txt diz quem pode entrar; o llms.txt é um índice em Markdown, proposto em 2024, que diz a um modelo de IA o que o site tem e onde está o conteúdo principal. Um controla acesso; o outro facilita a leitura de quem tem acesso.
A relação prática: não faz sentido publicar um llms.txt e bloquear os bots de IA no robots.txt, porque o índice existe para quem você deixou entrar. E o contrário também: liberar os bots sem llms.txt funciona (o Googlebot e o ClaudeBot rastreiam sem ele), mas o índice ajuda modelos a achar o conteúdo relevante sem percorrer o site inteiro.
O terceiro arquivo do conjunto é o sitemap, que o robots.txt aponta: é o mapa completo de URLs para os rastreadores. Sitemap para descoberta, robots.txt para permissão, llms.txt para orientação. Os três vivem na raiz do site e são texto puro.
Conclusão
Robots.txt é o arquivo na raiz do site que controla o rastreamento, com quatro campos reconhecidos pelo Google, e não controla indexação, que é trabalho do noindex. Em 2026, é também onde o site declara a política para bots de IA, separando treino de busca, bot por bot. O próximo passo é abrir o seu robots.txt no navegador e conferir dois pontos: se nenhum Disallow alcança CSS, JavaScript ou páginas que você quer no Google, e se a política para GPTBot, ClaudeBot e Google-Extended é a que você escolheu, e não a que veio por padrão.




