Skip to content
Pesquisar

Como usar o robots.txt para SEO

Configure e verifique o robots.txt para controlar crawling, reduzir indexação indesejada e garantir acesso do Googlebot Smartphone.

Como usar o arquivo robots.txt para SEO

O que é o robots.txt?

O robots.txt é um ficheiro colocado na raiz do site (ex.: https://www.domain.com/robots.txt) que comunica instruções de crawling a web crawlers. Essas instruções dizem aos crawlers que áreas do site devem ou não ser vistoriadas, mas não são uma garantia de que o conteúdo ficará fora do índice: robots.txt controla principalmente o acesso para crawling.

Crawling, indexação e ranking: distinções importantes

Separe sempre três conceitos: crawling (descoberta e fetch de URLs), indexação (decisão sobre guardar ou não um URL no índice) e ranking (como o conteúdo é ordenado nos resultados). O robots.txt afeta o crawling — se um crawler não conseguir aceder a uma página por um Disallow, esse bot não verá meta tags no HTML dessa página. Para impedir indexação de forma confiável use uma meta tag noindex ou um cabeçalho HTTP X-Robots-Tag, mas esses métodos exigem que o crawler consiga aceder ao recurso para ler a instrução.

Sintaxe básica e diretivas comuns

O robots.txt usa pares de campos. Os mais comuns são User-agent, Disallow, Allow e Sitemap. A interpretação pode variar por crawler; por isso teste sempre com os agentes reais que lhe interessam.

  • User-agent: <nome> — especifica o crawler a que se aplicam as regras (por ex. User-agent: *).
  • Disallow: <caminho> — impede que o crawler aceda ao caminho indicado.
  • Allow: <caminho> — em motores que suportam, permite caminhos dentro de um diretório bloqueado.
  • Sitemap: <URL> — indica a localização do sitemap (por ex. Sitemap: https://www.domain.com/sitemap.xml).
  • Comentários — linhas que começam com # são ignoradas pelos crawlers.

Exemplos simples de robots.txt (linhas mostradas como texto):

  • User-agent: *
  • Disallow: /wp-admin/
  • Allow: /wp-admin/admin-ajax.php
  • Sitemap: https://www.domain.com/sitemap.xml

Quando usar Disallow vs noindex vs X-Robots-Tag

Disallow impede que o crawler faça fetch do URL; porém, se o URL for referenciado em outros lugares, pode ainda ser indexado com pouca informação (URL-only entry). Para retirar uma página do índice em motores que respeitem a directiva, use uma meta-tag <meta name="robots" content="noindex"> no HTML ou o cabeçalho HTTP X-Robots-Tag: noindex, que funciona para ficheiros não-HTML (por exemplo PDFs). Importante: se você bloquear o crawler com Disallow, o bot não verá o noindex dentro da página — por isso a ordem de operações importa.

Exemplo de cabeçalho HTTP para não indexar um PDF: X-Robots-Tag: noindex

Boas práticas de robots.txt para SEO técnico

  • Coloque o ficheiro na raiz do domínio (ex.: http://www.yoursite.com/robots.txt).
  • Evite bloquear assets críticos (CSS/JS) que o Googlebot Smartphone precisa para renderizar a página corretamente — desde julho de 2024, o Google usa o Googlebot Smartphone por defeito para crawling.
  • Inclua a linha Sitemap se tiver um sitemap relevante; isso facilita a descoberta.
  • Use Disallow apenas para conteúdo que não deve ser rastreado; para remover do índice prefira noindex com acesso permitido ao crawler.
  • Mantenha regras simples e documentadas no repositório do projecto para evitar confusões entre equipas.

Como testar e verificar o robots.txt

Para validar comportamento a partir de fora do servidor use ferramentas simples e logs. Exemplo de comandos curl úteis:

  • Obter o corpo do robots.txt: curl http://www.yoursite.com/robots.txt
  • Verificar cabeçalhos (status e content-type): curl -I http://www.yoursite.com/robots.txt — (curl -I retorna apenas cabeçalhos).
  • Simular um user-agent específico: curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" http://www.yoursite.com/robots.txt

Confirme também o código HTTP (deve ser 200) e o content-type. Se o ficheiro devolve 404 ou 5xx, crawlers tratarão o site como sem robots.txt, o que pode alterar o comportamento de crawling. Verifique os logs do servidor para entradas de Googlebot Smartphone e outros crawlers que lhe interessam.

Checklist rápido de auditoria

  • Fetch do ficheiro robots.txt a partir da raiz (HTTP e HTTPS) — ex.: https://www.domain.com/robots.txt e http://www.yoursite.com/robots.txt.
  • Confirmar status HTTP 200 e content-type correto.
  • Verificar se há regras que bloqueiam ficheiros CSS/JS essenciais.
  • Confirmar que a directiva Sitemap aponta para o(s) sitemap(s) activos.
  • Testar regras com curl e inspecionar server logs para ver como crawlers reais reagem.
  • Assegurar que páginas que precisam de noindex não estão bloqueadas por Disallow.

Erros comuns que afetam SEO

  • Bloquear acidentalmente activos necessários para renderização móvel — com mobile-first indexing, isso causa diferenças entre o que o Google vê e o que o utilizador vê.
  • Usar Disallow para tentar impedir indexação em vez de usar noindex ou X-Robots-Tag; quando bloqueado, o crawler não lê o noindex.
  • Manter regras antigas após reestruturações, deixando secções importantes inacessíveis.
  • Formatar incorretamente o ficheiro (caracteres inválidos, BOM no início) levando a interpretações erradas por crawlers.

Lembre-se: alguns bots maliciosos ignoram robots.txt por design. Não use robots.txt para proteger dados sensíveis — coloque esse conteúdo atrás de autenticação ou remova-o do servidor público (ex.: http://www.yoursite.com/private).

Exemplos avançados e notas por crawler

Nem todos os crawlers interpretam padrões avançados da mesma forma (por ex. correspondência por wildcard). Para Google, a implementação aceita certos padrões; outros motores podem variar. Se tiver regras dirigidas a um agente específico, declare User-agent seguido das diretivas aplicáveis.

Exemplo de regras para bloquear um crawler específico e permitir outros:

  • User-agent: BadBot
  • Disallow: /
  • User-agent: *
  • Disallow: /tmp/
  • Allow: /tmp/public-file.html

Leia o guia de Technical SEO.

Considerações finais

O robots.txt é uma ferramenta valiosa para gerir o comportamento de crawlers, mas deve ser usada com cuidado: afeta crawling, não é uma barreira de segurança e pode ter efeitos inesperados na indexação se combinada com outras directivas. Teste sempre em ambiente de staging e verifique logs após publicar alterações.

Perguntas frequentes

Robots.txt impede que uma página seja indexada?

Não necessariamente. Disallow impede o crawler de aceder à página, mas se outros sites apontarem para essa URL ela pode aparecer no índice como entrada de URL sem snippet. Para controlar indexação de forma confiável, permita acesso ao crawler e use <meta name="robots" content="noindex"> ou X-Robots-Tag: noindex.

Como posso testar se o Google consegue ler o meu robots.txt?

Faça fetch direto com curl (ex.: curl http://www.yoursite.com/robots.txt), verifique status 200 com curl -I e simule o agente com curl -A. Consulte server logs para entradas do Googlebot Smartphone — desde julho de 2024 o Google usa esse agente por defeito para crawling.

Devo bloquear ficheiros grandes (imagens, PDFs) com robots.txt para poupar 'orçamento de crawl'?

Bloquear ficheiros grandes pode reduzir crawling desses recursos, mas também impede que bots leiam metadados ou instruções de indexação nesses ficheiros. Antes de bloquear, avalie se esses recursos contribuem para a experiência do utilizador ou para o SEO (por ex. PDFs com conteúdo valioso). Em alternativa, use técnicas de compressão e optimização para reduzir peso.

O que acontece se não existir robots.txt?

Se não houver um ficheiro em /robots.txt, os crawlers normalmente assumem que podem aceder a todas as páginas (com as limitações específicas do próprio crawler). Um ficheiro robots.txt vazio é equivalente a permitir tudo; contudo, se o ficheiro devolver erro 5xx ou for inacessível, alguns crawlers podem reduzir a atividade de rastreio por precaução.

Artigos relacionados