Canonical ou redirect 301: como decidir qual usar

Use redirect 301 quando a URL antiga não precisa mais existir para as pessoas. Use rel=canonical quando as duas URLs precisam continuar acessíveis, mas você quer que o Google trate uma delas como a versão principal. Essa é a regra de bolso, e ela resolve a maioria dos casos antes mesmo de você pensar em sinais de ranqueamento.
O problema é que os dois mecanismos se sobrepõem no resultado (consolidar sinais em uma URL só) e divergem no comportamento. O redirect é uma ordem: o navegador e o rastreador chegam ao destino e ponto. O canonical é uma sugestão: a página continua abrindo, continua podendo ser rastreada, e o Google decide se aceita a indicação. Este guia não explica cada mecanismo do zero. Ele compara os dois em situações reais, para você escolher sem adivinhar.
A pergunta que decide: a URL antiga ainda precisa abrir?
Antes de pensar em SEO, pense no visitante. Se alguém clicar na URL antiga, o que deveria acontecer? Se a resposta for “ir para a outra página, porque esta não faz mais sentido”, é caso de 301. Se a resposta for “continuar aqui, porque esta página tem uma função própria”, é caso de canonical.
Essa pergunta filtra quase tudo. Uma página de produto filtrada por cor precisa abrir, porque o cliente está navegando nela. Um post de 2019 que você reescreveu e publicou em outra URL não precisa abrir: ninguém ganha nada vendo a versão velha. O primeiro é canonical, o segundo é 301.
Existe um segundo critério, de confiança. O 301 é tratado pelo Google como um sinal forte de que o destino é a URL preferida, e o rastreador segue o redirect em vez de indexar a origem. O canonical é um sinal que o Google pesa junto com outros: links internos, sitemap, redirects, conteúdo parecido. Se a indicação contradiz o que o resto do site diz, ele pode ignorar o canonical e escolher outra URL por conta própria. Quando você precisa de certeza, o redirect dá mais garantia. Quando você precisa manter as duas páginas vivas, o canonical é a única opção.
- 301: a URL antiga deixa de ser uma página. Quem chega nela é enviado ao destino. Serve para substituir.
- Canonical: as duas URLs continuam existindo e respondendo 200. Serve para agrupar.
- Se você não consegue decidir: pergunte se um usuário teria motivo legítimo para estar na URL antiga. Se tiver, não redirecione.
Parâmetros de URL: quase sempre canonical
Parâmetros de rastreamento (utm_source, utm_campaign, gclid), de sessão e de ordenação (?ordem=preco) criam dezenas de endereços para o mesmo conteúdo. Aqui o canonical é o padrão, por um motivo simples: o parâmetro existe porque algo depende dele. A campanha de e-mail precisa do utm para atribuir a visita, e o parâmetro de ordenação muda o que o visitante vê na tela.
Se você redirecionasse com 301 toda URL com utm para a versão limpa, o sistema de análise poderia perder a origem da visita, dependendo de como a ferramenta lê a URL no momento do carregamento. O canonical resolve sem tocar na navegação: a página com ?utm_source=newsletter carrega normalmente e aponta para a URL sem parâmetros como versão principal.
Um exemplo. A página /camisetas/ pode ser aberta como /camisetas/?ordem=menor-preco. O conteúdo é o mesmo conjunto de produtos em outra sequência. Coloque na versão ordenada um canonical apontando para /camisetas/. O visitante continua vendo a ordenação que escolheu, e o Google agrupa as duas.
Há uma exceção que pesa no outro lado: parâmetros que só existem por bug ou por legado, como um ID de sessão que vazou para os links internos. Se nenhum usuário depende deles, o ideal é corrigir a origem do problema e, enquanto isso, redirecionar. Canonical em milhares de URLs geradas por acidente é um remendo que ainda gasta orçamento de rastreamento, porque o Google precisa visitar cada uma para ler a indicação. Para o caso específico de filtros combinados, vale o guia de navegação por facetas, que trata do que indexar e do que bloquear.
Variações de produto: depende de quão diferente é a página
Aqui a resposta não é automática, e a pergunta útil muda: a variação tem demanda própria? Uma camiseta vendida em cinco cores pode ter cinco URLs. Se as páginas só trocam a foto e o seletor de cor, e a descrição, o preço e as avaliações são idênticos, o canonical para a página principal faz sentido. As cinco continuam abrindo para o cliente, e a busca enxerga um produto só.
Mas se as variações são, na prática, produtos diferentes, o canonical atrapalha. Um notebook com 8 GB e o mesmo modelo com 32 GB têm preço, ficha técnica e público distintos. Quem pesquisa a configuração específica merece encontrar a página específica. Apontar o canonical da versão de 32 GB para a de 8 GB diz ao Google que a segunda é irrelevante, e ela pode simplesmente desaparecer dos resultados.
O 301 aparece em outro momento do ciclo do produto: quando uma variação é descontinuada. Se a cor azul saiu de linha definitivamente, redirecione a URL dela para a página principal do produto ou para a variação mais próxima. Se o produto inteiro saiu e não há substituto, um redirect para a categoria pode servir, mas redirecionar tudo para a home confunde o usuário e costuma ser tratado como erro do tipo soft 404. Nesse caso, o correto é devolver 404 ou 410, como explicado no guia sobre como remover uma URL do Google.
- Mesma descrição, mesmo preço, só muda a cor ou o tamanho: canonical para a página principal.
- Configuração que muda preço, ficha e intenção de busca: cada URL com canonical para si mesma.
- Variação descontinuada com substituto claro: 301 para o substituto.
- Produto descontinuado sem substituto: 404 ou 410, não redirect para a home.
Conteúdo duplicado: quem controla a outra cópia?
Quando o mesmo texto aparece em dois lugares, a decisão depende de quem é dono da segunda cópia. Se as duas URLs são suas e a segunda não tem razão de existir, como uma versão /imprimir/, uma página de teste esquecida ou um caminho antigo de categoria, use 301. Você elimina a duplicata na raiz, e o Google não precisa escolher.
Se a segunda cópia precisa existir, o canonical é o caminho. Um caso comum é a mesma matéria publicada em duas seções do site, cada uma com seu menu e seu breadcrumb. Os leitores chegam por caminhos diferentes, então as duas URLs abrem, e um canonical indica qual delas você quer ver nos resultados.
O terceiro cenário é a republicação em outro domínio, por parceria ou sindicação. Você não controla o servidor do parceiro, então não consegue redirecionar. O que você pode pedir é que o parceiro coloque um canonical apontando para o seu original. O Google trata esse canonical entre domínios como uma indicação, não como uma garantia, e o parceiro pode ignorar o pedido ou o Google pode preferir a cópia deles. Se o vínculo com o original é importante, combine isso por escrito antes de ceder o conteúdo.
Um detalhe que engana: canonical só agrupa páginas que são de fato muito parecidas. Apontar o canonical de uma página para outra com conteúdo bem diferente, por exemplo de um artigo longo para a home, costuma ser ignorado. O Google compara o conteúdo, e uma indicação que não combina com o que ele vê perde valor.
Consolidando posts: por que aqui é quase sempre 301
Fundir conteúdo é o caso em que as pessoas mais erram por usar canonical. Imagine três posts sobre o mesmo tema, cada um competindo com os outros. Você reescreve um deles como versão definitiva, com o melhor de cada um. O que fazer com os outros dois?
Se você deixar os dois abertos com canonical para o post novo, continua mantendo páginas que ninguém precisa ler, rastreadores gastando tempo nelas e um sinal que o Google pode discordar, já que o conteúdo dos posts antigos deixou de ser igual ao do novo. Se você os redireciona com 301, os links externos que apontavam para eles passam a beneficiar o post definitivo, os leitores que chegam por favoritos caem no lugar certo e o site fica mais enxuto.
O roteiro costuma ser este: escolha o post que vai sobreviver, normalmente o que já tem mais links e tráfego, atualize-o incorporando o que valia a pena dos outros, redirecione as URLs antigas com 301 direto para ele (sem passar por intermediárias) e atualize os links internos para apontarem ao destino final. O redirect funciona sem esse último passo, mas deixar links internos apontando para URLs que redirecionam desperdiça rastreamento e atrasa a página.
O destino precisa ser relevante. Um redirect de um post sobre “como escolher um plano de hospedagem” para um post sobre “o que é CDN” não consolida nada: o Google pode tratá-lo como soft 404 e ignorar a transferência. Se não existe um equivalente próximo, é mais honesto manter o post antigo, atualizá-lo ou removê-lo.
Erros que misturam os dois e confundem o Google
A maior parte dos problemas reais não vem de escolher o mecanismo errado, e sim de combiná-los de forma contraditória. Estes são os que mais aparecem em auditorias:
- Canonical apontando para uma URL que redireciona. A página A diz que a versão principal é B, mas B responde 301 para C. O Google precisa resolver a cadeia, e o sinal fica enfraquecido. Aponte o canonical direto para a URL final, que responde 200.
- Canonical apontando para uma página com noindex ou que retorna erro. Você pede para indexar a versão principal e, ao mesmo tempo, proíbe a indexação dela. O resultado é imprevisível e pode tirar as duas URLs do índice.
- 301 e canonical na mesma URL de origem. Se a URL redireciona, o canonical dela nunca será lido pelo usuário e dificilmente pelo rastreador, que segue para o destino. O que importa é o canonical da página de destino, que deve apontar para si mesma.
- Redirecionar tudo para a home. Não consolida nada. O Google tende a tratar como soft 404, e o usuário que procurava um assunto específico vai embora.
- Canonical relativo ou com domínio errado. Um canonical gerado por template que aponta para o ambiente de homologação, ou para http em um site https, é um erro silencioso comum depois de migrações.
- Usar canonical para esconder páginas. Canonical não remove nada do índice. Se a intenção é tirar uma URL do Google, o caminho é outro.
Como conferir se a decisão funcionou
Depois de aplicar, verifique o que o Google de fato entendeu. No Search Console, a inspeção de URL mostra dois campos que respondem a essa dúvida: o canonical que você declarou e o canonical que o Google escolheu. Se forem diferentes, o Google discordou de você, e vale investigar por quê. As causas típicas são conteúdo diferente demais entre as páginas, links internos apontando para a outra versão e sitemaps listando a URL não preferida.
No relatório de páginas, o status “Página alternativa com tag canônica adequada” indica que o agrupamento está funcionando como você pediu. Já “Duplicada: o Google escolheu uma página canônica diferente da do usuário” é o sinal de divergência. Para redirects, o status “Página com redirecionamento” é esperado nas URLs antigas e não é um problema em si.
Fora do Google, basta testar na linha de comando. Um curl com a opção -I na URL antiga deve mostrar o código 301 e o cabeçalho Location com o destino final. Na página de destino, abra o código-fonte e confirme que a tag link rel=canonical aponta para a própria URL. Em um rastreamento do site inteiro, procure cadeias de redirect com mais de um salto e canonicals que apontam para URLs que não respondem 200.
Por fim, dê tempo. Nem o Google nem o rastreador refazem a leitura de todas as URLs ao mesmo tempo, e páginas pouco visitadas podem levar semanas para refletir a mudança. Não alterne entre canonical e 301 a cada semana por impaciência, porque cada troca reinicia a avaliação.
Perguntas frequentes
Posso usar canonical e 301 ao mesmo tempo?
Na mesma URL de origem, não faz sentido, porque o redirect leva o visitante para outro lugar antes de a página ser lida. O que é normal e recomendado é a página de destino do 301 ter um canonical apontando para si mesma. Isso reforça qual é a versão principal.
O canonical transfere autoridade como o 301?
Os dois servem para consolidar sinais em uma URL, mas o 301 é um sinal mais forte e determinístico, enquanto o canonical é uma indicação que o Google pode aceitar ou não. Para garantir a consolidação, o redirect é mais confiável. Para manter as duas páginas acessíveis, o canonical é a ferramenta disponível.
Devo usar 301 ou canonical para http e https?
Para protocolo, o 301 é o caminho natural, porque a versão insegura não precisa abrir para ninguém. O canonical pode complementar, apontando para a versão https em todas as páginas. Quem só usa canonical deixa as duas versões respondendo 200 sem necessidade.
Quanto tempo o Google leva para reconhecer o canonical ou o redirect?
Depende da frequência de rastreamento da URL. Páginas importantes e muito visitadas costumam ser reprocessadas mais rápido, e páginas obscuras podem levar semanas. Acompanhe a inspeção de URL no Search Console para ver o canonical escolhido.