Saltar para o conteúdo principal
Voltar ao blogue
SEO técnico

robots.txt e-commerce: boas práticas e erros

Um robots.txt mal configurado numa loja online pode bloquear o crawl de milhares de páginas ou deixar o Google indexar filtros sem fim.

#robots.txt#crawl budget#seo técnico#ai bots
robots.txt e-commerce: boas práticas e erros

robots.txt e-commerce: boas práticas e erros

O ficheiro robots.txt parece simples: algumas linhas num ficheiro de texto na raiz do domínio. Na prática, é uma das áreas mais sensíveis do SEO e-commerce. Uma linha errada bloqueia o Google em 50 000 páginas de produto. Uma linha em falta deixa os bots de IA copiar o seu catálogo sem permissão.

Aqui está a estrutura correta em 2026, os erros a evitar e a gestão dos AI bots, que se tornaram um tema central.

O que o robots.txt faz e não faz

Faz:

  • Dizer aos bots que respeitam as regras que URLs não devem rastrear
  • Indicar a localização do sitemap
  • Diferenciar regras por user-agent

Não faz:

  • Impedir a indexação (um bot pode indexar sem rastrear, através de links externos)
  • Proteger URLs confidenciais (robots.txt é público, qualquer pessoa o pode ler)
  • Obrigar um bot a respeitar a regra (os maliciosos ignoram o robots.txt)

Regra crítica: o robots.txt é um sinal, não uma barreira. Para bloquear de facto, use autenticação, meta robots noindex ou uma firewall.

A estrutura típica de um robots.txt para e-commerce

Aqui está um robots.txt limpo para um site Shopify ou WooCommerce:

