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:
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.
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.
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 😀
Agora entendi melhor como que funciona o robots.txt. 🙂
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 ?
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!
Alguém sabe onde encontro uma lista de nomes dos principais crawler bots?
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!
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.
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?
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
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.
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?
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…
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…
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?
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?
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!
Quero bloquear todos os arquivos em HTML, dá pra fazer isso?
Por acaso seria:
Disallow: /*.htm
Ou
Disallow: *.htm
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?
É 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.
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.
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
http://yoast.com/canonical-url-links/ este plugin ajuda na parte de conteudo duplicado apontadom para o link principal.
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.
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?
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?
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.
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.
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.
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?
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?
Excelente artigo Frank! Como sempre!
Grande abraço meu caro!
Muto bom! Gostei do artigo.
O conteúdo é de qualidade e esta de parabéns por compartilhar informações tão valiosas na internet.
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
Entendi melhor agora, obrigado!
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
Parabéns pelo tutorial, me ajudou muito!!!!