Robots.txt: história, o que é e como utilizar - Guia Mais Completo

Este conteúdo será o mais completo e atualizado para você estudar e entender o que é, para que serve e como utilizar seu arquivo robots.txt (REP - Protocolo de Exclusão de Robos) da melhor maneira.

Antes de falarmos sobre os principais erros e como utilizar corretamente o arquivo, em primeiro lugar, é importante que você saiba e entenda por que os padrões e protocolos para exclusão de robôs foram desenvolvidos.

História do Robots.txt

No início dos anos 90, os sites eram muito mais limitados do que são hoje em todos os aspectos. Naquela época, não era incomum que os robôs/softwares de rastreamento (vamos chamá-los de rastreadores daqui para frente) caíssem acidentalmente em sites e diretórios profundos, até mesmo em diretórios e páginas onde não deveriam chegar, sobrecarregando um servidor, consumindo toda a largura de banda disponível.

Em 1993 e 1994 houve ocasiões em que os primeiros rastreadores desenvolvidos rastreavam servidores da WWW (World Wide Web) onde não eram bem-vindos por várias razões. Às vezes, essas razões eram específicas do robô, por um comportamento desorganizado, por exemplo: os rastreadores sobrecarregavam os servidores com solicitações rápidas (hoje não seria um problema, mas naquela época era), ou recuperavam os mesmos arquivos repetidamente por localizar links do mesmo local em outras páginas ou diretórios diferentes. Em outras situações, os robôs percorriam partes de sites que não eram adequados, como páginas de login, e o que tinham por trás delas e suas milhões de variações, o que gerava informações duplicadas, temporárias e totalmente desnecessárias.

Martijn Koster - Responsável por desenvolver o REP

Com estes incidentes acontecendo frequentemente, em fevereiro de 1994 Martijn Koster, holandês e engenheiro de software, se deparou com um grande problema em seus servidores após um rastreamento desenfreado. Então decidiu criar o primeiro padrão robots.txt com objetivo de criar regras e/ou orientações para estes rastreadores. Em 03 de julho de 1994 o padrão foi anunciado e passou a ser adotado aos poucos.

Robots é algo que garanta a segurança?

Existem centenas, se não milhares de rastreadores na WWW, e vale ressaltar que este padrão não é algo oficial, apoiado por um órgão de normas, governamental ou de propriedade de qualquer organização comercial privada. Ele não é imposto por ninguém e não há garantia de que todos os rastreadores que possam rastrear seu site o respeitarão, mesmo que o tenha.

Não posso bloquear rastreadores ruins?

Em teoria, sim, na prática, não (rs). Se o rastreador obedecer ao /robots.txt, e você souber o nome que ele procura no campo User-Agent (falaremos disso mais adiante) para seguir a regra, ótimo. Neste caso, você pode criar uma seção no seu /robotst.txt para excluí-lo se quiser. Mas vou ter que lhe dizer, todos os rastreadores "ruins" ignoram o arquivo robots.txt, tornando isso inútil.

Então não tenho saída?

Infelizmente a realidade é NÃO. Mas vamos falar em outro formato de bloqueio. Se o rastreador na qual você pretende bloquear operar a partir de um único endereço IP, você poderá bloquear seu acesso ao seu servidor por meio da configuração do servidor ou com um firewall de rede.

Agora, se o rastreador operar em vários endereços IP diferentes (o que é algo normal), isso se torna mais difícil, eu ainda diria impossível. A melhor opção seria utilizar configurações avançadas de regras de firewall, que bloqueia automaticamente o acesso a endereços IP que fazem muitas conexões - Mas não é uma solução adequada, pois essa regra pode ser aplicada a rastreadores que você gostaria que rastreassem seu site e talvez gerar problemas maiores.

Por mais que isso possa ser um pouco preocupante, você não deve encucar com isso, pois a internet, por sí só, não é um ambiente seguro.

Para que serve o robots.txt?

O arquivo robots.txt faz parte do padrão de exclusão de robôs (REP), nada mais é, que um grupo de padrões da web que organiza e dita regras de como os rastreadores rastreiam conteúdos na internet.

