O robots.txt é um arquivo de texto puro, publicado em seusite.com.br/robots.txt, que diz aos robôs dos buscadores quais caminhos do site eles podem rastrear. Ele organiza a visita dos robôs. Não esconde página do Google, não protege nada e, com uma linha errada, consegue sumir com o site inteiro da busca.
Aqui você vê o que cada linha faz, como o Google decide quando duas regras se contradizem, exemplos comentados para site institucional, loja virtual e WordPress, os erros que mais custam visitas e como testar a mudança antes de subir. A escolha de quais robôs de IA deixar entrar tem um guia só dela, com a lista de cada empresa: como decidir, robô por robô, o acesso das inteligências artificiais.
O que o robots.txt faz e o que ele não faz?
Ele controla o rastreamento, isto é, quais endereços o robô pode pedir ao seu servidor. Segundo o Google, o uso principal é evitar que o site fique sobrecarregado de pedidos. A mesma página avisa que o arquivo não serve para manter uma página longe dos resultados de busca.
Antes de escrever a primeira regra, tenha claros três limites:
- Não tira página do índice. O Google pode encontrar o endereço bloqueado por links de outros sites e mostrar esse endereço nos resultados, só que sem descrição.
- Não é tranca. A RFC 9309, a norma do protocolo publicada em 2022, diz que as regras não são uma forma de autorização de acesso. O Google e as grandes empresas de IA dizem respeitar o arquivo. Um robô mal-intencionado simplesmente ignora.
- Qualquer um lê. O arquivo abre no navegador de quem quiser. Listar ali
/relatorios-financeiros-internos/é anunciar que esse caminho existe.
Também não é o arquivo que apresenta o site às IAs. Essa é a proposta do llms.txt, que só aponta páginas e não bloqueia robô nenhum.
Seu site precisa ter um robots.txt?
Não é obrigatório. Se /robots.txt responde 404, o Google entende que não há restrição e rastreia tudo; a Ajuda do Search Console trata esse caso como normal. Mesmo assim, recomendamos ter o arquivo.
É nele que você mostra onde está o sitemap para todos os buscadores de uma vez, sem cadastro em painel nenhum, e é ele que poupa o rastreamento de áreas sem valor para a busca, como carrinho, área do cliente e resultados da busca interna.
Com o validador, lemos o arquivo de 53 sites .br na semana de 20 de outubro de 2026. Só 2 não tinham robots.txt (o endereço devolvia 404). Nenhum dos 53 impedia o Googlebot de ler a página inicial. E em 4 deles o sitemap existia, mas o robots.txt não dizia onde. O problema quase nunca é a falta do arquivo: é o que vai escrito dentro dele.
Como funciona cada linha do arquivo?
O arquivo é feito de grupos. Cada grupo começa com uma ou mais linhas User-agent, que dizem para quem as regras valem, seguidas das regras Disallow e Allow. O Google reconhece quatro campos:
| Campo | O que faz | Exemplo |
|---|---|---|
User-agent |
Nome do robô a quem o grupo se aplica; * vale para todos |
User-agent: Googlebot |
Disallow |
Caminho que o robô não deve rastrear | Disallow: /minha-conta/ |
Allow |
Caminho liberado, mesmo dentro de um bloqueado | Allow: /minha-conta/ajuda |
Sitemap |
Endereço completo do sitemap; vale para todos os robôs, em qualquer ponto do arquivo | Sitemap: https://www.suaempresa.com.br/sitemap.xml |
Os detalhes que mudam o resultado:
- O caminho começa sempre com
/e diferencia maiúscula de minúscula. O nome do campo, não:disalloweDisallowdão no mesmo. - A regra pega tudo o que começa com aquele caminho.
Disallow: /adminbloqueia/admin,/admin/usuariose também/administradora-de-condominios. Para pegar só a pasta, termine com barra:/admin/. Disallow:sem nada depois não bloqueia coisa nenhuma.Disallow: /bloqueia o site todo. A distância entre os dois é um caractere.- Linha que começa com
#é comentário, e o robô ignora. Crawl-delayeNoindexnão valem no Google, que aceita só os quatro campos da tabela. Muito tutorial ainda ensina os dois.
Qual regra vale quando duas se contradizem?
Vale a regra mais específica, e a ordem em que as linhas aparecem no arquivo não faz diferença nenhuma. O Google decide em duas etapas, primeiro o grupo e depois a regra:
- Escolhe um grupo só. Cada robô segue o grupo cujo
User-agentcombina com ele de forma mais específica e ignora os demais. Se existe um grupoUser-agent: Googlebot, o Googlebot não lê o grupo*. - Dentro do grupo, vence a regra de caminho mais longo. Quando um
Allowe umDisallowempatam no tamanho, o Google fica com a menos restritiva, oAllow. A RFC 9309 manda fazer o mesmo.
Dois curingas permitem escrever regras por padrão: * representa qualquer sequência de caracteres, e $ marca o fim do endereço. Veja como isso se resolve na prática:
| Regras no grupo | Endereço pedido | Resultado |
|---|---|---|
Disallow: /produtos/ e Allow: /produtos/promocao/ |
/produtos/promocao/tenis-azul |
Liberado: o Allow tem o caminho mais longo |
Disallow: /produtos/ e Allow: /produtos/promocao/ |
/produtos/tenis-azul |
Bloqueado |
Disallow: /*.pdf$ |
/catalogo-2026.pdf |
Bloqueado |
Disallow: /*.pdf$ |
/catalogo-2026.pdf?v=2 |
Liberado: o endereço não termina em .pdf |
Disallow: /*?*ordem= |
/camisetas?cor=azul&ordem=preco |
Bloqueado |
Allow: / e Disallow: /checkout |
/checkout/pagamento |
Bloqueado: /checkout é mais longo que / |
Como criar o robots.txt passo a passo?
Criar o arquivo leva poucos minutos e não depende de plataforma: basta um editor de texto e acesso à pasta raiz do site, pelo gerenciador de arquivos da hospedagem ou por FTP. Siga estes cinco passos:
- Use um editor de texto puro, como o Bloco de Notas ou o VS Code. O Google desaconselha processador de texto, que pode trocar as aspas e inserir caracteres que atrapalham o robô.
- Salve em UTF-8, com o nome
robots.txt, tudo em minúsculas. O site tem um arquivo só. - Publique na raiz:
https://www.suaempresa.com.br/robots.txt. Numa subpasta, ele é ignorado. O arquivo vale apenas para o protocolo, o host e a porta onde está, entãoloja.suaempresa.com.brprecisa do próprio. - Confira se o endereço responde 200 e mostra texto puro no navegador.
- Fique bem abaixo de 500 KiB. É o limite do Google, e o que passar dele é ignorado. Arquivo desse tamanho quase sempre tem uma regra para cada URL, quando um curinga resolveria tudo numa linha.
Como fica o robots.txt de um site institucional, de uma loja e de um WordPress?
Os três modelos abaixo servem de ponto de partida, cada um com o motivo das suas linhas, para você adaptar em vez de copiar às cegas. Troque os caminhos pelos do seu site antes de publicar.
Site institucional
# Empresa de serviços: quase tudo liberado
User-agent: *
Disallow: /area-do-cliente/
Sitemap: https://www.suaempresa.com.br/sitemap.xml
Num site de 20 ou 30 páginas, quase não há o que bloquear. O arquivo existe para apontar o sitemap e tirar a área logada do caminho do robô. A página de "obrigado" do formulário e a política de privacidade não precisam de Disallow: se você não quer essas páginas no Google, use noindex nelas.
Loja virtual com filtros
# Loja: fora o que não serve a quem chega pela busca
User-agent: *
Disallow: /carrinho$
Disallow: /checkout/
Disallow: /minha-conta/
Disallow: /busca
# Filtros e ordenação geram milhares de combinações
Disallow: /*?*ordem=
Disallow: /*?*cor=
Disallow: /*?*tamanho=
Disallow: /*?*preco=
Sitemap: https://www.sualoja.com.br/sitemap.xml
É na loja que o robots.txt mais trabalha. Cada combinação de filtro vira um endereço novo, e uma categoria com algumas centenas de produtos gera milhares deles. O Google escreve que rastrear essas URLs "tende a custar aos sites grandes quantidades de recursos de computação" e indica o robots.txt quando elas não precisam aparecer na busca. Na mesma página, ele diz que canonical e nofollow costumam funcionar pior a longo prazo.
Checkout e minha conta são telas de compra e de cadastro, sem nada a oferecer a quem chega pela busca. Carrinho e busca interna também podem ficar só com noindex, se você preferir que o Google leia e descarte; o que não funciona é usar os dois na mesma página, porque o bloqueio esconde o noindex.
Repare no $ da primeira regra. Numa loja de artigos infantis, Disallow: /carrinho bloquearia também a categoria /carrinho-de-bebe. Com o $, só o endereço exato do carrinho fica de fora.
Dois cuidados antes de copiar:
- Filtro que é vitrine merece endereço próprio. Se "tênis de corrida masculino" é uma busca que traz cliente, crie a página com endereço limpo, sem parâmetro, liberada e no sitemap. Bloqueie as combinações, não a vitrine.
- Filtro que já está no índice pede ordem. Primeiro coloque noindex e espere esses endereços saírem do Google. Só depois acrescente o
Disallow. Na ordem inversa, o robô para de ler a página, não vê o noindex e o endereço fica preso no índice.
WordPress
Sem plugin nenhum, o WordPress responde em /robots.txt um arquivo virtual, montado pelo código a cada pedido:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://www.seusite.com.br/wp-sitemap.xml
A linha do sitemap entrou na versão 5.5, junto com o sitemap nativo. O Allow deixa passar o admin-ajax.php, que temas e plugins usam para carregar partes da página. Para a maioria dos sites WordPress, esse arquivo basta. Três avisos:
- Não copie modelos que bloqueiam
/wp-includes/ou as pastas de temas e plugins. É ali que ficam o CSS e o JavaScript que o Google usa para montar a página. - Arquivo físico ganha do virtual. Se alguém subiu um
robots.txtpara a pasta raiz, o servidor entrega esse arquivo e o do WordPress nem chega a ser gerado. Mudou algo no painel e nada mudou em/robots.txt? Procure esse arquivo esquecido no gerenciador da hospedagem. - A opção de visibilidade, em Configurações > Leitura, não mexe no robots.txt. Desde a versão 5.3, marcada, ela põe noindex nas páginas. Se o seu arquivo tem
Disallow: /, a linha veio de outro lugar.
Quais erros no robots.txt fazem o site sumir do Google?
Quatro erros fazem estrago sem dar aviso na hora: publicar o arquivo do ambiente de teste, bloquear CSS e JavaScript, usar o robots.txt para esconder página e deixar o próprio arquivo responder erro de servidor. Os quatro aparecem abaixo, com o conserto de cada um.
Publicar o arquivo da homologação
O ambiente de teste costuma ter User-agent: * com Disallow: /, para não ser indexado. Quando a cópia vai inteira para produção, essa linha vai junto. Proibido de ler as páginas, o Google para de atualizar o que tinha: as que já estavam no índice passam a aparecer sem descrição, e as novas não entram. Para evitar, gere o robots.txt pela configuração de cada ambiente em vez de copiar o arquivo, proteja a homologação com senha, que impede a indexação de verdade, e abra /robots.txt no dia de cada publicação.
Bloquear CSS e JavaScript
O Google permite bloquear scripts e estilos menos importantes, mas faz uma ressalva: se o robô precisa deles para entender a página, eles têm que ficar liberados. Sem o CSS e o JavaScript, o Googlebot pode montar uma página quebrada ou vazia e julgar o conteúdo por ela. A captura de tela da Inspeção de URL, no Search Console, mostra o que ele conseguiu montar.
Usar o robots.txt para esconder uma página
É um erro de intenção, não de digitação. Você bloqueia /promocao-antiga para ela sumir do Google e ela continua lá, agora sem descrição. O robô não lê a página bloqueada, então nunca descobre que você não queria aquele endereço no índice. A documentação do Google sobre noindex é direta: para a regra funcionar, "a página ou recurso não pode ser bloqueado por um arquivo robots.txt". No Search Console, esse desencontro aparece como página indexada, mas bloqueada pelo robots.txt, e o que fazer com cada aviso do relatório de indexação está no nosso guia de páginas fora do índice.
Deixar o arquivo responder erro
O código que /robots.txt devolve muda o comportamento do Google, e o pior caso não é o 404:
O que /robots.txt responde |
O que o Google faz |
|---|---|
| 200 | Lê o arquivo e segue as regras |
| Redirecionamento | Segue até cinco saltos; depois disso, trata como 404 |
| 404, 410 e outros 4xx (menos o 429) | Age como se não houvesse arquivo e rastreia tudo |
| 5xx | Nas primeiras 12 horas, para de rastrear o site. Até 30 dias, usa a última versão boa que tinha guardada. Depois disso, se o site está no ar, age como se não houvesse arquivo |
Um servidor que devolve erro 500 só no robots.txt, por um plugin quebrado ou uma regra de cache mal feita, pode deixar o site até 12 horas sem nenhum rastreamento. É por isso que o nosso validador reprova robots.txt com resposta 5xx e só dá alerta quando o arquivo não existe.
Robots.txt ou noindex: o que usar em cada caso?
Use o robots.txt para economizar o rastreamento e o noindex para tirar uma página do índice. Os dois não se substituem: um decide o que o robô pode ler, o outro decide o que pode aparecer na busca. Na hora de escolher, esta tabela resolve:
| Você quer | Use | Por quê |
|---|---|---|
| Tirar uma página do Google | noindex, com a página liberada no robots.txt | O robô precisa ler o aviso |
| Evitar que o robô gaste tempo com milhares de URLs sem valor, como filtros e busca interna | Disallow |
É controle de rastreamento |
| Proteger conteúdo privado | Login ou senha | O robots.txt é público e é só um pedido |
| Tirar imagens, vídeos ou áudios dos resultados | Disallow no caminho dos arquivos |
O Google cita esse uso para arquivos de mídia |
| Tirar do índice e depois parar o rastreamento | noindex primeiro, Disallow só quando o endereço sair |
Na ordem inversa, o noindex não é lido |
Como é o robots.txt do Nota do Site?
É curto e não foi escrito à mão: o sistema monta o arquivo, deixa todo robô entrar, fecha apenas o que exige login e aponta o endereço do sitemap. O que não deve ir para o Google continua aberto nele e leva noindex na página. Este é o texto que está no ar em www.notadosite.com.br/robots.txt:
# Nota do Site - gerado automaticamente
# Buscadores e bots de IA (busca, assistentes e treinamento) são bem-vindos.
User-agent: *
Allow: /
Disallow: /admin
Disallow: /confirm-password
Disallow: /dashboard
Disallow: /mcp
Disallow: /oauth/
Disallow: /profile
Disallow: /sites/
Disallow: /verify-email
Sitemap: https://www.notadosite.com.br/sitemap.xml
Ele não é um arquivo solto na pasta. O sistema monta o texto a partir das rotas do site: todo grupo de endereços em que todas as páginas exigem login entra na lista de Disallow sozinho. Uma área logada nova já nasce bloqueada, sem ninguém precisar lembrar de editar o arquivo. A linha Sitemap sai da mesma lista de páginas públicas que gera o sitemap.
As escolhas que fizemos e o motivo de cada uma:
- Todos os robôs entram, inclusive os de IA. Não há grupo por robô. Quem decide bloquear o treinamento precisa de grupos próprios, e isso é assunto do guia sobre os robôs de IA citado no começo.
- Relatórios e login usam noindex, não
Disallow. Os relatórios das análises e as telas de login e cadastro não devem aparecer no Google, mas estão liberados no arquivo. Se estivessem bloqueados, o Google não leria o noindex, e um relatório linkado em algum fórum poderia entrar no índice como endereço sem descrição. - O
Allow: /é redundante, de propósito. Ele deixa a intenção explícita e não atrapalha os bloqueios:/admintem seis caracteres,/tem um, e a regra mais longa vence. /adminsem barra pega qualquer caminho que comece assim. No nosso site não existe página pública com esse começo. No seu, confira antes de copiar.- O arquivo sai com
Cache-Controlde uma hora. O Google costuma guardar a cópia por até 24 horas, mas diz que pode encurtar ou alongar esse prazo de acordo com esse cabeçalho.
Como testar o robots.txt antes de publicar?
Teste o arquivo novo como rascunho, antes de ele ir para o ar, e confira a versão publicada logo depois, porque um erro no robots.txt pode passar dias sem ninguém perceber. Nesta ordem:
- Teste o rascunho. Cole o arquivo novo no testador de robots.txt com modo rascunho, marque essa opção e informe só o caminho de cada página. Teste a inicial, uma categoria, um produto ou post, um arquivo CSS do tema e uma página que deve continuar bloqueada. A ferramenta mostra, robô por robô, a linha que decidiu o resultado, e nada é buscado no seu site.
- Publique e abra o endereço. Em janela anônima, abra
/robots.txte confira se ele responde e se o conteúdo é o novo. Repita em cada subdomínio com páginas públicas. - Confira no Search Console. O relatório de robots.txt, nas configurações da propriedade, lista o arquivo dos 20 principais hosts do site, a data da última leitura, o status ("Buscado" ou "Não buscado") e os problemas de leitura de cada linha. Depois de liberar algo importante, use "Solicitar um novo rastreamento" no menu do arquivo. O relatório só aparece em propriedade de domínio e não testa endereços: para saber se uma página específica está liberada, a Ajuda manda usar a Inspeção de URL.
- Rode a análise completa. No validador, a gente confere se o arquivo responde, se declara o sitemap e, em cada página lida, se o Googlebot pode rastrear aquele caminho.
Quais quatro linhas procurar no seu robots.txt?
Digite no navegador o endereço do seu site seguido de /robots.txt e confira quatro pontos: um Disallow: / sozinho no grupo *, regras que pegam pastas de CSS ou JavaScript, páginas que você tentou tirar do Google por ali e a linha Sitemap. Achou algum dos três primeiros? Corrija no rascunho do testador, publique e peça a nova leitura no Search Console. Se a linha do sitemap faltar, acrescente com o endereço completo.