Os robôs de busca indexam um site independentemente da presença de robots.txt
e sitemap.xml
. No entanto, através do arquivo robots.txt
, é possível indicar aos motores de busca o que deve ser excluído da indexação e configurar outros parâmetros importantes.
É importante notar que os crawlers dos motores de busca ignoram certas regras, por exemplo:
As diretivas são regras para os robôs. Existe uma especificação W3C de 30 de janeiro de 1994 e um padrão expandido de 1996.
User-agent: é a diretiva que inicia o robots.txt
.
Exemplo:
User -agent: * # instruções para todos os robôs de busca. User -agent: GoogleBot # instruções para o robô do Google. Disallow: # diretiva de negação, proíbe a indexação do que é indicado após /. Allow: # diretiva de permissão, para indicar a indexação de URLs. Disallow: # não funciona sem o caractere especial /. Allow: / # é ignorado se não houver URL após /.
Preste atenção ao símbolo /, pois pode causar erros graves se utilizado incorretamente, por exemplo:
User -agent:* Disallow: / # isso pode bloquear todo o site da indexação.
O caractere * significa qualquer sequência de caracteres, incluindo uma sequência vazia, por exemplo:
Disallow: /cart/* # bloqueia a indexação de todas as páginas após a URL: site.com/cart/
O caractere $ limita a ação do símbolo *, proporcionando uma restrição estrita:
User -agent:* Disallow: /catalog # com esse caractere, catalog não será indexado, mas catalog.html estará no índice.
A diretiva sitemap indica o caminho para o mapa do site e deve ser escrita da seguinte forma:
User -agent:* Allow: / Sitemap: http://www.site.com/sitemap.xml # deve ser especificado com http:// ou https://, se o SSL estiver ativado.
A diretiva Host especifica o domínio principal do site com ou sem www.
User -agent:* Allow: / Sitemap: http://www.site.com/sitemap.xml Host: www.site.com # deve ser escrito o caminho para o domínio sem http e sem barras, certifique-se de que o domínio está concatenado.
A diretiva Crawl-Delay limita a carga no servidor, estabelecendo um tempo de espera para os motores de busca:
User -agent: * Crawl-delay: 2 # define um tempo de espera de 2 segundos. User -agent: * Disallow: /search Crawl-delay: 4.5 # define um tempo de espera de 4.5 segundos.
A diretiva Clean-Param é necessária se os endereços das páginas do site contiverem parâmetros dinâmicos que não afetam o conteúdo, como identificadores de sessão, usuários, referenciadores, etc.
O robô de busca, utilizando os valores da diretiva Clean-Param, não irá recarregar informações duplicadas várias vezes, aumentando assim a eficiência da navegação do seu site e reduzindo a carga no servidor.
Por exemplo, páginas com o seguinte endereço:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.site.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.site.com/some_dir/get_book.pl?ref=site_3&book_id=123
O parâmetro ref é usado apenas para rastrear de onde a solicitação foi feita e não altera o conteúdo; todas as três URLs mostrarão a mesma página com o livro book_id=123. Portanto, se a diretiva for especificada da seguinte forma:
User -agent: * Disallow: Clean-param: ref /some_dir/get_book.pl
O robô de busca consolidará todos os endereços da página em um só:
www.site.com/some_dir/get_book.pl?ref=site_1&book_id=123,
Vale ressaltar que para esta diretiva existem várias opções de configuração.
O uso de caracteres do alfabeto russo é proibido em robots.txt; é necessário usar Punycode (um método padronizado para converter sequências de caracteres Unicode em sequências ACE).
#Errado: User -agent: * Disallow: /корзина Host: loja-online.ru #Certo: User -agent: * Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0 Host: xn----8sbalhasbh9ahbi6a2ae.xn--p1ai
Para verificar erros, utilize ferramentas de auditoria técnica disponíveis online.
É importante lembrar que arquivos maiores que 32kb são lidos como totalmente permissivos, independentemente do que está escrito.
Evite o preenchimento excessivo de robots.txt. Webmasters iniciantes muitas vezes se impressionam com artigos que afirmam que tudo o que não é necessário deve ser bloqueado no robots.txt e acabam bloqueando tudo, exceto o texto em páginas específicas. Isso, para dizer o mínimo, é incorreto. Primeiro, há uma recomendação do Google para não bloquear scripts, CSS e outros elementos que podem impedir o bot de ver o site da mesma forma que um usuário. Em segundo lugar, muitos erros estão relacionados ao bloqueio de uma coisa que acaba bloqueando outra também. É, sem dúvida, essencial verificar a acessibilidade da página e seus elementos. Um erro comum é a confusão entre Allow e Disallow. O ideal é bloquear no robots.txt apenas coisas que são claramente desnecessárias para o bot, como formulários de registro, páginas de redirecionamento de links, etc., e eliminar duplicatas usando canonical. Note que corrigir o robots.txt não significa que o bot do Google o lerá imediatamente. Para acelerar esse processo, basta verificar o robots.txt na seção apropriada do painel do webmaster.
Exemplos de configuração correta do robots.txt para diferentes CMS:
User -Agent: * Allow: /wp-content/uploads/ Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /template.html Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-content Disallow: /tag Disallow: /category Disallow: /archive Disallow: */trackback/ Disallow: */feed/ Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Host: site.com Sitemap: http://site.com/sitemap.xml
User -agent: * Disallow: /manager/ Disallow: /assets/components/ Disallow: /core/ Disallow: /connectors/ Disallow: /index.php Disallow: *? Host: example.com Sitemap: http://example.com/sitemap.xml
User -agent: * Disallow: /*route=account/ Disallow: /*route=affiliate/ Disallow: /*route=checkout/ Disallow: /*route=product/search Disallow: /index.php?route=product/product*&manufacturer_id= Disallow: /admin Disallow: /catalog Disallow: /download Disallow: /export Disallow: /system Disallow: /*?sort= Disallow: /*&sort= Disallow: /*?order= Disallow: /*&order= Disallow: /*?limit= Disallow: /*&limit= Disallow: /*?filter_name= Disallow: /*&filter_name= Disallow: /*?filter_sub_category= Disallow: /*&filter_sub_category= Disallow: /*?filter_description= Disallow: /*&filter_description= Disallow: /*?tracking= Disallow: /*&tracking= Disallow: /*?page= Disallow: /*&page= Disallow: /wishlist Disallow: /login Disallow: /index.php?route=product/manufacturer Disallow: /index.php?route=product/compare Disallow: /index.php?route=product/category
User -agent:* Allow: /index.php?option=com_xmap&sitemap=1&view=xml Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ Disallow: /go.php Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Disallow: /*com_mailto* Disallow: /*pop=* Disallow: /*lang=pt* Disallow: /*format=* Disallow: /*print=* Disallow: /*task=vote* Disallow: /*=watermark* Disallow: /*=download* Disallow: /*user/* Disallow: /.html Disallow: /index.php? Disallow: /index.html Disallow: /*? Disallow: /*% Disallow: /*& Disallow: /index2.php Disallow: /index.php Disallow: /*tag Disallow: /*print=1 Disallow: /trackback Host: seu-site.com
User -agent: * Disallow: /*index.php$ Disallow: /bitrix/ Disallow: /auth/ Disallow: /personal/ Disallow: /upload/ Disallow: /search/ Disallow: /*/search/ Disallow: /*/slide_show/ Disallow: /*/gallery/*order=* Disallow: /*?print= Disallow: /*&print= Disallow: /*register= Disallow: /*forgot_password= Disallow: /*change_password= Disallow: /*login= Disallow: /*logout= Disallow: /*auth= Disallow: /*?action= Disallow: /*action=ADD_TO_COMPARE_LIST Disallow: /*action=DELETE_FROM_COMPARE_LIST Disallow: /*action=ADD2BASKET Disallow: /*action=BUY Disallow: /*bitrix_*= Disallow: /*backurl=* Disallow: /*BACKURL=* Disallow: /*back_url=* Disallow: /*BACK_URL=* Disallow: /*back_url_admin=* Disallow: /*print_course=Y Disallow: /*COURSE_ID= Disallow: /*?COURSE_ID= Disallow: /*?PAGEN Disallow: /*PAGEN_1= Disallow: /*PAGEN_2= Disallow: /*PAGEN_3= Disallow: /*PAGEN_4= Disallow: /*PAGEN_5= Disallow: /*PAGEN_6= Disallow: /*PAGEN_7= Disallow: /*PAGE_NAME=user_post Disallow: /*PAGE_NAME=detail_slide_show Disallow: /*PAGE_NAME=search Disallow: /*PAGE_NAME=user_post Disallow: /*PAGE_NAME=detail_slide_show Disallow: /*SHOWALL Disallow: /*show_all= Host: seu-site.com Sitemap: http://www.seu-site.com/sitemap.xml
Nesses exemplos, na especificação User-Agent foi utilizado o parâmetro * para permitir acesso a todos os robôs de busca. Para configurar o robots.txt para motores de busca específicos, o nome do robô deve ser utilizado, como GoogleBot, BingBot, etc.