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

Canonical e-commerce: variantes, filtros, paginação

O canonical é muitas vezes mal usado em sites e-commerce. Eis 4 casos concretos — variantes, filtros, paginação e idiomas — com a implementação certa.

#canonical#conteudo duplicado#seo tecnico
Canonical e-commerce: variantes, filtros, paginação

Canonical e-commerce: gerir variantes, filtros, paginação

A tag <link rel="canonical"> é uma das ferramentas SEO mais fortes — e das mais mal utilizadas em sites e-commerce. Quando está bem configurada, resolve conteúdo duplicado, concentra a autoridade SEO e permite gerir corretamente os milhares de URLs técnicas que um catálogo gera.

Eis os 4 casos concretos que aparecem em 90% das lojas, e a implementação certa para cada um.

O self-referential canonical: a base

Cada página do seu site deve ter um canonical que aponta para si própria. Ao início parece contraintuitivo, mas é a regra.

<!-- Página: https://example.com/products/chaussure-derby -->
<link rel="canonical" href="https://example.com/products/chaussure-derby" />

Porquê:

  • Indica ao Google que esta URL é a versão de referência (não uma cópia, não uma variante)
  • Protege contra parâmetros parasitas (UTM, tracking, etc.): se alguém criar um link para /products/chaussure-derby?ref=newsletter, o Google vê o canonical e sabe que a URL real é a versão limpa
  • Permite normalizar URLs com/sem trailing slash, com/sem www, http vs https

Sem canonical, o Google tem de adivinhar que URL canonizar, e as suas escolhas nem sempre são as melhores.

Caso 1 — Variantes de produto

Este é o caso mais frequente. Um produto com 5 cores × 4 tamanhos = 20 variantes. Cada variante tem potencialmente uma URL distinta:

/products/chaussure-derby                          ← produto principal
/products/chaussure-derby?variant=12345            ← variante 44 preto
/products/chaussure-derby?variant=12346            ← variante 45 preto
/products/chaussure-derby?variant=12347            ← variante 44 castanho

Na maioria das plataformas (Shopify, WooCommerce), as variantes alteram o preço e as imagens mostradas, mas não criam uma nova página real — apenas a mesma página com um state diferente.

Implementação canonical:

<!-- Em TODAS estas URLs, o canonical aponta para o principal -->
<link rel="canonical" href="https://example.com/products/chaussure-derby" />

Mesmo que a URL atual seja ?variant=12346, o canonical é a versão sem parâmetro. O Google concentra todo o "link juice" na URL principal, e as variantes nunca aparecem nas SERP.

Erro frequente: deixar cada variante fazer self-canonical com o seu próprio parâmetro. Resultado: o Google vê 20 páginas quase idênticas e não posiciona nenhuma corretamente.

Caso 2 — Variantes com páginas distintas

Se o seu catálogo trata as variantes como páginas autónomas com URLs próprias (ex.: /products/chaussure-derby-noir-44), a lógica muda.

Se as variantes têm conteúdo SEO distinto (título diferente, descrição adaptada, reviews distintas):

  • Self-referential canonical em cada variante
  • hreflang ou lógica de links internos para as ligar entre si

Se as variantes partilham 90%+ do conteúdo:

  • Canonical para uma variante "principal" (geralmente a mais popular)
  • Ou canonical para o produto principal genérico

Exemplo:

<!-- /products/chaussure-derby-noir-44 -->
<link rel="canonical" href="https://example.com/products/chaussure-derby-noir" />

<!-- /products/chaussure-derby-noir-45 -->
<link rel="canonical" href="https://example.com/products/chaussure-derby-noir" />

Resultado: o Google indexa chaussure-derby-noir como versão canónica, os tamanhos específicos não aparecem nas SERP.

Caso 3 — Paginação de categorias

Tem uma categoria "Sapatos" com 200 produtos, paginada em 10 páginas:

/collections/chaussures          ← página 1
/collections/chaussures?page=2   ← página 2
/collections/chaussures?page=3   ← página 3

Abordagem 2026 (post rel=next/prev):

O Google deixou de suportar rel=next/prev em 2019. A melhor prática hoje é:

<!-- Em /collections/chaussures -->
<link rel="canonical" href="https://example.com/collections/chaussures" />

<!-- Em /collections/chaussures?page=2 -->
<link rel="canonical" href="https://example.com/collections/chaussures?page=2" />

<!-- Em /collections/chaussures?page=3 -->
<link rel="canonical" href="https://example.com/collections/chaussures?page=3" />

Cada página é self-referential — contêm conteúdo diferente (produtos diferentes), por isso merecem ser indexadas separadamente.

NÃO faça isto: canonizar todas as páginas paginadas para a página 1. É um erro frequente. Resultado: o Google só indexa a página 1, e os seus produtos nas páginas 3-10 ficam invisíveis.

Caso 4 — Filtros facetados

Este é o caso mais complexo. Uma categoria com filtros:

/collections/chaussures                      ← sem filtro
/collections/chaussures?color=noir           ← filtrado por cor
/collections/chaussures?color=noir&size=44   ← filtrado por cor + tamanho
/collections/chaussures?sort_by=price-asc    ← ordenado por preço

