Um arquivo robots.txt e um texto pequeno na raiz de um host que diz aos crawlers quais caminhos de URL eles podem buscar. Nao e senha, nao e tag noindex e nao esconde segredos. Feito certo, Googlebot, Bingbot e outros gastam crawl budget nas paginas que importam. Feito errado, voce bloqueia CSS, esconde um sitemap ou vaza um staging na busca. Este guia cobre as regras que ainda importam em 2026, a diferenca entre Disallow e noindex, e os erros que custam ranking. Quando quiser um arquivo para colar em https://seu-dominio/robots.txt, use o Gerador de robots.txt - roda no navegador e nao faz upload dos caminhos.
Resposta rapida
Salve robots.txt na raiz de cada host (https://www.example.com/robots.txt). Use grupos User-agent com prefixos Allow e Disallow, mais uma linha Sitemap: com URL https absoluta. Allow: / e o default usual de site publico. Disallow: / e para staging. robots.txt so pede que crawlers nao busquem; URLs bloqueadas ainda podem aparecer na busca se forem linkadas. Use meta robots noindex (ou X-Robots-Tag) quando quiser tirar uma URL dos resultados. Nunca use robots.txt para esconder dados privados - o arquivo e publico.
O que robots.txt e (e o que nao e)
robots.txt e o Robots Exclusion Protocol: um conjunto voluntario de regras que crawlers consultam antes de pedir outras URLs daquele host. Bots bem-comportados (Googlebot, Bingbot, muitos crawlers de SEO) respeitam. Scrapers e alguns fetchers de IA podem ignorar. Trate o arquivo como dica de crawl, nao como controle de seguranca.
- E um arquivo de texto publico. Qualquer um pode abrir https://seu-host/robots.txt e ler cada Disallow que voce escreveu.
- E por host. www.example.com e example.com precisam cada um do seu arquivo se ambos servirem conteudo.
- Nao autentica usuarios. Uma linha Disallow nao para um navegador, um scraper nem quem tem a URL.
- Nao tira URLs do Google sozinho. Para isso existem noindex (e remocoes no Search Console).
Buscadores ainda precisam buscar CSS, JavaScript e imagens para renderizar a pagina como uma pessoa ve. Bloquear esses assets e um jeito classico de derrubar como o Google entende o layout. Um bom robots.txt e chato: libera o site publico, bloqueia alguns prefixos de admin e aponta para o sitemap.
Onde o arquivo precisa viver
Crawlers so pedem um caminho: /robots.txt naquele host. Um arquivo em qualquer outro lugar e ignorado.
- Correto: https://www.example.com/robots.txt
- Ignorado: https://www.example.com/blog/robots.txt ou https://www.example.com/static/robots.txt
- www e apex sao hosts diferentes. Se ambos respondem, cada um precisa de um arquivo (ou um deve redirecionar o outro antes dos crawlers olharem).
- Sirva como text/plain com HTTP 200. Soft 404 em HTML, muro de login ou 500 parecem arquivo ausente ou quebrado.
- Deixe na raiz do host canonico que voce quer indexar, batendo com o host do Search Console.
A sintaxe que realmente importa
Um robots.txt e grupos de regras. Cada grupo comeca com uma ou mais linhas User-agent, depois linhas Allow e Disallow daquele grupo. Linhas Sitemap ficam fora dos grupos e valem para todo crawler que as entende.
- User-agent: * - o grupo default para crawlers sem um grupo mais especifico.
- User-agent: Googlebot - um grupo nomeado. O Google usa o grupo mais especifico que casa, nao * mais Googlebot juntos.
- Disallow: /admin/ - pular caminhos que comecam com /admin/.
- Allow: / - permitir o site inteiro. Um Disallow vazio e o jeito antigo de dizer a mesma coisa.
- Sitemap: https://www.example.com/sitemap.xml - uma URL https absoluta do seu sitemap XML.
- Comentarios comecam com #. Linhas em branco separam grupos. Caminhos distinguem maiusculas.
O Google aceita * (qualquer sequencia) e $ (fim da URL) em caminhos Allow e Disallow. O Bing e parecido. Nao invente diretivas que o Google ignora. Crawl-delay e o exemplo usual: o Google nao usa. Use as configuracoes de crawl do Search Console se precisar desacelerar o Googlebot.
Allow versus Disallow
Disallow lista prefixos de caminho que o crawler deve pular. Allow lista prefixos que ele pode buscar, util quando um pai esta bloqueado. O Google escolhe o caminho coincidente mais longo, nao a primeira linha do arquivo.
- Disallow: / significa pular tudo neste host. Use em staging, nao no site publico.
- Allow: / (ou nenhuma linha Disallow) significa buscar o host inteiro.
- Disallow: /tmp mais Allow: /tmp/public/ deixa o Googlebot entrar na pasta publica e pular o resto de /tmp.
- Um Allow mais especifico pode reabrir um caminho que um Disallow mais curto fechou.
- Barra final importa. /admin e /admin/ sao prefixos diferentes. Case com as URLs que seu CMS realmente serve.
O match mais longo ganha
Se uma linha diz Disallow: /blog e outra Allow: /blog/how-to, o Google trata /blog/how-to como permitido porque esse prefixo e mais longo. Nao dependa da ordem das linhas. Escreva os prefixos que voce quer e teste algumas URLs no Search Console.
robots.txt versus noindex
Esta e a distincao que salva (ou quebra) a indexacao. robots.txt e noindex fazem trabalhos diferentes. Misturar os dois e como URLs ficam presas na busca sem titulo e sem snippet.
- robots.txt Disallow - por favor nao busque esta URL. O crawler ainda pode lista-la se outras paginas linkarem.
- noindex (meta robots ou X-Robots-Tag) - voce pode buscar esta URL, mas nao a mostre nos resultados.
- Se voce faz Disallow de uma URL, o Google muitas vezes nao ve um noindex nessa pagina, porque nunca baixa o HTML.
- Para tirar uma URL publica do indice, permita o crawl e coloque noindex na pagina. Depois espere o recrawl.
- Para esconder um host privado, nao confie so em robots.txt. Use HTTP auth, listas de IP ou tire da internet publica.
Uma pagina de obrigado, uma URL de faceta ou resultados de busca interna costumam querer noindex (e crawl) para o Google ver a tag. Um host de staging quer Disallow: / mais controle de acesso de verdade. Um admin de CMS pode usar os dois: Disallow do prefixo para nao gastar crawl budget, e noindex se essas URLs forem alcancaveis sem login.
Melhores praticas para um site publico
A maioria dos sites de ferramentas e brochure precisa de um arquivo curto e chato. Comece no allow-all, adicione um sitemap e depois faca Disallow so dos prefixos que nao devem queimar crawl budget.
- Permita o site publico inteiro (User-agent: * e Allow: /).
- Adicione uma linha Sitemap: com a URL https absoluta do seu sitemap XML.
- Opcionalmente faca Disallow de caminhos de admin como /admin/ ou /wp-admin/.
- Nao faca Disallow de CSS, JavaScript, fontes ou imagens que o Google precisa para renderizar.
- Nao faca Disallow dos prefixos de locale (/es/, /pt/, /fr/, /de/) se essas URLs devem ranquear.
- Deixe a limpeza de parametros no Search Console ou em canonicals, nao num labirinto de Disallow.
- Reveja o arquivo ao vivo depois de cada deploy. Um Disallow: / esquecido de staging e uma queda comum.
Staging, preview e hosts privados
Se um host nunca deve aparecer na busca, Disallow: / e a metade robots.txt do trabalho. Nao e o trabalho inteiro. Links, sitemaps e propriedades do Search Console ainda podem expor as URLs.
- Coloque staging no proprio host (staging.example.com), nao num caminho publico de producao.
- Disallow: / nesse host, e sirva noindex em cada resposta HTML se o host for alcancavel.
- Prefira autenticacao HTTP ou uma VPN. robots.txt nao para um crawler que ignora o protocolo.
- Nao envie um sitemap de staging para a propriedade de producao do Search Console.
- Quando clonar producao para staging, troque o robots.txt de producao na hora. O arquivo allow-all e o perigoso aqui.
A linha Sitemap
A diretiva Sitemap: e independente dos grupos User-agent. Google, Bing e outros usam como dica de descoberta. Ela nao anula Disallow. Se voce lista uma URL no sitemap e tambem faz Disallow, manda sinais mistos.
- Use uma URL https absoluta. Sitemap: /sitemap.xml nao e valido.
- Voce pode listar mais de um sitemap (indice mais filhos, ou arquivos por locale).
- O host do sitemap deve bater com o de robots.txt quando der. Sitemap em outro host pede setup extra no Search Console.
- Deixe o sitemap so com URLs indexaveis. Paginas de obrigado, carrinho e clones de staging nao entram.
Curingas, ancoras de fim e comentarios
O parser de robots.txt do Google aceita dois tokens extras nos caminhos. Use com parcimonia. Um arquivo longo de curingas e mais dificil de testar do que alguns prefixos exatos.
- * casa qualquer sequencia. Disallow: /*.json$ pula URLs que terminam em .json.
- $ casa o fim da URL. Sem ele, *.json tambem casaria com .json.html.
- # comeca um comentario ate o fim da linha. Nao coloque segredos, API keys nem hostnames internos em comentarios.
- Se um crawler nao aceita * ou $, pode trata-los como literais. Fique em prefixos simples quando der.
Exemplo pratico
Um site publico de marketing que tambem tem admin de CMS pode publicar este arquivo. O preset allow-all do gerador mais um sitemap e duas linhas Disallow produz a mesma forma.
- User-agent: *
- Allow: /
- Disallow: /admin/
- Disallow: /wp-admin/
- Sitemap: https://www.example.com/sitemap.xml
Esse arquivo diz a todos os crawlers para buscar o site publico, pular os dois prefixos de admin e olhar o sitemap XML. Nao faz noindex das URLs de admin (o login ja deveria esconde-las). Nao bloqueia /_next/ nem /images/. Depois de colar, abra a URL /robots.txt ao vivo no navegador e confirme que os bytes batem com o que voce copiou.
Erros comuns
- Colocar o arquivo num subdiretorio. Crawlers so buscam /robots.txt.
- Fazer Disallow de CSS, JavaScript ou fontes para o Google nao conseguir renderizar a pagina.
- Usar Disallow para 'esconder' uma pagina que voce ainda quer tirar do indice. Use noindex e permita o crawl.
- Deixar Disallow: / em producao depois de clonar o staging.
- Uma linha Sitemap: relativa. Precisa ser URL https absoluta.
- Bloquear caminhos de og:image. Crawlers sociais ainda precisam buscar a imagem. Veja o guia completo de tags Open Graph.
- Erro de maiusculas (/Admin vs /admin/). Caminhos distinguem maiusculas.
- Linhas Crawl-delay que o Google ignora e dao falsa sensacao de controle de ritmo.
- Escrever segredos em comentarios. O arquivo e publico.
- Assumir que todo bot respeita o arquivo. Alguns scrapers ignoram. Isso e problema de acesso, nao de robots.txt.
Perguntas frequentes
robots.txt esconde paginas do Google?
Nao. Pede ao Googlebot que nao busque essas URLs. Se outras paginas linkam uma URL bloqueada, o Google ainda pode lista-la com pouco ou nenhum snippet. Para tirar uma URL dos resultados, permita o crawl e adicione noindex.
Onde eu coloco robots.txt?
Na raiz do host: https://www.example.com/robots.txt. Esse caminho exato e o unico que os crawlers pedem. Um arquivo numa pasta e ignorado.
Todo site deve permitir todos os crawlers?
Sites publicos que querem ranquear costumam comecar com User-agent: * e Allow: /. Staging, preview e hosts privados devem Disallow: / e adicionar controle de acesso real. Grupos nomeados (Googlebot, Bingbot) sao para excecoes, nao para o arquivo do dia a dia.
Preciso de uma linha Sitemap?
Sim quando voce tem um sitemap XML. E uma dica de descoberta, nao um interruptor de ranking, e nao anula Disallow. Use uma URL https absoluta. Voce tambem pode enviar o mesmo sitemap no Search Console.
Crawl-delay ainda e util?
Nao para o Google. O Google ignora Crawl-delay. Se o Googlebot estiver agressivo demais, use as configuracoes de crawl do Search Console. Outros bots podem honrar, mas este guia (e o gerador) ficam em User-agent, Allow, Disallow e Sitemap.
Como testo o arquivo?
Abra a URL /robots.txt ao vivo e leia. Depois use Inspecao de URL no Search Console em algumas URLs permitidas e bloqueadas. Para um passo a passo do construtor, veja Como usar o Gerador de robots.txt.
Monte o arquivo no navegador
Comece em allow all, block all ou block admin e copie a saida ao vivo. Nada e enviado:
- Gerador de robots.txt - presets, caminhos Allow/Disallow e uma URL de sitemap opcional.
- Como usar o Gerador de robots.txt - guia passo a passo da mesma ferramenta.
- Gerador de tags Open Graph - cards de share que crawlers sociais ainda precisam poder buscar.
- Gerador de slugs - slugs de URL limpos para as paginas que voce quer crawlear.
- Todas as ferramentas SEO - o indice completo da categoria.
Gere robots.txt - gratis
Abra o Gerador de robots.txt, escolha um preset, adicione caminhos e uma URL de sitemap e copie o arquivo. Salve na raiz do site. Tudo roda no navegador.