SEO

Canonical no Magento 2 vem desligado de fábrica

Duas linhas de configuração que valem mais que qualquer módulo de SEO pago — e que a maioria das lojas nunca ligou.

Por Roger Takemiya · Publicado em · 4 min de leitura

Toda auditoria de SEO que eu faço em loja Magento começa por aqui, e o resultado quase nunca muda: a tag canonical não existe nas páginas de produto e de categoria. Não é bug, não é tema mal feito. É o padrão de fábrica.

O arquivo app/code/Magento/Catalog/etc/config.xml traz category_canonical_tag e product_canonical_tag com valor 0. Ninguém liga porque ninguém olha ali, e a loja segue anos servindo a mesma ficha de produto em várias URLs sem dizer ao Google qual é a boa.

Os dois comandos que resolvem

Na raiz da loja:

php bin/magento config:set catalog/seo/product_canonical_tag 1
php bin/magento config:set catalog/seo/category_canonical_tag 1
php bin/magento cache:clean config full_page

Pelo admin é o mesmo lugar: Stores > Configuration > Catalog > Catalog > Search Engine Optimization, campos "Use Canonical Link Meta Tag For Products" e "Use Canonical Link Meta Tag For Categories".

A configuração é por store view. Loja com mais de uma view (português e espanhol, por exemplo) precisa do escopo explícito:

php bin/magento config:set --scope=stores --scope-code=default catalog/seo/product_canonical_tag 1

Se você usa app:config:dump, o valor vai parar no config.php e o campo fica cinza no admin. Nesse caso edite o arquivo, não o painel.

Confirme com curl, não com fé

Cache limpo, pegue qualquer URL de produto da loja:

curl -s https://sualoja.com.br/tenis-de-corrida.html | grep -i 'rel="canonical"'

Tem que voltar uma linha só, com a URL limpa do produto. Se voltar vazio, ou o cache não foi limpo, ou você mexeu no escopo errado. Repita numa URL de categoria.

Vale rodar de novo apontando para uma variação suja da mesma página, tipo ?utm_source=meta ou uma URL de filtro da navegação por camadas. O canonical tem que continuar apontando para a versão limpa.

O que essa tag resolve (e o que não)

No produto, o Magento monta o canonical ignorando a categoria de propósito. Ou seja: se a loja tem product_use_categories ligado e o mesmo tênis aparece em /masculino/tenis-de-corrida.html e em /promocoes/tenis-de-corrida.html, as duas apontam para a URL curta. É exatamente o caso de duplicação que mais aparece em loja brasileira.

Na categoria, o comportamento é diferente e é bom saber: o Magento preserva o parâmetro ?p= da paginação e descarta o resto. A página 2 aponta para ela mesma — o que está certo, o Google não quer que você jogue paginação toda para a página 1 — e a URL cheia de filtro aponta para a categoria limpa.

O que a tag não faz: ela é uma dica, não uma ordem. Se a sua navegação por camadas gera dezenas de milhares de URLs rastreáveis, o canonical sozinho não segura o rastreamento. Aí o assunto é outro, e está no guia de SEO técnico para Magento 2.

Depois de ligar, o que esperar

Não é botão de tráfego. O canonical é uma dica de consolidação, e o Google precisa rastrear as páginas de novo para respeitar. Em catálogo médio isso leva semanas, não horas.

O lugar de acompanhar é o relatório de indexação de páginas do Search Console. Se você tem muita URL classificada como duplicada com canônico escolhido pelo Google diferente do seu, é ali que o número deve começar a cair. Anote a data em que você ligou — sem isso, daqui a dois meses ninguém vai saber se melhorou por causa disso ou de outra coisa.

Um conselho de quem já se queimou: não ligue o canonical no mesmo dia em que troca sufixo de URL, muda estrutura de categoria ou publica redirecionamento em massa. Quando tudo muda junto e o tráfego oscila, você fica sem saber o que reverter.

Perguntas rápidas

Ligar o canonical pode fazer eu perder tráfego?

Em loja normal, não. O risco existe quando o canonical aponta para uma página errada, por exemplo um tema customizado que joga tudo para a home. Confira com curl em três ou quatro URLs antes de considerar o assunto encerrado.

Preciso do canonical se as URLs de produto já são curtas?

Precisa. Mesmo sem categoria na URL, aparecem variações com parâmetro de campanha, de ordenação e de sessão. O canonical é quem diz ao buscador qual delas vale.

E a página de busca interna da loja?

Essa não é resolvida por aqui. A busca interna precisa de noindex, que é uma configuração separada e não tem relação com as duas opções de canonical do catálogo.

Pra conferir na fonte

  1. Magento_Catalog 2.4.8: etc/config.xml — Magento no GitHub
  2. Magento_Catalog: Helper/Category.php — Magento no GitHub
  3. Configuration reference: Catalog — Adobe Experience League
  4. How to specify a canonical URL with rel="canonical" — Google Search Central

canonical seo config

Precisa de um orçamento? Ficarei feliz em ajudar. Clique Aqui