O robots.txt é mais importante do que parece
O arquivo robots.txt parece inofensivo: umas poucas linhas de texto que dizem aos crawlers o que podem ou não rastrear. Mas configurá-lo errado — ou não configurá-lo — pode ter consequências sérias.
Vou apresentar três cenários reais que mostram o que acontece quando o robots.txt é ignorado.
Cenário 1: O e-commerce que indexou 400.000 URLs de filtro
O que aconteceu
Um e-commerce de moda com ~5.000 produtos tinha filtros de busca que geravam URLs dinâmicas:
/camisetas?cor=azul
/camisetas?cor=azul&tamanho=m
/camisetas?cor=azul&tamanho=m&material=algodao
/camisetas?cor=azul&tamanho=m&material=algodao&preco=0-100
Cada combinação de filtro gerava uma URL única. Com 5.000 produtos e dezenas de filtros, isso resultou em mais de 400.000 URLs indexadas pelo Google — a grande maioria com conteúdo duplicado ou quase idêntico.
O impacto
- Crawl budget desperdiçado: o Googlebot gastava 80% do tempo rastreando URLs de filtro em vez de páginas de produto.
- Conteúdo duplicado massivo: centenas de URLs com os mesmos produtos, diferindo apenas na ordem dos filtros.
- Diluição de autoridade: os poucos backlinks do site eram distribuídos entre milhares de URLs.
- Páginas importantes não indexadas: produtos novos demoravam semanas para aparecer no Google porque o crawler estava ocupado com URLs de filtro.
A solução
- robots.txt atualizado para bloquear padrões de filtro:
User-agent: *
Disallow: /*?cor=
Disallow: /*?tamanho=
Disallow: /*?material=
Disallow: /*?preco=
Disallow: /*&
- Meta noindex nas páginas de filtro para garantir desindexação.
- Canonical tag em todas as páginas de filtro apontando para a URL limpa da categoria.
- Sitemap atualizado contendo apenas as 5.000 URLs de produto e as categorias principais.
O resultado
Em 3 meses:
- URLs indexadas caíram de 400.000 para 6.200 (as que realmente importavam).
- Tempo médio de indexação de novos produtos: de 18 dias para 3 dias.
- Tráfego orgânico aumentou 34% — com menos páginas indexadas, mais autoridade concentrada.
Cenário 2: A migração que bloqueou o site inteiro
O que aconteceu
Durante uma migração de servidor, a equipe técnica copiou o robots.txt do ambiente de staging para produção. O problema: o staging tinha uma regra para impedir indexação.
User-agent: *
Disallow: /
Duas linhas. Bloquearam o site inteiro.
O impacto
- O Googlebot parou de rastrear todas as páginas do site.
- Em 72 horas, as posições começaram a cair.
- Em 2 semanas, o site perdeu 85% do tráfego orgânico.
- Páginas que ranqueavam na posição 1-3 caíram para posições 50+.
O mais cruel: ninguém percebeu por 10 dias. O time de marketing viu a queda no analytics e assumiu ser um Core Update.
A solução
- Correção imediata do robots.txt:
User-agent: *
Allow: /
Disallow: /admin/
Disallow: /staging/
Sitemap: https://seusite.com/sitemap.xml
- Solicitação de indexação das páginas principais via Search Console.
- Monitoramento diário das posições.
O resultado
- A recuperação começou em 3-4 dias após a correção.
- Recuperação de 80% do tráfego em 3 semanas.
- Recuperação total em 6 semanas.
- Algumas páginas que competiam em SERPs muito disputadas perderam posição permanentemente — outros sites tomaram seu lugar durante o período offline.
A lição
Sempre verifique o robots.txt após qualquer migração, deploy ou mudança de servidor. Uma verificação de 5 segundos teria evitado 6 semanas de dor.
# Verificação rápida
curl -s https://seusite.com/robots.txt
Cenário 3: O blog que deixou o admin aberto
O que aconteceu
Um blog WordPress não tinha robots.txt configurado. O padrão do WordPress bloqueia /wp-admin/, mas esse site usou uma configuração customizada que removeu o bloqueio.
O Googlebot encontrou e rastreou:
/wp-admin/— a área administrativa./wp-login.php— a página de login./?s=— resultados de busca interna./wp-json/— a API REST com dados de usuários./author/admin/— a página de autor do admin./feed/— os feeds RSS de todas as categorias.
O impacto
- Segurança: informações da área administrativa e dados de usuários expostos nos resultados de busca.
- Crawl budget desperdiçado: milhares de URLs de busca interna (cada query diferente gerava uma URL).
- Conteúdo fino indexado: páginas de autor com 1 post, resultados de busca vazios, feeds RSS duplicando o conteúdo.
- Perfil de indexação poluído: 3x mais URLs no índice do que páginas de conteúdo real.
A solução
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /feed/
Disallow: /comments/feed/
Disallow: /trackback/
Disallow: /*?replytocom=
Disallow: /wp-json/
Sitemap: https://seusite.com/sitemap_index.xml
Complementado com noindex nas páginas de author, search results e feeds via plugin de SEO.
O resultado
Em 2 meses, as URLs indexadas caíram de 12.000 para 1.800. O tráfego orgânico subiu 22% porque o Google passou a focar nos posts de conteúdo real.
Padrões e lições em comum
1. O robots.txt é a primeira linha de defesa
Ele define o que o Googlebot pode rastrear. Não configá-lo é como deixar a porta aberta.
2. robots.txt não impede indexação
Bloquear no robots.txt impede o rastreamento, mas não a indexação. Se uma URL bloqueada recebe links externos, o Google pode indexá-la mesmo sem rastrear o conteúdo. Para desindexar, use noindex.
3. Monitore regularmente
Uma verificação mensal do robots.txt e do relatório de indexação do Search Console previne todos os cenários acima.
4. Ambientes de staging precisam de proteção
Nunca copie configs de staging para produção sem revisão. Use senhas HTTP ou IPs restritos para staging, além do robots.txt.
5. Automatize verificações
Adicione ao seu pipeline de deploy:
# Verificar que robots.txt não bloqueia tudo
robots=$(curl -s "https://seusite.com/robots.txt")
if echo "$robots" | grep -q "Disallow: /$"; then
echo "ALERTA: robots.txt está bloqueando o site inteiro!"
exit 1
fi
O robots.txt ideal para WordPress
User-agent: *
Allow: /
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /search/
Disallow: /author/
Disallow: /feed/
Disallow: /*?replytocom=
User-agent: GPTBot
Disallow: /
User-agent: ChatGPT-User
Disallow: /
User-agent: CCBot
Disallow: /
Sitemap: https://seusite.com/sitemap_index.xml
Conclusão
O robots.txt é simples mas crítico. Os três cenários mostram que ignorá-lo pode custar tráfego, performance e até segurança. Leva 5 minutos para configurar corretamente e 5 segundos para verificar após um deploy.
Faça agora: curl -s https://seusite.com/robots.txt e confirme que tudo está como deveria.