Como fazer o seu Robots.txt
Os Robots, Crawlers ou até mesmo Spiders (dentro de um universo Web), são mecanismos que buscam automaticamente conteúdo web para ser indexado em sistemas de busca como o do Google, Yahoo Search, MSN Search, etc.
Controlamos as atividades dos Robots através de um arquivo chamado robots.txt, que deve ser colocado no diretório raiz do site em questão.
O robots.txt é um arquivo de texto que atua como filtro para os mecanismos de busca. Ele permite ou bloqueia o acesso de partes ou totalidade do site. Seu trabalho funciona assim: Um Robot vai fazer a busca do site http://www.exemplosite.com.br/, antes é verificado http://www.exemplosite.com.br/robots.txt.
O uso dos robots.txt tem grande importância. Uma pesquisa realizada por alguém que saiba utilizar sistemas de busca, pode resultar em páginas de login, administração interna, além de páginas duplicadas, que antecede a penalização por conteúdo duplicado.
Há quem confunda o uso do robots.txt. O robots.txt não é uma ferramenta de segurança, apenas impede a indexação do conteúdo especificado, ele não barra usuários, além disso, pode ser acessado por qualquer usuário.
Como a função desse arquivo é criar políticas de indexação de conteúdo, vamos entender sua sintaxe:
User-agent
Indica qual, ou quais, robots devem seguir a regra.
Google
User-agent: Googlebot
Yahoo
User-agente: Slurp
Todos os mecanismos
User-agent: *
Podemos obter uma lista bem extensa de User-agent em: http://www.user-agents.org/index.shtml
Disallow
Indica qual, ou quais, diretórios e/ou páginas não devem ser indexados.
Barrando a indexação completa do endereço
Disallow: /
Barrando a indexação do diretório /login/
Disallow: /login/
Barrando a indexação da pagina login.html
Disallow: login.html
Allow
Indica qual, ou quais, diretórios e/ou páginas devem ser indexados.
Permitindo a indexação do diretório /site/
Allow: /site/
Muitos consideram o comando Allow no mínimo estranho, visto que por default todas as páginas e diretórios tem permissão para serem indexadas. Mas analisemos a estrutura:
/news/adm/
/news/recentes/
Supondo que queremos bloquear o conteúdo de /news/ por questões de segurança, pois há um diretório de administração, mas queremos a indexação do diretório /news/recentes/, então:
Disallow: /news/
Allow: /news/recentes/
Sitemap
Indica o caminho do sitemap de seu endereço.
Indicando o sitemap do site
Sitemap: http://www.exemplosite.com.br/sitemap.gz
Crawl-delay
Representa o intervalo de requisições que deve haver no endereço.
Indica que deve haver um intervalo de 10 segundos nas requisições do endereço
Crawl-delay: 10
Expressões Regulares
Um recurso interessante suportado pelo robots.txt, que ajuda no problema de conteúdo duplicado, é o uso de expressões regulares em sua composição, por exemplo: ^<string>.*$
Barrando todos os arquivos que contenham print=qualquer lugar
User-agent: *
Disallow: /*print=
Exemplos de robot.txt
Ex1:
User-agente: *
Disallow:
Disallow: /cgi-bin/
Disallow: /admin/
Sitemap: http://www.exemplosite.com.br/sitemap.gz
No exemplo acima, é barrada a indexação dos diretórios /cgi-bin/ e /admin/ por todos os Robots.
Ex2:
User-agente: Googlebot
Disallow:
User-agente: *
Disallow: /
Sitemap: http://www.exemplosite.com.br/sitemap.gz
Nesse exemplo, só é permitida a indexação do conteúdo pelo Googlebot, para os demais é barrada, pois a regra em cima, sobrescreve a de baixo.
Referências:
- http://www.robotstxt.org/
- http://www.criarmeusite.com/2009/11/a-importancia-do-robots-txt/
- http://www.mestreseo.com.br/seo/robots-txt/
- http://www.user-agents.org/index.shtml






Excelente explicação do Robots, aliás vocês são demais.
21 / março / 2010 às 02:13 por goomark
Legal, gostei do post, que saber uma coisa é possível fazer assim:
Disallow: /cgi-bin/ , /admin/
Ou sempre é preciso uma linha para cada definição:
Disallow: /cgi-bin/
Disallow: /admin/
01 / agosto / 2010 às 11:51 por Marcelo Rocha
Opá, tudo bem Marcelo?
Respondendo sua dúvida, que por sinal é muito pertinente, temos que declarar 1 diretório por linha.
Os Robots só entenderão que se trata de outro diretório quando encontrarem um line-break (CR, CR+LF ou LF).
Qualquer dúvida, estamos aí
Valeu?!
03 / agosto / 2010 às 08:47 por Johann Vivot
Opa, obrigado Johann -D.
10 / agosto / 2010 às 07:06 por Marcelo Rocha
O que significa
User-agent: *
Disallow:
30 / agosto / 2010 às 04:18 por Rubens
Olá Rubens!
User-agent: *
Disallow:
Significa que qualquer Robot (User-agent: *), está autorizado a indexar qualquer página, sendo que não estamos sinalizando nenhum path (Disallow: ).
Qualquer dúvida, estamos aí!
30 / agosto / 2010 às 09:01 por Johann Vivot