Robots.txt: como funciona, exemplos e como testar
O robots.txt define quais URLs os crawlers podem acessar, e uma linha errada pode esconder um site inteiro. Este guia explica como o Google e a RFC 9309 leem o arquivo, o que cada status code causa, exemplos prontos para copiar, a armadilha robots.txt vs noindex e como corrigir cada problema apontado por um verificador de robots.txt.
Searvia · 24/10/2026 · Leitura de 16 min

Resumo: o robots.txt é um arquivo de texto simples em
/robots.txtque informa aos crawlers quais URLs eles podem acessar. As regras são agrupadas porUser-agent; o crawler usa o grupo que o nomeia ou, se nenhum o fizer, o grupo*, e vence o caminhoAllowouDisallowcorrespondente mais longo. Ele controla o rastreamento, não a indexação: para tirar uma página do Google, usenoindex. Um 404 significa "rastreie tudo"; um 5xx significa "pare". A maior parte dos estragos vem de uma única linha,Disallow: /, esquecida de um site de homologação.
O robots.txt é o menor arquivo da maioria dos sites e o de maior raio de impacto. Um único Disallow: / sob User-agent: * esconde o site inteiro do Google, do Bing, da Apple e de todos os crawlers de busca com IA. Uma barra faltando, uma regra no grupo errado ou um erro de servidor no próprio arquivo podem causar quase o mesmo dano, e nada no site visível parece quebrado.
Este guia explica como os crawlers leem o arquivo segundo a RFC 9309 e a especificação do Google, traz exemplos prontos para copiar, mostra como nosso verificador de robots.txt gratuito testa o seu arquivo e como corrigir cada problema reportado.
O que o robots.txt faz e o que ele não faz
A introdução do Google é direta: um arquivo robots.txt "informa aos crawlers dos mecanismos de busca quais URLs o crawler pode acessar no seu site", e sua principal função é gerenciar o tráfego de crawlers. Ele "não é um mecanismo para manter uma página fora do Google". Uma URL bloqueada "ainda pode" ser indexada "se for linkada de outros lugares da web", normalmente exibida sem descrição.
Três limites a mais, das mesmas fontes:
- É um pedido, não uma tranca. A RFC 9309 diz que as regras "não são uma forma de autorização de acesso". Crawlers respeitáveis obedecem; outros podem não obedecer. Proteja conteúdo privado com autenticação.
- Vale por host, protocolo e porta.
https://www.example.com/robots.txtnão cobrehttps://shop.example.comnemhttp://www.example.com. Cada um precisa do seu próprio arquivo, e o Google não procura arquivos robots.txt em subdiretórios. - Crawlers diferentes interpretam a sintaxe de forma diferente. Use os campos padrão e padrões simples, e todos os principais crawlers vão lê-los da mesma maneira.
A sintaxe
Um arquivo robots.txt é uma lista de grupos. Cada grupo começa com uma ou mais linhas User-agent, seguidas de regras Allow e Disallow. As linhas Sitemap podem aparecer em qualquer lugar.
# Comentários começam com uma cerquilha
User-agent: Googlebot
User-agent: Bingbot
Disallow: /cart/
Disallow: /search
Allow: /search/help
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
| Campo | Suportado pelo Google | O que faz |
|---|---|---|
user-agent | Sim | Nomeia o crawler ao qual o grupo se aplica; * significa todos os outros |
disallow | Sim | Um prefixo de caminho que o crawler não deve acessar; vazio significa que nada é bloqueado |
allow | Sim | Um prefixo de caminho que o crawler pode acessar, usado para abrir exceções |
sitemap | Sim | A URL absoluta de um sitemap; não está vinculada a nenhum grupo |
crawl-delay | Não | Ignorado pelo Google; lido por alguns outros crawlers, como os da Anthropic |
noindex e qualquer outro | Não | Ignorados |
Os nomes dos campos não diferenciam maiúsculas de minúsculas; os caminhos diferenciam, então Disallow: /Admin/ não bloqueia /admin/. Dois caracteres especiais são suportados: * corresponde a qualquer sequência de caracteres e $ marca o fim da URL. Disallow: /*.pdf$ bloqueia todas as URLs terminadas em .pdf; Disallow: /*? bloqueia todas as URLs com query string.
Qual grupo se aplica a um crawler
Esta é a regra que mais gente erra. Segundo o Google, "apenas um grupo é válido para um determinado crawler": o grupo com o user agent correspondente mais específico. Grupos que nomeiam o mesmo agente são mesclados, mas um grupo nomeado não é combinado com o grupo *. A RFC 9309 diz o mesmo: os crawlers comparam seu product token sem diferenciar maiúsculas de minúsculas, combinam os grupos correspondentes e recorrem ao * apenas "se não existir grupo correspondente".
Assim, no arquivo acima, o Googlebot segue apenas o seu próprio grupo. Ele pode rastrear /admin/, porque o grupo * não se aplica a ele. Se uma regra deve valer para todos, repita-a em cada grupo nomeado.
Dois detalhes específicos de crawlers valem a pena. O token Googlebot do Google cobre Search, Discover, Imagens, Vídeo e Notícias; tokens mais específicos, como Googlebot-Image, permitem controlar um único produto (crawlers comuns do Google). E a Apple diz que, se o robots.txt não menciona o Applebot mas menciona o Googlebot, o Applebot segue as instruções do Googlebot (About Applebot).
Qual regra vence
Dentro de um grupo, vale a regra mais específica, ou seja, a de caminho correspondente mais longo. Quando uma regra allow e uma disallow correspondem com o mesmo tamanho, vence a menos restritiva, a allow. A ordem no arquivo não importa.
| Regras | URL | Resultado |
|---|---|---|
Disallow: /shop/ e Allow: /shop/sale/ | /shop/sale/boots | Permitida (correspondência mais longa) |
Disallow: / e Allow: /$ | / | Permitida; todas as outras URLs bloqueadas |
Disallow: /*.php e Allow: /index.php | /index.php | Permitida |
Disallow: /page | /pages/about | Bloqueada (correspondência de prefixo) |
Disallow: (vazio) | qualquer uma | Permitida |
Como os status codes mudam tudo
Os crawlers solicitam /robots.txt antes de qualquer outra coisa, e o status HTTP dele importa tanto quanto o conteúdo. Segundo a especificação do Google e a RFC 9309:
| O robots.txt responde | Comportamento do Google | RFC 9309 |
|---|---|---|
| 2xx | Processa o arquivo como foi entregue | Usar as regras |
| 3xx | Segue pelo menos cinco redirecionamentos e depois trata como 404; não segue meta refresh nem JavaScript | Seguir pelo menos cinco redirecionamentos |
| 4xx, exceto 429 | Como se não existisse robots.txt: sem restrições | Pode acessar qualquer recurso |
| 429, 5xx, timeouts | Para de rastrear por 12 horas enquanto tenta de novo, depois usa a última cópia válida por até 30 dias; se não houver, assume que não há restrições | Deve assumir bloqueio total |
A consequência prática: um 404 no robots.txt é inofensivo, mas um firewall ou servidor que responde 500 ou 503 para o arquivo pode interromper o rastreamento do site inteiro. O Google também avisa para não usar 401 ou 403 para limitar a taxa de rastreamento.
Dois limites completam o quadro: o Google mantém o arquivo em cache por até 24 horas, então as mudanças não são instantâneas, e ignora o conteúdo após 500 KiB. O arquivo deve estar em UTF-8.
robots.txt vs noindex
A documentação sobre noindex do Google descreve a armadilha: se o robots.txt bloqueia uma página, o crawler nunca vê a regra noindex dela, e a página ainda pode aparecer nos resultados. A ferramenta certa depende do objetivo:
| Objetivo | Use |
|---|---|
| Manter uma página fora dos resultados de busca | Meta tag noindex ou header X-Robots-Tag: noindex, com o rastreamento permitido |
| Impedir que crawlers desperdicem requisições em filtros infinitos ou na busca interna | Disallow no robots.txt |
| Manter conteúdo privado em sigilo | Autenticação; o robots.txt é público e qualquer pessoa pode lê-lo |
| Remover uma página que já está indexada | noindex ou um 404/410, e depois deixar o Google rastrear de novo |
Exemplos de robots.txt prontos para copiar
Permitir tudo e informar o sitemap (o arquivo certo para a maioria dos sites pequenos):
User-agent: *
Disallow:
Sitemap: https://www.example.com/sitemap.xml
Uma loja virtual típica:
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Disallow: /*?sort=
Disallow: /*?filter=
Sitemap: https://www.example.com/sitemap.xml
Um site de homologação (e somente de homologação; proteja-o também com senha):
User-agent: *
Disallow: /
Busca com IA permitida, treinamento de IA bloqueado:
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: CCBot
Disallow: /
User-agent: *
Disallow: /admin/
Sitemap: https://www.example.com/sitemap.xml
Bloquear o Google-Extended não afeta o Google Search; o Google diz que ele "não afeta a inclusão de um site no Google Search nem é usado como sinal de ranqueamento". Os AI Overviews e o AI Mode funcionam com o Googlebot (AI features and your website). A OpenAI diz que optar por sair do OAI-SearchBot mantém você fora das respostas de busca do ChatGPT, portanto não o bloqueie a menos que seja isso que você quer (OpenAI crawlers). Nosso guia de crawlers de IA cobre todos os tokens de IA.
Não bloqueie CSS, JavaScript ou imagens de que as páginas precisam para renderizar. O Google diz que você pode bloquear recursos sem importância se as páginas "não forem afetadas de forma significativa pela perda", mas bloquear arquivos que carregam seu conteúdo ou layout impede o Google de entender a página.
Como funciona o verificador de robots.txt da Searvia
O verificador de robots.txt roda o mesmo motor do nosso verificador de SEO de sites: você informa um domínio ou o endereço de uma página, ele lê essa página (sua home, se você informar só o domínio) e os arquivos do site ao redor, executa 38 verificações em cerca de 20 segundos e mostra primeiro as quatro verificações de que esta ferramenta trata. Veja o que cada uma faz.
robots.txt (prioridade média). O verificador segue a página até o endereço final e depois solicita /robots.txt nesse mesmo host, seguindo redirecionamentos. Ele lê o status code como na tabela acima: um 404 ou outro 4xx significa que não há arquivo; um 5xx, um 429 ou ausência de resposta significa que o arquivo está inacessível; e um 200 que retorna uma página HTML não é um robots.txt válido. Ele interpreta o arquivo como a RFC 9309 descreve: grupos User-agent (várias linhas podem compartilhar o mesmo conjunto de regras), grupos duplicados mesclados, o fallback *, Allow e Disallow com os curingas * e $, comentários, correspondência mais longa com empates a favor do allow, e linhas Sitemap. Em seguida, pergunta se o Googlebot pode acessar o caminho da home / e, se você informou uma página interna, o caminho dessa página.
- Aprovado: o arquivo existe e o Googlebot pode rastrear
/e a página informada. - Reprovado: o arquivo bloqueia o Googlebot em
/(na prática, o site inteiro) ou na página informada, ou o robots.txt está inacessível. - Aviso: nenhum arquivo foi encontrado (um 4xx) ou o arquivo é uma página HTML.
Acesso de crawlers de IA (prioridade alta). O mesmo parser roda para 10 tokens de crawlers: OAI-SearchBot, ChatGPT-User, PerplexityBot, Claude-SearchBot, Claude-User, Googlebot e Bingbot (rotulados como busca com IA), e GPTBot, ClaudeBot e CCBot (rotulados como treinamento de IA), além de Google-Extended e Applebot-Extended, rotulados como tokens de opt-out de treinamento de IA porque não são crawlers. Ele também envia uma requisição que se identifica como GPTBot para ver se um firewall a recusa com 401, 403, 429 ou 503; como a requisição não vem dos endereços da OpenAI, uma recusa é um aviso, não uma prova. A verificação é reprovada se algum token de busca estiver bloqueado ou se o robots.txt estiver inacessível; tokens de treinamento bloqueados são listados, mas tratados como escolha sua.
Sitemap XML (prioridade média). Ele tenta todas as linhas Sitemap: do seu robots.txt, depois /sitemap.xml e /sitemap_index.xml (até quatro endereços), e é aprovado no primeiro que responder 200 com um <urlset> ou <sitemapindex>, mostrando o número de URLs.
Indexação permitida (prioridade alta). Ele procura noindex em uma meta tag robots ou googlebot na página e no header de resposta X-Robots-Tag. Qualquer um dos dois reprova a verificação, porque mantém a página fora dos resultados, independentemente do robots.txt.
O que ele não testa
- Uma página por execução. O Googlebot é testado para
/e para a página que você informa. Uma regra comoDisallow: /blog/só é sinalizada se você informar uma página dentro de/blog/. Leia o arquivo para ver regras de nível de seção ou teste URLs específicas na Inspeção de URL do Search Console. - Regras de outros hosts. Apenas o robots.txt do host em que sua página termina é lido.
Como ler o resultado
| Mensagem | Significado | Prioridade |
|---|---|---|
| robots.txt is present and lets search engines in. | O arquivo existe; o Googlebot pode rastrear / | Nenhuma |
| robots.txt blocks Google from the whole site. | O grupo do Googlebot, ou *, bloqueia / | Corrigir hoje |
| robots.txt blocks Google from this page. | O grupo do Googlebot, ou *, bloqueia a página informada | Corrigir hoje |
| robots.txt answers with status N. / robots.txt could not be reached. | Um 5xx ou 429, ou ausência de resposta: o Google pausa o rastreamento | Corrigir hoje |
| robots.txt returns an HTML page instead of crawl rules. | Uma página web é servida em /robots.txt com status 200 | Esta semana |
| No robots.txt file was found, so crawlers may visit every page. | Um 404 ou outro 4xx | Opcional |
| robots.txt blocks N AI search crawlers. | Um token de IA de busca ou de acesso sob demanda não consegue ler a página | Corrigir se você quer citações de IA |
| No XML sitemap was found in robots.txt or at /sitemap.xml. | Nenhum sitemap nos locais habituais | Esta semana |
| A noindex meta tag blocks indexing. / An X-Robots-Tag header blocks indexing. | A página pede para ficar fora da busca | Corrigir hoje |
O relatório dá uma nota de A+ a F para as 38 verificações, ponderada por prioridade (alta 10, média 5, baixa 2; avisos valem metade), uma lista "Fix these first" e um link compartilhável. Cada verificação também mostra a parcela dos sites auditados que passam nela.
Como corrigir cada problema apontado pelo verificador
robots.txt bloqueia o Google do site inteiro
- Abra o arquivo publicado e encontre o grupo que se aplica ao Googlebot: um grupo
User-agent: Googlebot, se houver, ou entãoUser-agent: *. - Procure
Disallow: /ou um padrão comoDisallow: /*nesse grupo. Remova-o ou substitua-o pelos caminhos específicos que você pretendia bloquear. - Descubra de onde o arquivo vem antes de editar: um arquivo estático, uma configuração do CMS, um plugin de SEO, uma regra de CDN ou um script de deploy. No Shopify, edite o template de tema
robots.txt.liquid. - Abra
https://yourdomain.com/robots.txtem uma janela anônima para confirmar que a mudança está no ar e rode o verificador de robots.txt de novo. - No Search Console, abra o relatório de robots.txt e escolha Request a recrawl para o arquivo. Caso contrário, o Google o mantém em cache por até 24 horas.
- Acompanhe nos dias seguintes o relatório de indexação de páginas e veja a contagem de "Bloqueada pelo robots.txt" cair.
robots.txt ausente, inacessível ou uma página HTML
A mensagem indica qual é o seu caso; confirme o status code com:
curl -I https://yourdomain.com/robots.txt
- 404: inofensivo, mas publique um arquivo simples mesmo assim para poder informar o sitemap. Use o exemplo "permitir tudo" acima.
- 200 com
Content-Type: text/html: seu app retorna uma página web para URLs desconhecidas. Sirva um arquivo de texto real antes da rota catch-all do app. - 403: uma regra de segurança bloqueia o arquivo. Libere
/robots.txtpara todos. - 5xx ou timeout: corrija isto primeiro. O Google para de rastrear por 12 horas cada vez que vê isso, e a RFC 9309 manda os crawlers assumirem que o site inteiro está bloqueado.
robots.txt bloqueia crawlers de busca com IA
Encontre o grupo que cada token bloqueado usa (o próprio ou *) e defina sua política por token. Permita OAI-SearchBot, Claude-SearchBot e PerplexityBot se quiser ser citado nas respostas do ChatGPT, do Claude e do Perplexity; bloqueie os tokens de treinamento separadamente, se desejar. Lembre-se de que um grupo nomeado não herda as regras do *. Se o teste de firewall deu um aviso, a correção está nas configurações do seu CDN ou WAF, não no robots.txt; veja o guia de crawlers de IA.
Nenhum sitemap XML foi encontrado
- Gere um sitemap com suas URLs canônicas e indexáveis. A maioria dos CMSs faz isso: o núcleo do WordPress serve
/wp-sitemap.xml, e o Yoast SEO e o Rank Math servem/sitemap_index.xml; no Next.js, adicioneapp/sitemap.ts. - Adicione a URL absoluta ao robots.txt:
Sitemap: https://www.example.com/sitemap.xml. - Envie-o no Google Search Console e no Bing Webmaster Tools.
- Mantenha-o dentro dos limites do Google de 50.000 URLs ou 50 MB sem compactação por arquivo (Build and submit a sitemap); divida sites maiores com um índice de sitemaps.
Uma tag noindex ou um header X-Robots-Tag bloqueia a indexação
- Veja o código-fonte da página e procure por
noindex. Se estiver em uma meta tag, encontre a configuração que a adiciona: uma opção por página de um plugin de SEO, uma configuração do tema ou uma flag de homologação. No WordPress, confira Configurações › Leitura › Visibilidade nos mecanismos de busca, que costuma ficar ativada depois de um lançamento. - Se o código-fonte estiver limpo, confira os headers com
curl -I https://yourdomain.com/. Um headerX-Robots-Tag: noindexcostuma vir do servidor, de uma regra de CDN ou de um modo "staging" da hospedagem. - Remova-o e depois solicite a indexação da home na Inspeção de URL do Search Console.
Exemplo prático (hipotético)
O exemplo a seguir é hipotético, não são dados reais. A Oakridge Dental, uma clínica inventada, relança seu site e perde a maior parte do tráfego do Google em duas semanas. O verificador de robots.txt reporta:
| Verificação | Resultado |
|---|---|
| robots.txt | Reprovado: "robots.txt blocks Google from the whole site." |
| Acesso de crawlers de IA | Reprovado: "robots.txt blocks 7 AI search crawlers." |
| Sitemap XML | Aprovado: índice de sitemaps encontrado |
| Indexação permitida | Aprovado |
O arquivo contém apenas User-agent: * e Disallow: /, copiados do servidor de homologação pelo script de deploy. A correção levou dez minutos: a equipe substituiu o arquivo pelo exemplo "permitir tudo" mais a linha do sitemap, excluiu o robots.txt da sincronização com a homologação, solicitou um novo rastreamento no Search Console e rodou o verificador de novo, que foi aprovado. Como o arquivo também bloqueava o Bingbot e os crawlers de busca com IA, a mesma correção devolveu à clínica a elegibilidade para o Bing, o Copilot e as respostas de IA.
Um checklist de robots.txt de 15 minutos
- Rode o verificador de robots.txt gratuito e anote cada verificação reprovada.
- Confirme que
/robots.txtresponde 200 como texto simples, não 5xx nem HTML. - Leia cada grupo: qual crawler ele nomeia e se bloqueia por acidente
/ou seções importantes. - Repita as regras importantes em todos os grupos nomeados; eles não herdam o
*. - Informe seu sitemap com uma URL absoluta.
- Certifique-se de que nada que você quer fora da busca dependa do robots.txt em vez do
noindex. - Depois das mudanças, solicite um novo rastreamento no Search Console e verifique de novo.
Como a Searvia ajuda
O verificador de robots.txt gratuito testa seu arquivo para o Googlebot, 9 outros crawlers de IA e de busca e 2 tokens de opt-out de treinamento de IA, encontra seu sitemap e confere os sinais de noindex em um único relatório compartilhável. Para o resto do site, a auditoria de site em uma conta Searvia rastreia suas páginas como um mecanismo de busca, respeita seu robots.txt e sinaliza toda semana páginas noindex no sitemap, páginas quebradas e redirecionamentos, de modo que um deploy ruim seja detectado em dias, e não depois de uma queda de tráfego. Conecte o Search Console para ver "Bloqueada pelo robots.txt" e as tendências de indexação ao lado da auditoria, e leia nosso guia de auditoria de SEO técnico para ver onde o robots.txt se encaixa no checklist completo.
Perguntas frequentes
- O que é robots.txt?
- O robots.txt é um arquivo de texto simples na raiz de um host, por exemplo https://www.example.com/robots.txt, que informa aos crawlers quais URLs eles podem acessar. Ele é definido pela RFC 9309, o Robots Exclusion Protocol. As regras são agrupadas por user agent, como Googlebot ou GPTBot, e usam linhas Allow e Disallow com caminhos de URL. Crawlers bem-comportados o obedecem, mas ele não é um controle de acesso.
- O robots.txt impede que uma página apareça no Google?
- Não. O Google diz que o robots.txt não é um mecanismo para manter uma página fora do Google: uma URL bloqueada ainda pode ser indexada se outras páginas linkarem para ela, normalmente exibida sem descrição. Para manter uma página fora dos resultados, permita o rastreamento e adicione uma meta tag noindex ou um header X-Robots-Tag, ou proteja a página com senha.
- O que acontece se meu site não tiver robots.txt?
- Se /robots.txt retornar 404 ou outro status 4xx (exceto 429), o Google e a RFC 9309 tratam isso como se não houvesse restrições, então o site inteiro pode ser rastreado. Para a maioria dos sites, isso não é problema. Um erro 5xx ou um timeout é diferente: o Google para de rastrear por 12 horas e depois usa a última cópia em cache, e a RFC 9309 diz que os crawlers devem assumir bloqueio total.
- O Google suporta crawl-delay ou noindex no robots.txt?
- Não. O Google suporta apenas quatro campos no robots.txt: user-agent, allow, disallow e sitemap. Ele ignora crawl-delay e quaisquer outras linhas. Alguns outros crawlers leem o crawl-delay; a Anthropic, por exemplo, diz que seus bots o suportam. Para manter páginas fora do índice do Google, use uma meta tag noindex ou um header X-Robots-Tag.
- Como testo meu arquivo robots.txt?
- Rode um verificador de robots.txt para ver se o arquivo existe, se ele bloqueia o Googlebot e os crawlers de IA do site e se lista seu sitemap. Depois use o relatório de robots.txt do Google Search Console para ver quais arquivos o Google buscou e eventuais problemas de interpretação, e a ferramenta de Inspeção de URL para verificar se uma URL específica está bloqueada.
Fontes
- RFC 9309: Robots Exclusion Protocol – IETF
- How Google interprets the robots.txt specification – Google Search Central
- Introduction to robots.txt – Google Search Central
- Block Search indexing with noindex – Google Search Central
- robots.txt report – Search Console Help
- Google's common crawlers – Google Search Central
- About Applebot – Apple Support
- Overview of OpenAI Crawlers – OpenAI
- Does Anthropic crawl data from the web, and how can site owners block the crawler? – Claude Help Center
- Build and submit a sitemap – Google Search Central
- AI features and your website – Google Search Central