O Robots.txt ao contrário do que alguns pensam, que se trata de um arquivo simples que pode ser criado para instruir os rastreadores (geralmente de mecanismos de pesquisas) sobre como rastrear páginas em seus sites. Por mais que ele seja um arquivo de texto "simples", se não utilizado de maneira correta, ou seja, não estiver programado corretamente, um irrelevante dígito, pode ser um grande tiro no próprio pé, por tanto, leia com atenção pois este conteúdo, pois o objetivo é eliminar qualquer dúvida que você tenha sobre o arquivo robtos.txt e como programa-lo corretamente.

Primeiras Definições

O arquivo robots.txt precisa estar no diretório de nível superior do host (raiz do FTP), podendo ser acessado por meio do protocolo e número de porta adequados. Os protocolos geralmente aceitos para robots.txt são todos baseados em URI e, no caso específico da Pesquisa Google (por exemplo, rastreamento de sites), são "http" e "https". Para "http" e "https", o arquivo robots.txt é buscado por meio de uma solicitação GET não condicional HTTP.

Agora vamos começar a entender como programar o robots.txt. Para isso, você deve entender os elementos iniciais abaixo. 

Rastreador

"Rastreador" é um termo genérico para qualquer programa (como um robô ou indexador) usado para detectar e examinar sites automaticamente seguindo links de uma página para outra. O principal rastreador do Google se chama Googlebot.

De modo geral, um rastreador acessa automática e recursivamente URLs conhecidos de um host que expõe conteúdo que pode ser acessado com navegadores padrão da Web. À medida que novos URLs são encontrados (por vários meios, como a partir de links em páginas existentes e rastreadas ou de arquivos de Sitemap), eles também são rastreados da mesma forma.

User-Agent

Em resumo, é um meio de identificar um rastreador específico ou um conjunto de rastreadores. Caso queira verificar e conhecer um pouco mais a fundo os rastreadores do Google, você pode acessar a visão geral dos rastreadores.

O token do user agent é incluído na linha User-agent: do robots.txt quando criamos as regras de rastreamento do site e corresponde a um tipo de rastreador. Existem diversos rastreadores do Google, mas vou trazer aqui apenas os principais: Googlebot, Googlebot-News, Googlebot-Image, Googlebot-Video, Googlebot-Mobile, Mediapartners-Google e Adsbot-Google.

Diretivas

É uma lista de diretrizes aplicáveis a um rastreador ou grupo de rastreadores definidos no arquivo robots.txt. Existem diversas diretivas, mas você deve se preocupar apenas com a disallow, que especifica caminhos que não devem ser acessados e allow, que especifica caminhos que podem ser acessados pelos rastreadores designados. 

User-agent: [user-agent name]Disallow: [URL string not to be crawled]

Em resumo, basicamente o código de seu arquivo robots.txt será muito simples e seguira sempre da mesma maneira, você informa o User-Agente, podendo ser um ou mais e na sequência informando a diretiva como por exemplo Allow e Disallow.

Dicas Importantes

A primeira dica que deixo, é para você ficar ligado com erros de digitação, um pequeno deslize e você pode comprometer toda indexação de seu site, então fique atento. A segunda é que quando nenhum caminho é especificado (por um erro de digitação), a diretiva é ignorada!

Só utilize a diretiva Allow, se você precisar que o Google rastreiem uma pasta (diretório) ou arquivo que esteja dentro de uma pasta ou diretório que você já havia aplicado disallow.

Principais diretivas para Robots.txt

Lembra que falamos acima, que quando a diretriz não tiver uma especificação de endereço ela seria ignorada? Pois é, este seria um caso típico. Quando quiser permitir o rastreamento e indexação completo de seu site, utilize como abaixo.

User-agent: *
Disallow:

Quando não quiser que os rastreadores não rastreiem e não indexem nenhum conteúdo de seu site, utilize:

User-agent: *
Disallow: /

Quando não quiser que um diretório não seja rastreado e indexado, com exceção do arquivo ou subdiretório, utilize:

User-agent: *
Disallow: /diretorio
Allow: /diretorio/subdiretorio/

Quando quiser bloquear um diretório ou arquivo para um User-Agent específico, como por exemplo o Googlebot-Image, utilize:

User-agent: Googlebot-Image
Disallow: /diretorio