# Regras para todos os bots
User-Agent: *
Allow: /
Disallow: /api/
Disallow: /admin/
Disallow: /account/
Disallow: /cart
Disallow: /checkout
Disallow: /search?
Disallow: /*?variant=
Disallow: /*?utm_
Disallow: /*?preview=
Disallow: /collections/*?sort_by=
Disallow: /collections/*?*filter.*

# Regras especiais para AI bots (ver secção dedicada)
User-Agent: GPTBot
Disallow: /admin/
Allow: /

# Localização do sitemap
Sitemap: https://example.com/sitemap.xml

Explicação:

  • User-Agent: * = regra por defeito para todos os bots que não têm uma secção específica
  • Allow: / = permitir tudo por defeito
  • Disallow: = depois bloquear as secções sensíveis
  • Sitemap: = indica a localização do sitemap (crucial para AI bots sem acesso ao GSC)

As 7 zonas a bloquear sistematicamente

Em qualquer e-commerce, bloqueie:

  1. /api/ — endpoints de API internos, nunca úteis nas SERP
  2. /admin/ ou equivalente (ex.: /wp-admin/) — back-office, confidencial
  3. /account/ — área de cliente autenticada, privada
  4. /cart e /checkout — páginas transacionais, sem valor SEO
  5. /search?q= — resultados de pesquisa interna (criam URLs infinitas)
  6. /*?variant= — variantes de produto (canonical para o produto principal)
  7. /*?utm_ — URLs de tracking (duplicados das URLs canónicas)

Para WooCommerce em específico, adicione:

Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /?add-to-cart=
Disallow: /?add_to_wishlist=

Para Shopify, adicione:

Disallow: /orders
Disallow: /wishlist

Filtros facetados: o erro n.º 1

Esta é a principal causa de desperdício de crawl budget. Num catálogo com filtros dinâmicos (tamanho, cor, marca, preço), cada combinação gera uma URL:

/collections/chaussures?color=noir
/collections/chaussures?color=noir&size=44
/collections/chaussures?color=noir&size=44&brand=atelier-maison
/collections/chaussures?color=noir&size=44&brand=atelier-maison&price=50-100

Num catálogo com 5 filtros × 10 opções cada, estamos a falar de 10^5 = 100 000 URLs geradas dinamicamente. O Google rastreia tudo isso, não encontra nada de único e ignora as verdadeiras páginas de produto em favor de ruído.

Solução: bloquear todas as URLs com query params de filtragem:

Disallow: /collections/*?*filter.*
Disallow: /collections/*?*sort_by*
Disallow: /collections/*?*pg=

Em alternativa, no frontend, use URLs limpas para os filtros importantes (/collections/chaussures-noir/ em vez de ?color=noir) e bloqueie apenas as combinações infinitas.

AI bots: a nova realidade do SEO

Desde 2023, os AI bots (GPTBot, ClaudeBot, PerplexityBot, GoogleOther, ByteSpider, etc.) rastreiam ativamente a web para treinar os seus modelos. O seu catálogo e-commerce é um alvo: as páginas de produto são estruturadas, informativas e em grande volume.

As 3 opções possíveis

Opção A — Permitir todos os AI bots (recomendado para 2026)

Os AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews) citam cada vez mais fontes. Estar presente nessas citações = tráfego qualificado em 2026 e 2027. Bloquear os AI bots corta essa fonte.

User-Agent: GPTBot
Allow: /
Disallow: /admin/
Disallow: /account/

Repita este padrão para: ClaudeBot, Claude-Web, anthropic-ai, PerplexityBot, Perplexity-User, ChatGPT-User, OAI-SearchBot, Google-Extended, Applebot-Extended, Bytespider, CCBot, cohere-ai, Diffbot, FacebookBot, Meta-ExternalAgent, Meta-ExternalFetcher, Amazonbot, YouBot.

Opção B — Bloquear os AI bots de treino, permitir os AI search

Alguns AI bots servem para treino (OpenAI GPTBot, Google-Extended), outros para pesquisa em tempo real (ChatGPT-User, Perplexity-User). Pode diferenciá-los:

User-Agent: GPTBot          # Training
Disallow: /

User-Agent: ChatGPT-User    # Live search
Allow: /

É uma abordagem pragmática se receia que o seu conteúdo alimente modelos sem contrapartida, mantendo ao mesmo tempo a visibilidade nos AI search.

Opção C — Bloquear tudo

User-Agent: GPTBot
Disallow: /

Raramente é uma boa ideia em 2026. Custo: zero visibilidade nos AI search engines. Benefício: o seu conteúdo deixa de servir para treinar IA gratuitamente.

Porque a Ecomptimize recomenda a opção A

Em lojas e-commerce, a visibilidade nos AI search já se mede em tráfego (5-10% dos referrers em alguns setores). Bloquear os AI bots não impede o treino — o seu conteúdo acaba por ser reutilizado por outros meios — mas retira-lhe a possibilidade de citação futura.

Testar antes de publicar

Antes de publicar um novo robots.txt, teste-o:

  1. Teste de sintaxe: através do Google Search Console → robots.txt Tester
  2. Teste de URL específica: para cada padrão bloqueado/autorizado, verificar se uma URL de teste devolve o resultado esperado
  3. Simulação de crawl: o Screaming Frog pode simular um crawl segundo o seu robots.txt antes da publicação

Erro clássico a evitar: publicar um Disallow: / (que bloqueia todo o site) em produção ao tentar testar alguma coisa. Caso real: uma grande loja francesa desapareceu do Google durante 3 semanas por causa desta linha publicada por engano.

Por plataforma

Shopify

A Shopify gera automaticamente um robots.txt aceitável. Desde 2021, pode personalizá-lo através do ficheiro robots.txt.liquid no seu tema (Online Store → Themes → Edit code). Para um override limpo:

{%- for group in robots.default_groups -%}
  {{- group.user_agent }}

  {%- for rule in group.rules -%}
    {{ rule }}
  {%- endfor -%}

  {%- if group.sitemap != blank -%}
    {{ group.sitemap }}
  {%- endif -%}
{%- endfor -%}

# Custom rules (append)
User-Agent: GPTBot
Allow: /
Disallow: /admin/

WooCommerce / WordPress

Não existe robots.txt por defeito. Gere-o através de um plugin SEO (Yoast, RankMath) ou manualmente na raiz do domínio. Atenção para não deixar o robots.txt por defeito do WordPress, que bloqueia /wp-admin/ mas permite admin-ajax.php (necessário para algumas funcionalidades do frontend).

Next.js / headless

Crie um ficheiro public/robots.txt ou gere-o dinamicamente através de app/robots.ts (Next 13+). Em multi-locale, basta um único robots.txt — não é necessário localizá-lo.

Auditoria robots.txt em 10 min

Verificações essenciais:

  • https://example.com/robots.txt devolve um 200 com Content-Type: text/plain
  • Não existe Disallow: / acidental na secção geral
  • Todas as zonas sensíveis (/admin/, /account/, /api/) estão bloqueadas
  • Os filtros facetados e query params estão bloqueados
  • O sitemap está referenciado no fim do ficheiro
  • Os AI bots têm uma secção dedicada com a sua estratégia (allow ou disallow, conforme a opção)
  • Nenhum bloqueio de /wp-admin/admin-ajax.php (se WordPress) — quebra funcionalidades do frontend

FAQ

Posso bloquear um bot via robots.txt e ainda assim vê-lo nos meus logs?

Sim. O robots.txt é um sinal, não uma firewall. Os bots que respeitam as regras (Google, Bing, os principais AI) obedecem. Os maliciosos ignoram. Se um bot aparecer nos seus logs apesar de um Disallow, use um WAF (Cloudflare, por exemplo) para o bloquear de facto.

Devo bloquear bots de scraping de concorrentes (Ahrefs, Semrush)?

É uma escolha estratégica. Bloquear Ahrefs/Semrush impede os concorrentes de analisarem o seu perfil SEO. Custo: também perde os dados do seu próprio site nessas ferramentas. Recomendação: deixe passar se usa essas ferramentas; bloqueie se não usa.

O robots.txt pode bloquear o Google?

Sim. User-Agent: Googlebot + Disallow: / bloquearia o Google de qualquer crawl. Caso real em que isso é útil: um site em desenvolvimento antes do lançamento, para evitar indexação prematura. Com um aviso absoluto: retire sempre esta regra antes de lançar a produção pública.

Quanto tempo demora uma alteração ao robots.txt a aplicar-se?

O Google volta a rastrear o robots.txt a cada 24-48h, aproximadamente, num site ativo. Se passar a permitir conteúdo novo, conte com 1-2 semanas para ver os efeitos na indexação. Se bloquear, a paragem do crawl é quase imediata.

O robots.txt afeta o ranking?

Indiretamente. Bem configurado, concentra o crawl budget nas URLs certas, o que acelera a indexação de novas páginas e melhora a perceção de frescura. Mal configurado, pode subindexar o seu catálogo e penalizar o tráfego orgânico.

O meu concorrente usa Disallow: /products/ — o que devo fazer?

Nada, é um problema dele. Isso significa que todas as páginas de produto dele deixaram de ser indexadas — o tráfego orgânico cai. Não copie essa estratégia, a menos que o seu modelo de negócio o justifique (produtos confidenciais, lançamento em pré-venda antes da saída oficial).


A Ecomptimize gera automaticamente um robots.txt otimizado com suporte para AI bots para a sua loja. Veja Ecomptimize para Shopify ou Ecomptimize para WooCommerce.

Gostaste deste artigo?