Três estratégias possíveis:

Estratégia 1 — Canonical de todas as variantes filtradas para a categoria principal

<!-- Em /collections/chaussures?color=noir -->
<link rel="canonical" href="https://example.com/collections/chaussures" />

Simples. Adequado se não quiser indexar as páginas filtradas. Perda: pesquisas como "sapatos pretos" não vão posicionar para a página filtrada certa.

Estratégia 2 — URLs limpas para filtros importantes, canonical self

Para combinações com volume de pesquisa elevado, criar URLs limpas:

/collections/chaussures-noir
/collections/chaussures-noir-homme

Cada URL tem o seu self-referential canonical, e as URLs com parâmetros (?color=noir) canonizam para essas versões limpas.

Estratégia 3 — Bloquear as URLs filtradas via robots.txt

Não deixar o Google rastreá-las de todo. Veja robots.txt e-commerce.

Recomendação: Estratégia 2 para os filtros comercialmente importantes, Estratégia 3 para as combinações infinitas.

Canonical e i18n: não confundir com hreflang

Armadilha clássica. Tem uma página FR e a sua tradução EN:

/fr/products/chaussure-derby
/en/products/leather-derby-shoes

❌ Erro: colocar um canonical da versão EN para a versão FR.

<!-- Em /en/products/leather-derby-shoes -->
<link rel="canonical" href="https://example.com/fr/products/chaussure-derby" />

Consequência: o Google ignora a versão EN, considera que é um duplicate de FR, e não a indexa.

✅ Boa prática: cada página localizada tem o seu próprio canonical + hreflang.

<!-- Em /en/products/leather-derby-shoes -->
<link rel="canonical" href="https://example.com/en/products/leather-derby-shoes" />
<link rel="alternate" hreflang="en" href="https://example.com/en/products/leather-derby-shoes" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/products/chaussure-derby" />

Veja o nosso guia completo hreflang e-commerce multilingue.

Implementação por plataforma

Shopify

A Shopify gera um canonical automaticamente em cada produto, apontando para a URL limpa sem parâmetros. Em geral, está correto por defeito. Pode fazer override através do template:

<!-- theme.liquid no <head> -->
<link rel="canonical" href="{{ canonical_url }}" />

Para URLs com variantes em parâmetro, a Shopify canoniza corretamente por defeito.

WooCommerce

Não há canonical nativo em todas as páginas. Os plugins SEO (Yoast, RankMath, AIO SEO) tratam disso. Todos fazem um self-referential canonical por defeito, com opção de personalização por página.

Verifique com um site: no Google ou com Screaming Frog que cada URL do seu site tem um canonical e que aponta para a URL certa.

Headless

Geração manual no componente de cada página. Em Next.js com generateMetadata, o campo alternates.canonical trata disto corretamente.

Auditoria canonical em 15 min

Passos:

  1. Crawl com Screaming Frog: o relatório "Canonical" identifica todas as URLs e os respetivos canonicals
  2. Filtre as anomalias:
    • URLs sem canonical → corrigir
    • Canonicals para uma URL 4xx ou 5xx → corrigir
    • Canonicals em cadeia (A → B → C) → simplificar para A → C diretamente
    • Páginas em noindex com canonical → contradição a resolver
  3. Verifique as variantes: para 10 produtos com variantes, confirme que todas as URLs de variantes têm um canonical correto
  4. Verifique a paginação: para cada categoria paginada, confirme a self-reference em cada página

FAQ

Uma página sem canonical é penalizada?

Não diretamente, mas fica em risco. O Google escolhe a sua própria URL canónica, que pode não ser a que quer. Numa loja e-commerce, defina sempre o canonical de forma explícita.

O canonical é respeitado pelo Google a 100%?

Não. O canonical é um sinal, e o Google pode ignorá-lo se considerar que outra URL é mais adequada. Razões frequentes: canonical para uma página de qualidade inferior, para uma página com menos backlinks, ou contradição com outros sinais (hreflang, internal linking).

Posso ter vários canonical numa página?

Não. Apenas uma tag <link rel="canonical"> por página. Se existirem várias, o Google ignora a diretiva por completo.

Canonical vs 301: qual é a diferença?

301 é um redirecionamento físico: o utilizador e o bot são enviados para outra URL. O canonical deixa a URL atual acessível, mas indica que outra é a versão de referência. Use 301 para URLs movidas de forma definitiva, canonical para duplicates intencionais (variantes, parâmetros).

Uma página com canonical para outra é indexada?

Não, normalmente não. O Google "funde" a página com o seu canonical e indexa apenas a URL canónica. Se quiser que ambas sejam indexadas (caso raro), tem de diferenciar o conteúdo e usar self-referential canonical em cada uma.

O canonical pode ser relativo (ex.: /products/foo)?

Tecnicamente sim, na prática não. Use sempre a URL absoluta com protocolo (https://example.com/products/foo). As URLs relativas são uma fonte de erros (scheme errado, host errado).


Para auditar e corrigir os canonicals do seu catálogo em grande escala, veja Ecomptimize para Shopify ou Ecomptimize para WooCommerce.

Gostaste deste artigo?