O que é uma URL canônica, e quando usar uma
Uma URL canônica é o único endereço que você indica como a versão real de uma página, para que os buscadores consolidem toda duplicata dela em um único resultado. Você a declara com <link rel="canonical" href="..."> no <head> da página, ou com um cabeçalho de resposta Link, e o endereço que você fornece precisa ser absoluto.
O que o rel=canonical realmente faz
O mesmo conteúdo costuma estar acessível em mais de uma URL. Parâmetros de rastreamento, identificadores de sessão, uma barra final, http junto com https, www junto com o domínio simples, uma visão de impressão, uma listagem ordenada: cada um desses é uma URL separada servindo as mesmas palavras. Deixado sozinho, um buscador escolhe um deles por conta própria, e pode não escolher o que você escolheria.
Uma canônica é como você torna essa escolha explícita:
<link rel="canonical" href="https://example.com/shoes">
Link: <https://example.com/shoes>; rel="canonical"
Duas propriedades valem a pena internalizar. Primeiro, é uma dica, não uma instrução. O Google a pesa contra redirecionamentos, links internos, entradas de sitemap e o próprio conteúdo, e pode escolher, e escolhe, uma canônica diferente da que você declarou. Segundo, ela consolida em vez de apagar. Os sinais da duplicata se acumulam na canônica, que é a diferença em relação ao noindex, onde a duplicata simplesmente para de existir do ponto de vista da busca.
Canônicas autorreferenciadas
Toda página indexável deveria se declarar como a própria canônica. Soa redundante e é a linha mais útil das três, porque é o que neutraliza parâmetros que você não previu. Quando /shoes?utm_source=newsletter declara https://example.com/shoes, a URL de campanha se funde na limpa automaticamente em vez de competir com ela.
Três regras para acertar: use URLs absolutas incluindo o esquema, emita exatamente um elemento canônico por página (uma página com duas canônicas conflitantes tem as duas ignoradas), e mantenha a canônica consistente com o resto dos seus sinais. Uma canônica apontando para uma URL que redireciona para outro lugar, ou que devolve 404, ou que carrega um noindex, envia instruções contraditórias e é descontada.
Canônicas entre domínios
Uma canônica pode apontar para outro domínio. Esse é o mecanismo correto quando você sindica um artigo para um site parceiro ou um agregador de notícias: a cópia no domínio deles declara a sua URL como canônica, então os ranqueamentos de busca se acumulam no seu original em vez de na republicação deles.
Isso também é o que torna as canônicas perigosas. Nada impede que uma página indique uma URL em um host com o qual não tem relação nenhuma, e nada na sintaxe faz uma canônica entre domínios acidental parecer errada. É daí que vem a falha de staging.
A falha de canônica de staging
A maioria dos frameworks e sistemas de gerenciamento de conteúdo constroem a canônica concatenando uma URL base configurada com o caminho atual. Essa URL base vive em uma variável de ambiente, uma linha de opção de banco de dados ou um arquivo de configuração, e é diferente em cada ambiente. Quando o valor de staging chega à produção, toda página no site ao vivo declara que a versão real vive em https://staging.example.com/....
O que segue é silencioso e lento. As páginas ao vivo continuam devolvendo 200 e continuam servindo o conteúdo certo. Mas cada uma delas está dizendo ao Google que a cópia autoritativa está em outro lugar, e esse outro lugar está inacessível, protegido por senha ou com noindex. As páginas começam a sair dos resultados um recrawl de cada vez, e como não há erro para alertar sobre, o primeiro sinal costuma ser um gráfico de tráfego uma semana depois. O reparo está coberto em corrigindo uma canônica que aponta para staging.
Canônica, redirecionamento ou noindex
Os três são usados de forma intercambiável e não são intercambiáveis:
- Redirecionamento 301 quando a duplicata não deveria ser acessível de forma alguma. O sinal mais forte disponível, e a resposta certa para uma URL aposentada ou uma mudança de domínio.
- rel=canonical quando as duas URLs precisam continuar acessíveis mas só uma deveria ranquear. Parâmetros, visões de impressão, cópias sindicadas, listagens filtradas.
- noindex quando a página precisa continuar acessível e não pode ranquear, e não há uma página equivalente para consolidar. Resultados de busca interna, páginas de agradecimento, áreas de conta.
Não empilhe eles. Uma canônica em uma página com noindex é contraditória, já que você está pedindo consolidação em uma página e ao mesmo tempo pedindo que essa relação seja ignorada.
Verifique o que você realmente serve
Ler o template não é verificação, porque edge workers, plugins e lógica do lado do servidor todos injetam canônicas que nunca aparecem no seu repositório. Leia a resposta em vez disso: curl -s https://example.com/ | grep -i 'rel="canonical"'. Para uma página, a verificação gratuita de canônica resolve a tag e diz se ela aponta para a própria página, para outra URL no mesmo host, para a versão http ou para outro host. Para verificar o site inteiro, a ferramenta gratuita de rastreamento de site reporta um status de canônica por URL, marcando as páginas onde está ausente e as páginas onde aponta para outro lugar. Observar suas páginas-chave para o dia em que o valor muda é o que a opção Indexability em um monitor HTTP da HostTracker faz - veja o monitoramento de SEO.