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)
Você pode criar esse arquivo em qualquer editor de texto, como o NOTEPAD ou VI por exemplo.
1. Definições de motores
É possível setar diferentes permissões para motores de busca distintos, por exemplo, deixar o motor do Yahoo ver o diretório “produtos” mas o Google não. Essas definições são feitas com a diretiva:
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
Fontes: