Por quê?
Muitas vezes precisamos “esconder” determinados diretórios, arquivos e até mesmo sites inteiros dos gulosos robôs de busca, também conhecidos como robots e webcrawlers. Com um simples arquivo texto chamado robots.txt, podemos fazer isso!
Esse arquivo deve ser salvo no diretório ROOT do seu servidor web com o nome de robots.txt de forma que possa ser acessível a todos como esse exemplo:
http://www.seusite.com.br/robots.txt
O que são Robot’s?
Robot (ou robô) é um programa de computador que percorre automaticamente as páginas da Internet em busca de documentos, a fim de indexá-los, validá-los ou monitorar alterações de conteúdo.
Hoje em dia, alguns robôs estão tão avançados que podem aceitar um sitemap e até preencher um formulário para ver a saída no navegador, como é o caso do GoogleBot, motor de busca do Google.
O arquivo robots.txt foi proposto como um padrão para esses mecanismos, onde nós, desenvolvedores podemos informar diretórios e arquivos que possam ou não ser indexados por eles. Não podemos confundir com possibilidade de acesso, esse arquivo, simplesmente faz como que o conteúdo não seja indexado. Para proibir acesso, utilizamos as permissões de arquivos e/ou o arquivo .htaccess.
O arquivo robots.txt
Existem alguns sites que geram esse arquivo conforme o preenchimento de um formulário, mas vou explicar aqui como você mesmo pode criar o seu.
Basicamente ele é dividido em três partes:
- Definição dos motores
- Permissões
- Sitemap (somente para Yahoo, Google e MSN)
User-agent
Possíveis valores para User-agent, são:
- Google: User-agent: Googlebot
- Yahoo: User-agent: Slurp
- MSN: User-agent: msnbot
- Todos os mecanismos: User-agent: *
Seguindo nosso exemplo, nosso robots.txt ficaria da seguinte forma:
User-agent:Slurp Disallow: / Allow: /produtos User-agent:Googlebot Allow: / Disallow: /produtos
2. Permissões
As permissões são facilmente definidas pelas diretivas Allow e Disallow, para permitir e negar, respectivamente os diretórios ou arquivos sequentes.
User-agent:* Allow:/ Disallow: /admin Disallow: /fotos Allow: /produtos Allow: /artigos
O Exemplo acima utiliza o caractere “/” para definir todo o site e nega a indexação dos diretórios admin e fotos, liberando os diretórios produtos e artigos.
Assim como em expressões regulares, temos os caractéres “*” (asterísco) e “$” (sifrão), que indicam, “qualquer coisa” e “terminado com” respectivamente, alguns exemplos abaixo:
User-agent:* Disallow:produtos/*.png$ Allow:produtos/ Disallow:admin/*.js Disallow:fotos/*?*cat=cordas
O Googlebot, preenche os formulários contidos na página para verificar a resposta obtida. Para bloquearmos esse tipo de ação, caso estejamos utilizando o método GET, podemos fazer da seguinte forma.
</pre> <form action="search.php?s=" method="get">...</form> <pre>
Nesse caso precisamos negar a indexação de “search.php?s” para isso acrescentaremos a seguinte linha na seção do googlebot no nosso robots.txt
User-agent: Googlebot Disallow: /search.php?s=*
Quando especificar mais de um motor ele ignora o resto e passa a utilizar somente as especificações daquele motor, isto é, NÃO HÁ HERANÇA!
Meta-tag’s e links
Também é possível especificar uma META-TAG para fazer a proibição diretamente na página:
<meta name="robots" content="noindex,nofollow"> <a href="foo.php" rel="nofollow">Foo</a>
O “parâmetro” noindex, diz ao bot que o site não deve ser indexado e o parâmetro nofollow, que o site no link não deve ser seguido.
Nofollow é muito útil em seções de comentários, onde os spans abusam da nossa paciência. Essa forma não é eficaz para acabar com essa praga, mas pelo menos o eles não ganham pontos com links no Googlebot por exemplo.
Links para testar
É possível testar se os caminhos especificados no robots.txt realmente existem. Fora a identificação de prováveis erros de sintaxe em arquivos muito grandes e gerados manualmente, não vejo muita utilidade nesses caras. Para testar utilize o próprio arquivo robots do Google, até nele eles apontam erros, principalmente relacionados ao ‘*’.
http://www.searchenginepromotionhelp.com/m/robots-text-tester/robots-checker.php
http://www.frobee.com/robots-txt-check
Exemplos
Podemos visualizar alguns bons exemplos nos links abaixo:
http://www.google.com.br/robots.txt
http://www.facebook.com.br/robots.txt (leia os direitos)
http://www.marketingdebusca.com.br/robots.txt
http://www.mestreseo.com.br/robots.txt (bem humorado hehe)
Segundo o site BrPoint, o seguinte robots.txt é ideal para quem utiliza WordPress.
User-agent: * # remova os diretorios Disallow: /cgi-bin/ Disallow: /tag/ Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /trackback/ Disallow: /feed/ Disallow: /tags/ User-agent: Googlebot # remover scrips css e afins Disallow: /*.php$ Disallow: /*.js$ Disallow: /*.inc$ Disallow: /*.css$ Disallow: /*.gz$ Disallow: /*.wmv$ Disallow: /*.cgi$ Disallow: /*.xhtml$ # qualquer endereco que contenha ? Disallow: /*?* # permitir o adsense em qualquer url User-agent: Mediapartners-Google* Disallow: Allow: /* #Sitemap Sitemap: http://www.brpoint.net/sitemap.xml
Geradores de robots.txt
- http://www.marketingdebusca.com.br/robots-txt/
- http://www.mestreseo.com.br/ferramentas-seo/gerador-robots-txt/
Fontes:
- http://pt.wikipedia.org/wiki/Protocolo_de_Exclus%C3%A3o_de_Rob%C3%B4s
- http://www.mestreseo.com.br/robots-txt/tutorial-de-robotstxt
- http://support.google.com/webmasters/bin/answer.py?hl=pt-BR&answer=156449&from=35237&rd=1
- http://www.seomarketing.com.br/robots.txt.html
- http://www.advancedhtml.co.uk/robots-sitemaps.htm
- http://www.jm-digital.com.br/blog/tudo-sobre-robots-txt-e-sitemap.asp
- http://support.google.com/webmasters/bin/answer.py?hl=pt-BR&answer=96569
- http://www.brpoint.net/o-robotstxt-ideal-para-o-wordpress.html
- http://www.otimizacao-sites-busca.com/art-misc/robotstxt.htm