Robots txt

O arquivo robots.txt é como se fosse um cardápio que informa o que deverá ser consumido e o que não deverá ser.  É como se fosse um cartão de acesso para os mecanismos de busca, mas caso esse o (Robots.txt) não exista o seu site será vasculhado, isso significa que todas as pastas e arquivos serão analisados e provavelmente indexados pelos agentes de busca. Por default os robots (googlebot, por exemplo) são programados para vasculhar e indexar tudo que encontre.

Você pode estar se perguntando?… Mas, eu quero que o Google e os demais mecanismos de busca encontrem o meu site.  Qual seria o motivo de me preocupar com o robots.txt já que ele verifica o meu site sem este artifício?

É verdade, você não precisaria se preocupar com isso. Mas se o seu web software tiver pastas privadas com documentos de sigilo… já imaginou se o seu cliente encontrar esse conteúdo em uma pesquisa no google por exemplo… Ou até mesmo se o projeto estiver em fase de desenvolvimento e a URL de teste vazar, e de alguma forma os Robots encontram e indexam todo projeto, e os concorrentes do seu cliente passarem a ter acesso, e ai?

Mas o que vocal está tentando me dizer?
O Google e outros mecanismos de buscas tém algoritmos sofisticados que varem os códigos do site e eles guardam estas informações para quando for digitada alguma palavra chave no campo de busca, o mesmo cruza o texto digitado com as informações que ele tem guardado e monta a página com os possíveis sites que você possivelmente está procurando.

E esse robots.txt, como ele se comunica com os tais robots?
Assim que GoogleBots visita o seu site ele procura o arquivo robots.txt, que deverá ser salvo no root de seu site e nesse arquivo vamos dizer o que ele vai e o que ele não vai indexar.
A sintaxe é assim:


#comente assim
User-agent: *
Disallow: /

Onde o User-agent são os robots, o “ * ” diz que é para todos os bots, e o Disallow são as pastas que ele não poderá indexar, neste caso o “/” está dizendo que nada poderá ser indexado, mas preste bem atenção porque se você não colocar o “/” ele indexará tudo pois o caractere “/” significa um diretório e se você omitir esse caractere o Robots irá compreender o contrário que você está querendo. Veja o próximo exemplo.


User-agent: *
Disallow:  #Perceba que omitimos o / e com isso a propriedade Disallow ficará sem sentido e o bot indexará todo o seu site

O exemplo também pode ser feito utilizando uma meta tag.


// Assim estamos dizendo que nada poderá ser indexado
     <META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

Vamos a outro exemplo que tem na Wikipédia:


User-agent: Googlebot
#As pastas que serão visitadas pelo Googlebot
Allow: /post
Allow:  /portifolio
#As pastas que não serão visitadas pelo Googlebot
Disallow: /confidencial
Disallow: /protegido

Este exemplo especifica o bot (Googlebot) e informa as pastas que não serão indexadas. É importante ter em mente que as demais pastas do site serão indexadas normalmente.

Alguns robots:

  • Google: User-agent: Googlebot
  • Yahoo: User-agent: Slurp
  • MSN: User-agent: msnbot.
  • Todos os mecanismos: User-agent: *.

Observações importantes

O arquivo robots.txt é uma técnica importante de SEO (Search Engine Optimization), mas não é um arquivo de segurança para o seu projeto, ele apenas sinaliza para os mecanismos de busca o que deve e o que não deve ser acessado. Outro fator é que é um arquivo .txt e fica na raiz do site ele poderá ser acessado por qualquer pessoa e nele tem informações dos caminhos de sua aplicação e com isso um hacker mal intencionado poderá ter uma brecha para invadir sua aplicação. Antes de ir implementando essa técnica é importante conversar com os responsáveis pela segurança de redes do seu projeto ou dependendo da sua necessidade você poderá substituir o .txt pela meta tag nas páginas especificas.

Em suas buscas pelo assunto você também poderá ver outras nomenclaturas para as engine de busca que eu me refiro aqui como robots, você poderá achar algo como spiders, crawlers entre outros que se referem à mesma coisa que é um algoritmo de busca.