SEO

Robots.txt – O Guia Definitivo para Projetos de SEO

Por Fábio Ricotta

O protocolo Robots.txt é fundamental para todos os projetos de SEO. Com ele podemos direcionar os robôs de busca em áreas do nosso site, limitando ao que desejamos que eles saibam. Aprenda neste guia a manipular este arquivo para que seus projetos se adequem a todas as especificações.

Fábio Ricotta

Olá leitores do blog da Mestre,

Os mecanismos de busca utilizam-se de robôs de busca, também conhecidos como webcrawlers/spiders, para percorrer toda a web, indexando todo ou quase todo o conteúdo disponível. Diante disto, foi criado um padrão, o “Protocolo de Exclusão de Robôs”, onde cada website pode incluir na raíz do seu website um arquivo chamado robots.txt que diz aos robôs de busca quais páginas eles não podem visitar.

A importância do Robots.txt

O robots.txt é um arquivo fundamental para todo projeto de website. É através dele que os mecanismos de busca sabem se podem ser ou não um determinado arquivo ou diretório de um site.

A primeira regra aqui é criar, mesmo que em branco, um arquivo robots.txt na raíz do seu domínio. Isto porque se algo acontecer com o seu servidor e você retornar algum código estranho, como o 500 ou 503 por exemplo, na solicitação do arquivo robots.txt o Google pode optar por não ler todo o seu site, com “medo” de ler algo que não possa.

Outro ponto de reforço é que deve existir apenas um robots.txt para cada site e este deve estar no diretório raiz. Se houver outro arquivo robots.txt em qualquer outro diretório, ele não será acessado. Em empresas grandes isso pode ser uma grande desvantagem, pois quando uma empresa é dividida em setores, nem todos os funcionários têm acesso ao diretório raiz do site.

Por fim, é fundamental você saber que o robots.txt não é uma forma de segurança, ele apenas impede que os robôs de busca leiam o conteúdo especificado, porém não barra usuários.

Como Criar um Arquivo robots.txt

Existem diversas maneiras de criar um arquivo robots.txt, como por exemplo, abrir o bloco de notas e criar a partir de lá. Mas aqui na Agência Mestre disponibilizamos uma ferramenta online e gratuita onde você pode inserir quais páginas você deseja bloquear dos robôs de busca e ele simplesmente fornece todo o código necessário para gerar o seu arquivo robots.txt. Vale apena testar.

O Funcionamento

Exemplos Iniciais de Formatação do robots.txt

Permite que todos os arquivos sejam indexados

User-agent: *

Disallow:

Não permite que nenhum arquivo seja indexado

User-agent: *

Disallow: /

Não permite que uma pasta seja indexada, com exceção do arquivo myfile.html que está dentro da pasta

User-agent: Googlebot

Disallow: /folder1/

Allow: /folder1/myfile.html

Desabilitando o Googlebot para um diretório

Partindo para alguns exemplos mais complexos, caso você queira desabilitar que o Googlebot indexe qualquer arquivo que inicie com /directory

User-agent: Googlebot

Disallow: /directory

Desabilitando um conjunto de arquivos com nomes semelhantes

Podemos também desabilitar arquivos específicos, utilizando o curinga “asterisco”. Com ele você diz que existe uma cadeia de caracteres naquele lugar.

Por exemplo, desabilitar todos os arquivos que contenham “print=” em qualquer parte da URL:

User-agent: Googlebot