Quando quiser bloquear um subdomínio a todos os rastreadores, utilize:

User-agent: *
Disallow: subdominio.seusite.com.br/

Robots.txt se aplicam em subdomínios?

Uma das principais dúvidas que os analistas sempre possuem é quando algum projeto no qual está trabalhando, possui um subdomínio. Ressalto que o domínio deve ter um único arquivo robots e as diretrizes para subdomínios e diretórios de subdomínios, devem estar no mesmo robots.txt: na raiz do FTP. Ou seja, é incorreto utilizar um robot.txt em um subdomínio, os rastreadores não verificam o arquivo robots.txt em subdomínios.

Não consigo acesso ao robots.txt na minha plataforma, e agora?

Caso você use um serviço de sites prontos como Wix, Drupal ou Blogger, talvez não seja necessário (ou possível) editar seu arquivo robots.txt diretamente.

Para ver se sua página foi rastreada e indexada, pesquise a URL correspondente no Google. Caso localize uma URL que você não gostaria que estivesse indexado, você pode solicitar a remoção da URL através de seu Search Console.

Como validar robtos.txt?

Existem algumas maneiras simples de validar o código de seu robots.txt e garantir que nenhum erro de digitação, ou sintaxe possa comprometer o rastreamento de seu site.

O Google oferecia a ferramenta de teste do robots.txt na versão antiga do Search Console. Porém, com a nova versão, algumas ferramentas foram retiradas, dentre elas, o teste do robots. Mas não se preocupe, pois você pode acessar a ferramenta através do link: teste do robots.txt.

Tenho certeza de que é apenas uma questão de tempo, do Google liberar a ferramenta de teste do robots.txt na versão nova do GSC, assim como fez recentemente com o Remove Tools, que também havia sido retirado na nova versão, mas agora foi introduzida novamente. 

Após clicar no link acima, você será redirecionado para a página como abaixo. É importante que já esteja logado em sua conta do GSC. Nela você poderá selecionar o domínio que quer testar o robots.txt em "Selecione uma propriedade"

Validação de Robots.TXT via GSC

Após isso, você será direcionado para o validador e poderá testar seu arquivo robots.txt, seguindo os paços abaixo:

  1. Abra a ferramenta de testes para seu site e role o código do robots.txt para baixo até encontrar os avisos de sintaxe e erros de lógica destacados. O número de avisos de sintaxe e erros de lógica é mostrado logo abaixo do editor e ao lado do número da linha.
  2. Digite o URL de uma página do seu site na caixa de texto na parte inferior da página.
  3. Selecione o user agent que deseja simular na lista suspensa à direita da caixa de texto.
  4. Clique no botão TESTAR para acessar o teste.
  5. Verifique se no botão TESTAR aparece o texto ACEITO ou BLOQUEADO para descobrir se o URL inserido foi bloqueado para os rastreadores da Web do Google.
  6. Edite o arquivo na página e teste novamente, se necessário. As alterações feitas na página não serão salvas no seu site. Para isso, veja a próxima etapa.
  7. Copie as alterações no seu arquivo robots.txt do seu site. Essa ferramenta não faz alterações ao arquivo no seu site, somente faz testes em uma cópia hospedada na própria ferramenta.

 Outras ferramentas para validar o Robots.txt

Vou separar outras ferramentas que podem fazer a validação de seu robots.txt, sem precisar confirmar administração do domínio, com o GSC.

Outras maneiras de bloquear utilizando meta-tag robots

Uma outra maneira de bloquear a indexação de uma determinada página é utilizar a meta-tag robots. Este tipo de meta-tag, deve estar sempre dentro de sua página, e com ela, você sinaliza aos rastreadores para não a indexar.

<!DOCTYPE html>
<html><head>
<meta name="robots" content="noindex" />
(…)
</head>
<body>(…)</body>
</html>

A metatag robots no exemplo acima instrui os mecanismos de pesquisa a não mostrar a página nos resultados. O valor do atributo name (robots) especifica que a diretiva é aplicada a todos os rastreadores. Para gerenciar um rastreador específico, substitua o valor robots do atributo name pelo nome do rastreador que está sendo abordado. Rastreadores específicos também são conhecidos como user agents (um rastreador usa seu user agent para solicitar uma página). O rastreador da Web padrão do Google tem o nome de user agent Googlebot. Para evitar que somente o Googlebot rastreie sua página, atualize a tag da seguinte forma:

