O que o robots.txt faz (e nao faz)
O robots.txt e um ficheiro de texto colocado na raiz do seu website (https://exemplo.com/robots.txt) que indica aos crawlers dos motores de busca quais as paginas ou diretorias que devem ou nao visitar.
E um protocolo de cortesia, nao uma medida de seguranca. Limitacoes fundamentais:
- O robots.txt so se aplica aos crawlers que escolhem respeit-lo (todos os principais motores de busca o fazem; os scrapers maliciosos nao)
- Bloquear um URL no robots.txt nao impede a Google de o indexar se outros sites ligarem a ele, a Google pode indexar um URL que nunca rastreou, com base em sinais de outras paginas
- Nao protege conteudo privado, use autenticacao para isso
- Os erros de sintaxe quebram as regras silenciosamente; um unico caracter mal colocado pode bloquear todo o site
A sintaxe basica
Um ficheiro robots.txt consiste em registos, cada um especificando um agente de utilizador e diretivas:
User-agent: *
Disallow: /privado/
Allow: /publico/
User-agent: Googlebot
Disallow: /staging/
Sitemap: https://exemplo.com/sitemap.xml
User-agent:, a qual crawler se aplicam as diretivas seguintes. * significa todos os crawlers.
Disallow:, caminhos que o crawler nao deve visitar. Um Disallow: vazio significa "nao proibir nada" (permitir tudo).
Allow:, permite explicitamente um caminho que de outra forma seria bloqueado por uma regra Disallow: mais abrangente.
Sitemap:, opcional, indica aos crawlers onde encontrar o sitemap XML.
Regras importantes
A correspondencia de caminhos e baseada em prefixo
Disallow: /privado/ bloqueia qualquer URL que comece por /privado/, incluindo /privado/pagina.html, /privado/imagens/, etc.
Disallow: /pagina.html bloqueia apenas esse caminho exato.
Disallow: / bloqueia todo o site (todos os URLs que comecam por /, ou seja, todos). Esta e a sintaxe correta para bloquear todos os crawlers, mas aplica-se a tudo.
Multiplos agentes de utilizador, um bloco
Pode agrupar varios agentes de utilizador antes de um bloco de diretivas:
User-agent: Googlebot
User-agent: Bingbot
Disallow: /staging/
Cada linha aplica-se a todos os agentes de utilizador listados acima ate as linhas Disallow: ou Allow:.
Wildcards
* num caminho Disallow: corresponde a qualquer sequencia de caracteres:
Disallow: /*.pdf$, bloqueia todos os PDFs ($ancora o fim do URL)Disallow: /pesquisa?, bloqueia todos os URLs de resultados de pesquisaDisallow: /*?, bloqueia todos os URLs com uma string de consulta (cuidado)
Os wildcards em User-agent so suportam * para "todos os crawlers", nao e possivel usar correspondencias parciais como Google*.
Erros comuns
Bloquear CSS e JavaScript
Disallow: /assets/
Se os seus ficheiros CSS e JavaScript estiverem em /assets/, bloquea-los impede o Googlebot de renderizar corretamente a sua pagina. A Google renderiza paginas como um browser e precisa de acesso aos seus assets para ver a pagina como os utilizadores a veem.
Confundir Disallow: com noindex
Disallow: para o rastreamento. noindex (num cabecalho HTTP ou meta tag) para a indexacao. Sao diferentes:
- Uma pagina bloqueada pelo robots.txt ainda pode ser indexada com base em sinais de outras paginas
- Para evitar tanto o rastreamento como a indexacao: use
noindex(nao bloqueie o rastreamento, ou a Google nao consegue ver a diretiva noindex) - Para evitar a indexacao de uma pagina rastreavel: adicione
<meta name="robots" content="noindex">a pagina
Disallow vazio = permitir tudo
User-agent: *
Disallow:
Isto significa "nao proibir nada", permite a todos os crawlers aceder a tudo. E valido e frequentemente usado como marcador de posicao para indicar aos crawlers que sao bem-vindos.
Sensibilidade a maiusculas/minusculas
Os URLs no robots.txt sao sensiveis a maiusculas/minusculas. Disallow: /Privado/ nao bloqueia /privado/.
Um robots.txt minimo e correto
Para um website padrao sem paginas a esconder:
User-agent: *
Disallow:
Sitemap: https://exemplo.com/sitemap.xml
Isto permite explicitamente todos os crawlers e aponta-os para o sitemap.
Validar o robots.txt
Use o Testador de robots.txt do Google Search Console (em Definicoes) para validar o ficheiro e testar como os URLs especificos sao tratados. O Gerador de robots.txt deste site cria um robots.txt valido a partir de uma interface de formulario, tratando a sintaxe correta por si.
Resumo
O robots.txt usa as diretivas User-agent:, Disallow: e Allow: para orientar (nao impor) o comportamento dos crawlers. Os erros comuns incluem bloquear assets, confundir disallow com noindex e usar caminhos com wildcards incorretamente. Valide sempre antes de publicar, um unico erro de sintaxe pode bloquear acidentalmente todo o site de ser rastreado.