Disallow: /*print=

É importante saber que nem todos os robôs de busca aceitam o curinga. Sendo assim, especifique esta regra apenas para o Googlebot, caso você venha a utilizar.

Desabilitando regras específicas para diferentes mecanismos de busca

Você pode especificar regras para robôs de busca diferentes. Por exemplo, você pode colocar regras específicas (X,Y) para os demais robôs de busca e Z para o Googlebot:

User-agent: *

Disallow: X

Disallow: Y

User-agent: Googlebot

Disallow: Z

Liberando o acesso para um robô de busca somente

Neste exemplo, você só dará acesso ao Google para acessar seu site, visto que, a regra acima sobrescreve a de baixo.

User-agent: Googlebot

Disallow:

User-agent: *

Disallow: /

É óbvio que você não deva fazer isto, mas este é um bom exemplo para você conhecer.

Requisitando desidenxação pelo Robots.txt

Uma forma de solicitar que o robô do Google (apenas ele suporta) desindexe uma página ou diretório é utilizar a diretiva “Noindex” no arquivo de robots.txt como especificado abaixo:

User-agent: *

Noindx: /diretorio-a-ser-removido-do-indice

Você pode testar dentro do Google Search Console e notar que o Google reconhece esta diretiva.

Conceitos Importantes sobre o Robots.txt

O uso do robots.txt se tornou amplamente utilizado para um método de controle e rastreamento do seu site. Assim tornou-se uma das primeiras coisas que você deve verificar para diagnosticar problemas de indexação ou algum outro problema no seu site. Embora quase todos os webmasters já utilizem esse arquivo, ainda há algumas coisas que causam mal entendidos, vamos a elas:

Robots.txt não dizem que a página será removida do índice dos search engines

A utilização do robots.txt pode evitar que os robôs de busca entrem em uma determinada página ou diretório, mas se a URL já foi indexada anteriormente a partir de fontes externas, ela usará essas informações para fazer o julgamento da página e formular os snippet (título e descrição que aparecerá nos players de busca).

Sendo assim, colocar uma regra para uma página não fará com que a mesma desapareça do Google. Existem outras formas de remover uma página do Google, mas o uso o robots.txt não é uma delas.

O robôs de busca seguem apenas o que você especifica para eles no robots.txt

Se você usar uma definição geral para todos os robôs de busca (ou seja: user-agent: *) e uma definição para um robô específico (por exemplo: User-agent: Googlebot) nas seções de User-agent, tenha em mente que o Google (e outros mecanismos de busca) só seguirá as seções mais específicas e irá ignorar todas as outras seções (incluindo a geral). Ex:

Funcionamento Robots TXT

Dê instruções claras no seu arquivo robots.txt

Dentro do arquivo robots.txt os robôs de busca leem uma instrução em uma URL a partir da esquerda para a direita, o que significa que eles bloqueiam ou permitem tudo após o “/” em uma URL, por exemplo se você colocar: “Disallow: /a” tudo que começa com “a” será descartado pelos robôs, neste caso a página www.seudominio.com.br/about.html será descartada pelo user-agent.

LEIA MAIS

Redirecionamento 301 em PHP, ASP, htaccess, Coldfusion e Ruby on Rails

Você quer saber como configurar o redirecionamento 301 no seu site? Veja como e mantenha sua relevância no Google!

Como Fazer o Google Encontrar o Seu Site?

Você sabia que existem diferentes formas de ajudar o Google a encontrar o seu site? Coloque nossas dicas em prática e faça seu site aparecer no buscador!

O que é SEO? Confira O Guia do Search Engine Optimization

Confira, no artigo, o que é SEO, quais são suas características e técnicas, e descubra por que ele é tão vantajoso para empresas que querem ter destaque online.

Comentários
  1. Avatar

    Já ouvi várias pessoas (mais de 10) dizerem que o Google não “reconhece” o asterisco como máscara nas entradas do robots.txt, é verdade? Não é o que diz seu texto, e particularmente penso que ele reconheça sim, apesar de não ter testado exaustivamente.

  2. Avatar

    Cara, achei espetacular a postagem, e veio na hora certa, ontem mesmo passei um por um problema, ou uma dúvida.

    Abordando um pouco sobre o assunto:

    Tenho um blog no diretório /blog, porém meu robots encontra no diretório raiz /rotobs.txt (não /blog/rotobs.txt), sendo um blog eu posso deixar o robots no diretório raiz?

    Um exemplo do meu robots.txt

    User-agent: *
    # remova os diretorios
    Disallow: /cgi-bin/
    Disallow: /blog/wp-admin/
    Disallow: /blog/wp-includes/
    Disallow: /blog/trackback/
    Disallow: /blog/feed/
    Disallow: /blog/wp-content/files/
    (…)
    # Sitemap autodiscover
    Sitemap: http://www.matheusfelipe.com.br/sitemap.xml

    Abraços e obrigado 😀

  3. Avatar

    Agora entendi melhor como que funciona o robots.txt. 🙂

  4. Avatar

    No item “Liberando o acesso para um bot somente” o correto não seria
    User-agent: googlebot
    Enable: /

    ao inves de:

    User-agent: googlebot
    Disallow:
    User-agent: *

    Ou estou viajando ?

  5. Avatar

    Marcos Elias, o googlebot reconhece * sim. Você pode testar no Google Webmasters Tools.

    Matheus Felipe, o local comum do robots.txt é na raiz do site. É raro encontrar esses arquivos em outras áreas do site. Mas você pode sempre usar o Google Webmasters Tools para testar!

    Demétrios, não existe a sintaxe “Enable”, o correto é “Allow”. E o que o Rafael escreveu no post está correto sim.
    “Disallow:” significa “não permitir: “, ou seja, não há nada especificado para não ser acessado, logo tudo pode ser acessado.
    Também é possível fazer isso com a sintaxe ” Allow: * “, ou seja, permitir tudo.

    Abraços!
    Espero ter ajudado nas dúvidas!

  6. Avatar

    Alguém sabe onde encontro uma lista de nomes dos principais crawler bots?

  7. Avatar

    E aí Leandro!

    No Google tem a lista de nomes dos bots.. brincadeira!

    Achei essa lista aqui:
    http://www.user-agents.org/index.shtml

    É bem extensa e detalhada.

    E essa outra mais simples:
    http://www.jafsoft.com/searchengines/webbots.html#search_engine_robots_and_others

    Os principais acabam sendo o googlebot, yahoo! slurp (é assim mesmo que entra no robots.txt “User-Agent: Yahoo! Slurp”) e o msnbot. Contudo, você pode olhar nas estatísticas do seu site para saber quais outros sites de busca levam visitas ao seu site e descobrir o user agent deles.

    Abraços!

  8. Avatar

    Dúvida:
    Quanto tempo leva para o google tirar a indexação de uma página após ter lido o robots.txt?
    Tenho páginas que desabilitei a meses e até agora não site da indexação do google!
    OBS: as página existem porém não quero que fique visível para o google.

  9. Avatar

    Outra dúvida:
    Se o site tiver uma página no sitemap e a mesma estiver desabilitada no robots.txt o que predomina ? a indexação do sitemap ou o Disallow do robots?

  10. Avatar

    Olá Demétios,

    O tempo varia dependendo do crawl rate do seu site. Ao bloquear do robots, você não deixa o Google indexar a sua página, mas se já estiver indexada, a sua página leva um tempo para ser indexada.

    Se quiser remover a página rapidamente, use o Google Webmaster Tools.

    O que sempre predomina é o robots, pois o sitemap só mostra a URL, mas o robots dita as regras se o bot pode ou não indexar a página.

    Abraços

  11. Avatar

    Para utilizar a ferramenta “remover URLs” do Google Webmaster precisa que as páginas não esteja dora ar (404) segundo o Google. No meu caso as páginas continuarão no ar, quero apenas tirar a indexação, já faz tempo que coloquei no robots e até agora nada.

  12. Avatar

    Demétrios, eu acho que eu não me expliquei bem….

    Colocando no robots, você bloqueia o acesso à página, mas não remove ela do índice. Para remover você tem que usar a Google Webmaster Tools ou inserir a meta tag “NOINDEX”.

    Certo?

  13. Avatar

    Dúvida:
    Criei uma galeria de imagem que ao clicar nos thumbnail ele gera uma url assim:

    wwww.site.com.br/pagina.php#imagens/foto-1.jpg
    wwww.site.com.br/pagina.php#imagens/foto-2.jpg
    wwww.site.com.br/pagina.php#imagens/foto-3.jpg

    Como devo desabilitar a parte “#imagens/foto-x.jpg” no Robots.txt? Por acaso seria:
    Disallow: /#imagens=
    ou
    Disallow: /#=

    Não tenho certeza se estou fazendo certo…

  14. Avatar

    Olha Demétrios, se você está mesmo usando o caracter # na sua URL vc entrou em uma boa agora, porque esse caracter é usado para indicar um comentário no robots.txt, ou seja, tudo que estiver na mesma linha do # e depois dele, torna-se um comentário, e não uma regra:

    disallow: /demetrios #comentario – nao permitir acessar URLs que comecem com demetrios
    ou
    #a regra abaixo serve para impedir que
    #URLs que comecem com demetrios nao sejam acessadas
    disallow: /demetrios

    Mas, supondo que você não está de fato utilizando esse caracter no robots.txt,
    disallow: /pagina.php #bloquear pagina.php
    ou
    disallow: /pagina.php?imagem= #bloquear pagina.php com parametro imagem
    ou
    disallow: /pagina/imagem/foto #bloquear url…

    são formatos válidos…

  15. Avatar

    Eu entendi mais ou menos no final….No robots eu não estou usando o #.
    Deixa eu explicar mais um detalhe que esqueci. Eu quero indexar apenas a páginas, ou seja:

    Enable: /pagina.php (que no caso nem precisa já que por default o google vai indexar)
    e:
    disallow: /#imagens/foto-1.jpg (desabilitar a URL gerada pelo link dos thumbnails)

    O arquivo “pagina.php” fica na raiz do site, e as imagens ficam no diretório “imagens/sub-pasta/”. Ao clicar nos thumbnails o link vai buscar a imagem ampliada em “imagens/sub-pasta/nome-foto.jpg” e gera uma URL assim: http://www.site.com.br/pagina.php#imagens/sub-pasta/nome-foto-1.jpg, que antes era mostrada apenas http://www.site.com.br/pagina.php. Nessa situação o ideal para o Google não considerar URL duplicada (já que o conteúdo texto sera o mesmo, mudando apenas a foto 1, 2, 3 etc…) seria como?

  16. Avatar

    Frank,
    Outra dúvida que me surgiu: Se por acaso eu colocar no robots:

    Disallow: /pagina.php
    Disallow: /pagina.php#imagens/
    Allow: /pagina.php#imagens/sub-pasta/nome-foto-1.jpg

    Ou seja, estou tentando fazer na 1 e 2 linha com que os buscadores não indexem as páginas “pagina.php” e nem os sub-caminhos “pagina.php#imagens/” e na 3 linha que indexe apenas a página com a primeira foto, minha dúvida é se isto funciona. Isto já resolveria meu problema, apesar de não ser o ideal !!!

    Quanto a dúvida no outro posto acima exite uma solução?

  17. Avatar

    Então Demétrios, o símbolo # é considerado comentário. Tudo que estiver depois do # e na mesma linha dele, não será considerado regra, os bots vão ignorar.

    Se você escrever:
    disallow: /pagina.php#imagemX
    ele vai entender
    disallow: /página.php

    mas o que você está precisando fazer é ler o post do Heron sobre Google Webmasters Tools e testar o seu robots. Assim você esclarece suas dúvidas testando!

  18. Avatar

    Quero bloquear todos os arquivos em HTML, dá pra fazer isso?
    Por acaso seria:

    Disallow: /*.htm

    Ou

    Disallow: *.htm

  19. Avatar

    Outra dúvida:

    Tenho um site que ao acessar http://www.site.com.br é redirecionado para http://www.site.com.br/pasta/. Devo colocar o robots.txt e sitemap.xml em http://www.site.com.br/pasta/ ou dentro http://www.site.com.br?

    • Avatar

      É na pasta r.iz do seu site. Olhe em sua pasta raiz de seu servidor?

      Os arquivos estão no diretorio raiz ou em http://www.site.com.br/algumacoisa ?

      Colequo na raiz no caso do redirecionamento, coloque no local onde será redirecionado.

    • Avatar

      Demétrio, o local correto para se colocar o arquivo robots.txt é a raiz do domínio, ou seja, ele deve ser acessível por site.com.br/robots.txt.

      O sitemap.xml não tem essa obrigação, uma vez que você é que indica às Search Engines onde está este arquivo. No caso do robots.txt, as Search Engines já buscam diretamente na raiz do domínio e em nenhum outro lugar.

  20. Avatar

    Tudo bem, o que ninguém explica é se isto funciona para blogger. Mas pelo andar da carruagem tudo indica que não. Já produzi alguns milhares destes robos txt e enfiei na pasta www do meu computador e nem bloqueei nem desbloqueei as URLs. Pior, quando submeto meu blogue as analises de SEO elas dizem que meu robo txt está bloqueado.

    Vou pendurar as chuteiras em ralação a otimização do meu blogue e me dedicar somente a escrever.

    Forte abraço

  21. Avatar

    http://yoast.com/canonical-url-links/ este plugin ajuda na parte de conteudo duplicado apontadom para o link principal.

  22. Avatar

    Olá pessoal do Agência Mestre, eu comecei meus estudos mais aprimorados sobre SEO final do ano passado, por isso estou longe de ser bom nisso. Atualmente estou tendo um problema com um de meus sites. Eu mudei a estrutura dos permalinks.

    O redirecionamento está perfeito, quem acessar a url antiga é redirecionado para a nova, até aí tudo bem. Mas acompanhei a mudança no google webmasters e aparentemente a cada dia cresce o numero de paginas duplicadas, quando abro para ver as urls o google está considerando tanto o permalink antigo como o novo, sendo assim todas as páginas tem 1 conteúdo duplicado.

    Poderiam me tirar a dúvida de como eu posso resolver isso. Sei que devem receber muitos pedidos para tirar dúvidas, mas agradeço se atenderem. Forte abraço e parabéns pelo site, tem sido bastante útil.

  23. Avatar

    Removi um diretório com mais de 1000 urls (todas estao com 404), e coloquei este no robots.txt como Disallow, o problema é que apareceram um monte de erros de rastreamento que nao estao saindo: Erros Soft 404 ‎(40)‎
    Não encontrado ‎(652)‎
    Restringido por robots.txt ‎(1.702)‎

    Como removerei este tanto de url com o Webmaster tools? (já tentei a opcao remover um diretorio completo e nao aconteceu nada, o nível de acesso dos bots na opcao do webmaster tools esta no máximo)
    Estes erros comprometeriam o pagerank?

  24. Avatar

    Senhores, o que ocorre por exemplo com o robots do UOL que, quando se digita http://www.uol.com.br/robots.txt o servidor redireciona o usuário para a página 404? Se o robots existe, não deveria estar acessível?

  25. Avatar

    Mas o robots.txt existe mesmo? Pode não existir, ou a UOL pode estar sendo seletiva com quem pode e quem não pode acessar o arquivo. E aí, quem não tem permissão vai para a página de 404. Por último, pode haver algum erro quanto a isso também. Existe, mas por alguma razão o servidor retorna que não existe.

    • Avatar

      Então, é exatamente nesses pontos que eu queria chegar…como é que se faz essa “restrição” de quem pode ou não ver o arquivo? Acredito que o arquivo exista, pois em um portal enorme como o UOL a necessidade de se controlar quais diretórios devem ser indexados ou não é muito maior do que um site de pequeno porte.

      • Avatar

        Por programação. Aí você precisa entender como funciona o seu servidor e programá-lo. Pelo Apache, por exemplo, é possível algum nível de controle via htaccess.

  26. Avatar

    Olá, bom dia!

    Estou com algumas dúvidas a respeito de como proceder com conteúdo duplicado:

    1. A página inicial de meu website contém os últimos posts (com o link “continuar lendo…”), de acordo com o que li, isso vai gerar um conteúdo duplicado, qual a melhor ação neste caso? Alterar a página inicial?

    2. Caso eu publique o conteúdo de um escritor que já possui tal conteúdo em outro website, o ideal é bloquear o acesso com o robots.txt a esse post?

    3. Menus laterais e nuvem de tags (que aparecem em todas as páginas) podem ser considerados conteúdos duplicados?

    4. Caso o conteúdo de um post no meu site seja exclusivo e alguém copiá-lo e, mesmo depois do contato se recusar a retirar o conteúdo, o que devo fazer? Isso é muito prejudicial?

  27. Avatar

    olá!

    estou a criar o blogue( no blogger) acima mencionado mas não percebo muito de robots.txt.é preciso de activá-los?e o que escrever se for para activar.Activei as etiquetas de cabeçalho de robôs personalizadas e pus noindex,nofollow para:
    -página inicial
    -arquivar e pesquisar páginas
    -predefinição para mesagens e páginas
    tinha varias opcões-all,none,noarchive,nosnippet,noodp,notranslate,noimageindex,unavailable_after…
    fiz bem?

  28. Avatar

    Excelente artigo Frank! Como sempre!
    Grande abraço meu caro!

  29. Avatar

    Muto bom! Gostei do artigo.
    O conteúdo é de qualidade e esta de parabéns por compartilhar informações tão valiosas na internet.

  30. Avatar

    Cara estou adorando este site, os artigos são muito bem elaborados, estou consertando diversas burradas que cometi por muito tempo no meu site, só posso parabenizá-lo pelos serviços prestados, sinceramente… obrigado!

    Att. Samuel Sousa de Vasconcelos

  31. Avatar

    Entendi melhor agora, obrigado!

  32. Avatar

    Show! Ajudou demais em uma dúvida aqui.

    Apenas uma correção a fazer no trecho de código:
    Noindx: /diretorio-a-ser-removido-do-indice
    >>
    Noindex: /diretorio-a-ser-removido-do-indice

  33. Avatar

    Parabéns pelo tutorial, me ajudou muito!!!!

Os comentários estão fechados.

Já pensou em fazer parte do nosso time de mestres?