<meta name="googlebot" content="noindex" />

Os mecanismos de pesquisa podem ter diferentes rastreadores para propriedades ou efeitos distintos. Veja a lista completa de rastreadores do Google. Por exemplo, para exibir uma página nos resultados da pesquisa na Web do Google, mas não no Google Notícias, use a seguinte metatag:

<meta name="googlebot-news" content="noindex" />

Para especificar vários rastreadores individualmente, use diversas metatags robots:

<meta name="googlebot" content="noindex">
<meta name="googlebot-news" content="nosnippet">

Utilizar o Robots.txt para sinalizar o Sitemap

Por fim, quero trazer uma última dica para lhe ajudar a deixar seu robots.txt bem otimizado. Você pode declarar os sitemap.xml de seu site através do robots.

Como sabemos que o robots.txt é o primeiro arquivo que o rastreador irá buscar, nada melhor que apontar nele os sitemaps.xml e através deles o Google poder rastrear todas as páginas de seu site.

Se você não possui um Sitemap XML, não se preocupe, pois esse recurso não é algo obrigatório, é apenas uma maneira de facilitar um pouco a vida do rastreador. Mas sugiro que providencie um sitemap.xml de seu site.

Você pode ter várias declarações XML de Sitemap XML em seu arquivo, como verá abaixo. No entanto, se você tiver um índice de Sitemap, deverá especificar apenas esse índice e não cada Sitemap individual. Da uma olhada como ficariam os exemplos de apontamento do sitemap.xml no robots.txt.

Vários Sitemaps XML

Sitemap: https://www.seudominio.com.br/sitemap-produto.xml
Sitemap: https://www.seudominio.com.br/sitemap-categoria.xml
Sitemap: https://www.seudominio.com.br/sitemap-servicos.xml

Índice XML de Sitemap

Mapa do site: https://www.domain.com/sitemap-index.xml

O Google não tem preferência se essas declarações devem ficar no início ou no final do robots.txt, mas para fins de organização, eu particularmente prefiro manter ao final.

Como acessar o robots.txt no Wordpress?

Você terá diversas formas de acessar e editar seu robots.txt no Wordpress, as mais fáceis são via plugins, como o Yoast SEO e All in  One SEO Pack que são as principais ferramentas de SEO para Wordpress e também diretamente pelo FTP.

Robots.txt via Yoast SEO

Após baixar e instalar o Yoast SEO em seu wordpress, navegue até o menu SEO > Ferramentas e clique em Editor de Arquivo.

Yoast SEO para Robots.txt

Você será redirecionado para página de edição, basta clicar em Criar arquivo robots.txt

Editor de Robots.txt via Yoast SEO

Após isso, você será redirecionado a página de edição de seu arquivo robots.txt através do Yoast. Então toda e qualquer alteração feita por aí, não esqueça de verificar com ferramentas se tem algo errado.

Salvando alterações no robotst.txt via Yoast SEO

Robots.txt via All in One SEO

Após baixar e instalar o All in One SEO em seu Wordpress, vá até o menu All in One SEO > Gerenciador de Ferramentas no próprio painel de controle do WordPress. Nela, você vai encontrar uma opção chamada Robots.txt acompanhada de um botão Activate (Ativar). Clique nela para ativá-lo.

Ativado Robots.txt via All in One SEO

Assim que você clicar em ativar, automaticamente aparecerá um novo submenu de Robots.txt, basta clicar nele para cair diretamente no editor do robots pelo All in One SEO. Aqui vale ressaltar que ele é um pouco diferente do Yoast.

Conforme imagem abaixo, você vai notar que vai informar o UserAgent, a diretiva, sendo allow ou disallow e por fim o endereço. Para quem não tem muito conhecimento e tem medo de fazer algo errado ele é mais indicado.

Editando o Robots.txt via All in One SEO

Como acessar o Robots.txt via FTP simples

