Como Evitar Conteúdo Duplicado Utilizando o Robots.txt

Olá leitores do Mestre SEO! Hoje falarei sobre o robots.txt, citando vários exemplos para que todo mundo entenda perfeitamente o seu funcionamento. Mas antes disso, falaremos um pouco sobre a importância e regras para o robots.txt.

O robots.txt é um importante aliado na “guerra” contra conteúdo duplicado, assim, sua importância no SEO é imensa.

Só há 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. Nesse caso, ao invés do robots.txt, é recomendado o uso das meta tags para bloquear URL´s.

O robotos.txt é especialmente útil quando precisamos “eliminar” diretórios inteiros de um site ou quando se quer excluir muitas URL´s que começam com os mesmos caracteres.

É importante ressaltar que o robots.txt não é uma forma de segurança, ele apenas impede que o crawler leia o conteúdo especificado, porém não barra usuários, e além disso, pode ser acessível por qualquer usuário.

Agora que já sabemos a importância do robots.txt no SEO, vamos entender como é seu funcionamento:

Para desabilitar um diretório utilizamos o comando Disallow: /directory. Para comentários utilizamos # e para bloquear um crawler específico, colocamos User-agent: <nome do bot>.

Bloqueando todos os bots

User-agent: *

Disallow: /

Desabilitando o googlebot para um diretório

Desabilitando o googlebot de indexar qualquer coisa que comece com /directory

User-agent: googlebot

Disallow: /directory

Desabilitando um conjunto de arquivos com nomes semelhantes

Podemos também desabilitar arquivos específicos, utilizando as regras de expressões regulares, como por exemplo: ^<sua string>.*$

Por exemplo, desabilitar todos os arquivos que contenham print=qualquer lugar:

User-agent: googlebot

Disallow: /*print=

Desabilitando mais de uma URL para mais de um bot

Quando queremos desabilitar mais de uma URL para mais de um bot, temos de colocar o nome dos user-agents antes do disallow .

User-agent: googlebot

User-agent: msnbot

Disallow: /directory

Disallow: /file.html

Desabilitando regras específicas para diferentes Search Engines

Desabilitando regras específicas (X,Y)para os demais spiders e Z para o googlebot

User-agent: *

Disallow: X

Disallow: Y

User-agent: googlebot

Disallow: Z

Liberando o acesso para um bot somente

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

User-agent: googlebot

Disallow:

User-agent: *

Disallow: /

Espero que tenham gostado! Se precisar de uma otimização de sites fale conosco, ou se só quiser saber mais sobre search engine optimization, leia nosso tutorial de SEO e termos de SEO. Até a próxima!


Assine o nosso Feed
2.432 assinantes,
assine você também!
Publique esse artigo no Twitter Salve este artigo no Delicious Cadastre esse artigo no Dihitt Cadastre esse artigo no UEBA Cadastre esse artigo no Rec6

Rafael Coutinho

27 Respostas à este post

  1. 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. 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 :D

  3. Agora entendi melhor como que funciona o robots.txt. :)

  4. [...] Conteúdo relevante é o que os usuários estão procurando e a meta de um search engine é fornecê-la. Então, neste mundo perfeito, páginas que contenham as mesmas informações serão classificadas de forma semelhante, independentemente das tecnologias utilizadas em sua composição. Infelizmente, em muitos casos, a verdade é bem diferente. [...]

  5. [...] parte é uma das mais interessante. Aqui tem uma análise do seu robots.txt, e você pode configurar quais partes do seu site não serão indexadas. Aqui também tem a parte [...]

  6. 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 ?

  7. 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!

  8. Leandro Feijó disse,

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

  9. 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!

  10. [...] nós já tratamos do tema em alguns posts sobre casos e soluções de conteúdo duplicado, como evitar conteúdo duplicado com robots.txt, como identificar e corrigir conteúdo duplicado e um post ilustrado explicando como uma search [...]

  11. [...] faça seu site de modo que os crawlers não possam ver: Isso pode acontecer quando o arquivo robots.txt é usado incorretamente ou quando um site é todo em Flash ou em [...]

  12. 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.

  13. 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?

  14. 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

  15. 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.

  16. 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?

  17. 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…

  18. 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…

  19. 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?

  20. 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?

  21. 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!

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

    Disallow: /*.htm

    Ou

    Disallow: *.htm

  23. 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?

  24. [...] Se você não faz idéia do que eu estou falando, leia no Blog de SEO do MestreSEO sobre o robots.txt, um arquivo que faz muita diferença no [...]

  25. 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

  26. and disse,

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

  27. Olá pessoal do Mestre SEO, 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.

Deixe um Comentário

Nota: A moderação de comentários pode estar ativa, então não há necessidade de re-enviar o seu comentário.