O que é o robots.txt e como configurar, é uma dúvida muito comum para SEO’s iniciantes e até mesmo para os mais experientes, mas a configuração correta é decisiva no sucesso ou não de um site.

O que é o robots.txt?

O robots.txt é um arquivo que controla o acesso dos robôs (crawler do Google, Yahoo, Bing entre outros) a determinadas pastas e arquivos, permitindo ou negando o acesso desses robôs a essas pastas e/ou arquivos.

Como podemos ver, o robots.txt é um simples arquivo de texto com extensão .txt e que pode ser “construído” e modificado utilizando-se um simples bloco de notas.

As instruções passadas aos robôs através do robots.txt também são simples e limitam-se a habilitar (allow) ou desabilitar (disallow) o acesso dos mesmos as pastas e arquivos, conforme já mencionei.

Veja o esquema abaixo:

Robots.txt - Funcionamento

Nele, o robô do buscador ao ler o robots.txt identifica que a página contatos está desabilitada e por isso não vai segui-la.

Como configurar o robots.txt?

Configurar o robots.txt é bem fácil, mas exige bastante atenção, pois um simples erro pode bloquear áreas erradas do seu site.

Sintaxe do robots.txt

O primeiro passo é especificar no robots com qual robô você está falando. Para isso utilizamos a linha “User-agent: + nome do robô”, assim:

User-agent: googlebot

Googlebot como você já deve ter imaginado, é o nome do robô do Google. Slurp é o nome do robô do Yahoo e bingbot o do Bing. Outro “User-agent” que podemos especificar é o “*” representando todos os robôs. Assim não há a necessidade de especificar um por um os robôs existentes.

O segundo passo, é desabilitar as pastas e/ou páginas que você não quer que o robô leia, assim:

Disallow: /artigos-rascunho/ – Neste caso o robô não lerá todos que estão dentro do diretório /artigos-rascunho/

Disallow: /artigos-rascunho.php – Note que /artigos-rascunho/ é diferente de artigos-rascunho.php. No primeiro ele não lerá o conteúdo do diretório, enquanto que no segundo, ele só não lerá o arquivo .php especificado.

Adicionando seu sitemap eu robots.txt

Outra sintaxe que pode ser usada no robots.txt é o endereço do sitemap do seu site, ficando assim:

Sitemap: http://www.seuseite.com.br/sitemap.xml

O endereço do sitemap pode estar tanto no início quanto no final do robots.txt, mas usualmente é colocado logo no início.

Juntando as regras acima, nosso robots.txt ficaria assim:

Sitemap: http://www.seuseite.com.br/sitemap.xml

User-agent: googlebot
Disallow: /artigos-rascunho/
Disallow: /artigos-rascunho.php

Como você deve ter percebido, em momento nenhum utilizamos o “Allow”, isso porque os robôs partem do princípio que se não está desabilitado, então o conteúdo pode ser lido normalmente, não havendo assim a necessidade de especificar isso no robots.txt, salvo em algumas exceções que veremos em “erros comuns no robots.txt”.

Escrevendo robots.txt para vários robôs diferentes

Como vimos mais acima, “cada robô de busca tem um nome e precisamos especificar para cada um deles como devem se comportar.

Regras diferentes no robots.txt para cada robô

Digamos que o Google não está liberado para ler toda a pasta /artigos-rascunho/, enquanto o Yahoo não pode ler somente o artigo /artigos-rascunho.php e o Bing não pode ler ambos (pasta e arquivo). Nosso sitemap ficaria assim:

Sitemap: http://www.seuseite.com.br/sitemap.xml

User-agent: googlebot
Disallow: /artigos-rascunho/

User-agent: slurp
Disallow: /artigos-rascunho.php

User-agent: Bingbot
Disallow: /artigos-rascunho/
Disallow: /artigos-rascunho.php

Até aqui tudo muito tranquilo, já que temos poucas regras e poucos robôs, mas imagine que as regras sejam extremamente numerosas. Como vamos falar com todos os robôs, ainda mais sabendo que existem centenas, se não milhares por aí?

A boa notícia é que em 99,9% dos casos, as regras que inserimos no robots.txt são iguais para todos os robôs, portanto o caso fictício apresentado acima seria assim:

Digamos que nenhum robô está liberado para ler toda a pasta /artigos-rascunho/ e também não está liberado para ler o artigo /artigos-rascunho.php.

Para estas regras teríamos o seguinte robots.txt:

Sitemap: http://www.seuseite.com.br/sitemap.xml

User-agent: *
Disallow: /artigos-rascunho/
Disallow: /artigos-rascunho.php

Erros comuns no robots.txt

É comum erros serem cometidos na composição do robots.txt. Vejamos alguns:

  • Não fechar um Disallow de um diretório com a barra no final – Um erro comum é não fechar os diretórios com a barra final nas instruções do robots.txt, assim, em uma instrução errada do tipo Disallow: /artigos-rascunho, tudo o que começar com artigos-rascunho será bloqueado, sejam pastas ou arquivos, inclusive o nosso artigos-rascunho.php;
  • Uma simples barra pode bloquear todo o seu site – Já vi pessoas adicionarem ao robots.txt um “Disallow: /” achando que como não nada após a barra, não vai afetar em nada. Engano, o “Disallow: /” simplesmente bloqueia a leitura de todo o seu site.

Configurações avançadas no robots.txt

Algumas configurações mais avançadas podem ser necessárias no robots.txt, as mais comuns são:

1. Acesso a um ou uns arquivos dentro de uma pasta desabilitada (Disallow: /pasta-x/):

Disallow: /pasta-x/
Allow: /pasta-x/arquivo-y.html

A instrução “Allow” deve vir sempre após a “Disallow”

2. Pastas e arquivos de administração devem ser desabilitados. Não há necessidade de leitura dessas pastas e arquivos pelos buscadores. Exemplo:

Disallow: /admin/
Disallow: /wp-admin/
Disallow: /wp-*/ (Essa função vai desabilitar a leitura de qualquer pasta que comesse com “wp”).
Disallow: /login.php

Tem mais erros comuns e comandos “avançados”? Complemente o artigo, deixe seu comentário.

3 comentários publicado(s).

  1. Vinicius says:

    Olá,
    Uma dúvida posso fazer o seguinte pois não quero deixar disponível os arquivos que não deseja-se mostrar:

    Disallow: /
    allow: arquivos_permitidos
    alow: /file/arquivos_permitidos.x
    allow: arquivos_permitidos
    alow: /file/arquivos_permitidos.js

    • Olá Vinicius;

      Pode fazer isso sim, só não entendi o “Allow: arquivos_permitidos”. Isso é um arquivo, um diretório? No robots você precisa especificar tudo bem direitinho, ou terá problemas.

      • Vinicius says:

        “Allow: arquivos_permitidos”: só estava enchendo Linguiça.

        áh acho que seria interessante talvez setar uma conf no .htaccess:

        Order Deny,Allow
        Deny from All
        Allow from googlebot.com google.com google-analytics.com yahoo.com bing.com live.com msn.com

        “, porém não tenho certeza se permitindo os domínios estará permitindo todos os servidores de todo mundo de tal domínio (por que por exemplo, o bot do google pode ter vários ips) talvez você podesse me explicar uma maneira de bloquear o arquivo, mas permitindo os bots.
        Pois outro dia achei uma vulnerabilidade de um site por esse aquivo.


Notifique-me sobre novos comentários por e-mail. Você também pode se inscrever sem comentar.