Existem diversas maneiras para conectar-se ao FTP de um site, vou utilizar aqui neste exemplo o mais simples de todos. Abra o explorador de arquivos do windows e digite na barra: ftp.seudominio.com.br e de um enter.

Basta inserir os dados de usuário e senha e fazer login. Você será direcionado para a raiz de seu FTP e lá, caso já tenha um arquivo robots.txt, basta copiar o arquivo para algum local em sua máquina, abri-lo em um bloco de notas e editá-lo.

Depois de editar, basta arrastar ou colar no mesmo local e substituir o arquivo, pronto, seu robots estará atualizado. Não se esqueça de verificar com ferramentas se está tudo correto conforme mencionei acima.

Caso você tente fazer login e retorne algum erro, sugiro que entre em contato com o suporte de seu servidor, pois alguns servidores só permitem conexões seguras como SFTP.

Como acessar Robots.txt via Cpanel

Alterar Robot.txt via Cpanel

Por fim, uma última maneira bem fácil para editar seu arquivo robots.txt, é utilizando o painel de hospedagem Cpanel. Na maioria dos servidores, para acessá-lo, basta jogar o endereço em seu navegador: www.seudominio.com.br/cpanel ou www.seudominio.com.br:2082 

Após fazer login você deve clicar na opção Gerenciador de Arquivos, você será redirecionado automaticamente.

Gerenciador Cpanel para alterar Robots.txt

Vá até a raiz do FTP e faça o download do arquivo caso já tenha para editá-lo através de um bloco de notas.

Após alterar o robots.txt, você pode fazer o upload do arquivo para o mesmo local e pronto. Não se esqueça de verificar se está tudo certo com seu arquivo após fazer upload.

Últimas Atualizações: [01/07/2019]

O Google anunciou hoje, que agora o está liderando uma frente com o autor Martijn e desenvolvedores para tornar o protocolo oficial. 

Queríamos ajudar os proprietários e desenvolvedores de sites a criar experiências incríveis na Internet, em vez de nos preocuparmos em como controlar os rastreadores. Juntamente com o autor original do protocolo, webmasters e outros mecanismos de pesquisa, documentamos como o REP é usado na web moderna e o enviamos à IETF.

Google

 Algumas coisas foram alteradas veja a lista abaixo:

  • A seção "Linguagem dos requisitos" foi removida deste documento porque a linguagem é específica de um rascunho da Internet.
  • Agora o robots.txt aceita todos os protocolos baseados em URI.
  • O Google acompanha pelo menos cinco saltos de redirecionamento. Como não havia regras disponíveis, os redirecionamentos serão seguidos por pelo menos cinco saltos e, se nenhum robots.txt for encontrado, o Google o tratará como um erro 404 no robots.txt. O manuseio de redirecionamentos lógicos para o arquivo robots.txt com base no conteúdo HTML que retorna 2xx (frames, JavaScript ou redirecionamentos do tipo meta-atualização) não é recomendado, e o conteúdo da primeira página é usado para localizar regras aplicáveis.
  • Em erros 5xx, se o robots.txt ficar inacessível por mais de 30 dias, a última cópia em cache será usada ou, se ela não estiver disponível, o Google presumirá que não há restrições de rastreamento.
  • O Google trata solicitações malsucedidas ou dados incompletos como um erro do servidor.
  • Agora os "registros" são chamados de "linhas" ou "regras", conforme apropriado.
  • O Google não é compatível com o gerenciamento de elementos  que apresentam erros simples ou de digitação (por exemplo, "useragent" em vez de "user-agent").
  • Atualmente o Google impõe um limite de tamanho de 500 kibibytes (KiB) e ignora o conteúdo que ultrapassar esse valor.
  • A sintaxe formal foi atualizada para ser uma Forma aumentada de Backus-Naur (ABNF, na sigla em inglês) válida, de acordo com RFC5234 (em inglês), e para cobrir caracteres UTF-8 no robots.txt.
  • A definição de "grupos" foi atualizada e ficou mais curta e objetiva. Também foi adicionado um exemplo para um grupo vazio.
  • As referências ao esquema de rastreamento AJAX que teve o uso suspenso foram removidas.

Vale ressaltar que estes são itens exclusivos para o protocolo de exclusão de robos (robots.txt) do Google.