Glossário

O Que É robots.txt?

robots.txt é um arquivo de texto simples na raiz de um site (ex.: example.com/robots.txt) que informa aos crawlers da web quais URLs o proprietário do site quer ou não que eles acessem, seguindo o Robots Exclusion Protocol.

Entenda o Robots Exclusion Protocol, o que o robots.txt realmente impõe (e o que não impõe), e como os scrapers devem tratá-lo por razões legais e operacionais.

Explicado

robots.txt é uma convenção que remonta a 1994: um arquivo de texto simples na raiz de um domínio que lista quais user-agents (crawlers) têm permissão ou não para acessar quais caminhos de URL. Mecanismos de busca (Google, Bing) e crawlers bem-comportados o respeitam. O arquivo é publicamente legível: você pode buscar o robots.txt de qualquer site diretamente (`curl https://example.com/robots.txt`) e ler o que o proprietário do site quer que os crawlers façam.

O Robots Exclusion Protocol é puramente consultivo. O servidor web não aplica as diretivas do robots.txt: ele apenas as publica. Um crawler mal-comportado pode ignorar o robots.txt e o site ainda assim entregará as URLs solicitadas. A aplicação vem da política dos mecanismos de busca (o Googlebot não indexará páginas proibidas no robots.txt) e de consequências legais/reputacionais quando scrapers comerciais ignoram a intenção explícita do proprietário.

Para scraping comercial, o robots.txt importa de duas formas. Legalmente, ignorar uma diretiva `Disallow` explícita pode ser citado como evidência de acesso de má-fé em casos de CFAA/uso indevido de computador (especialmente nos EUA após a decisão hiQ v LinkedIn). Operacionalmente, sites que proíbem caminhos específicos costumam ter proteção anti-bot mais forte nesses caminhos: `Disallow: /search` geralmente significa que fazer scraping de `/search` acionará defesas mais pesadas do que fazer scraping do restante do site.

Como Funciona

Quando um crawler começa em um domínio, ele busca `/robots.txt` primeiro e analisa as diretivas. O arquivo usa uma gramática simples: blocos `User-agent: ` especificam a qual crawler as regras seguintes se aplicam (`*` para todos), `Disallow: ` bloqueia prefixos de URL específicos, `Allow: ` permite novamente caminhos dentro de um prefixo bloqueado, e diretivas opcionais `Crawl-delay: ` e `Sitemap: ` fornecem metadados.

O crawler então verifica cada URL que considera buscar em relação às regras e pula os caminhos não permitidos. Alguns crawlers armazenam o robots.txt em cache por 24 horas; crawlers de produção maduros atualizam com mais frequência para capturar mudanças.

Tipos

Disallow

Informa aos rastreadores para não acessar URLs que correspondam ao prefixo. `Disallow: /admin/` exclui tudo dentro de /admin/. A diretiva mais comum.

Permitir

Permite novamente caminhos específicos dentro de um prefixo desautorizado. `Disallow: /private/` + `Allow: /private/public-data/` exclui /private/ mas permite /private/public-data/.

User-agent

Direciona para rastreadores específicos. `User-agent: Googlebot` aplica as regras a seguir apenas ao rastreador do Google. `User-agent: *` aplica-se a todos os rastreadores como padrão.

Crawl-delay

Sugere um atraso mínimo (em segundos) entre requisições. Respeitado pelo Bing e pelo Yandex; o Google o ignora (use a configuração de taxa de rastreamento do Search Console).

Sitemap

Aponta para o(s) sitemap(s) XML do site. `Sitemap: https://example.com/sitemap.xml`. Ajuda os crawlers a descobrir todas as URLs que o site deseja indexar.

Casos de Uso Comuns

Informando aos mecanismos de busca quais páginas não indexar
Impedindo que crawlers sobrecarreguem endpoints caros
Direcionando crawlers para o sitemap canônico
Excluindo caminhos administrativos / privados da indexação pública
Especificando crawl-delay para crawlers cooperativos
Documentando a política de crawler em todo o site
Perguntas Frequentes

Perguntas frequentes

Perguntas comuns sobre robots.txt.

Não por si só. O robots.txt é indicativo, o servidor não o impõe, e um crawler não cooperativo pode ignorá-lo. No entanto, tribunais (especialmente nos EUA sob o CFAA) já citaram diretivas explícitas de Disallow como evidência da intenção do proprietário do site, o que enfraquece os argumentos de scrapers em casos de uso indevido de computadores. Trate-o como o piso legal do scraping em conformidade.

Sim, na maioria dos casos. Respeitar o robots.txt é a maneira mais barata de demonstrar acesso de boa-fé caso surja uma disputa, e caminhos não permitidos geralmente têm proteção anti-bot ainda mais forte. Alguns scrapings comerciais realmente ignoram o robots.txt para usos legítimos de dados públicos (análise de ranking em mecanismos de busca, inteligência competitiva) — essa é uma decisão jurídica que você deve tomar com um advogado.

Sempre na raiz: `https://example.com/robots.txt`. Existe exatamente um robots.txt por host. Ele deve ser servido com uma resposta 200 OK e `Content-Type: text/plain` para ser válido.

Você pode solicitar que todos os crawlers cooperativos parem com `User-agent: *` + `Disallow: /`. Crawlers mal-comportados vão ignorar isso. Para realmente bloquear crawlers, você precisa de aplicação no lado do servidor (limitação de taxa, ferramentas antibot como o Cloudflare, listas de permissão de IP). O robots.txt é um pedido educado, não um mecanismo de segurança.

Para rastreamento, sim — o Googlebot não buscará páginas proibidas. Para indexação, na maioria das vezes sim, mas nem sempre. Se uma página proibida for fortemente vinculada a partir de outros lugares, o Google pode incluí-la nos resultados de busca com base apenas no sinal de vinculação, com um aviso de que a página não pôde ser rastreada. Para impedir a indexação completamente, use uma meta tag `noindex`, não o robots.txt.

o robots.txt opera no nível de padrão de URL e é buscado uma vez por sessão de crawling. A tag meta robots (`<meta name='robots' content='noindex'>`) é por página, incorporada no head do HTML. O robots.txt impede o crawling; o meta robots impede a indexação de páginas já rastreadas. Eles têm propósitos diferentes e costumam ser usados juntos.