# Como corrigir o erro de canonical URL no SEOPress

O canonical errado no SEOPress acontece quando a tag rel canonical da página aponta para um endereco diferente do esperado, geralmente por um valor manual preso no campo Canonical URL da aba Advanced, por divergencia de www ou https no endereco do site, ou por um segundo plugin de SEO emitindo a própria tag.

## O que é o canonical URL errado no SEOPress?

O canonical URL e a tag rel canonical que o SEOPress insere no cabeçalho de cada página para dizer ao Google qual e a versão oficial daquele conteúdo. Por padrão o SEOPress gera essa tag automaticamente apontando para a URL da própria página, e você não precisa configurar nada. O erro aparece quando o canonical passa a apontar para o endereco errado: outra página, a home, uma versão com www quando o site usa sem www, ou http quando o site e https. Quando isso acontece, o Google trata a página certa como copia da que esta no canonical e pode tirar a página certa do indice.

## Como identificar

- No código-fonte da página, a tag rel canonical aponta para uma URL diferente da que você esta acessando.
- O Google Search Console mostra na inspecao de URL o aviso de que a URL canonica declarada pelo usuário difere da URL real, com a mensagem do tipo Página alternativa com tag canonica adequada.
- Páginas internas exibem o canonical apontando para a home do site ou para outra página sem relacao.
- Aparecem duas tags rel canonical no cabeçalho da página, uma do SEOPress e outra de um segundo plugin de SEO.
- O canonical aparece com www ou com http enquanto o site real responde sem www ou em https.

## Como prevenir

- Deixe o campo Canonical URL da aba Advanced sempre vazio, exceto quando você intencionalmente aponta uma página para outra canonical
- Mantenha apenas um plugin de SEO ativo por vez para evitar tags canonical duplicadas
- Ao duplicar páginas, confira o campo Canonical URL da copia, que pode vir com o endereco da página original
- Padronize o Endereco do WordPress e o Endereco do site na mesma forma de www e https desde o inicio do projeto

Erros relacionados

- [Como corrigir URLs canonicas duplicadas no WordPress](https://full.services/wp-fixer/corrigir-canonical-duplicado-wordpress/)
- [Como corrigir meta tags duplicadas entre SEOPress e Rank Math](https://full.services/wp-fixer/corrigir-meta-tags-duplicadas-seopress-rankmath/)
- [Como corrigir meta tags que não aplicam em templates Elementor no SEOPress](https://full.services/wp-fixer/corrigir-meta-tags-elementor-seopress/)

## Causa

- Valor manual preso no campo Canonical URL da aba Advanced do metabox do SEOPress, copiado ou herdado de outra página ao duplicar o conteúdo.
- Divergencia entre o Endereco do WordPress e o Endereco do site em Configurações Gerais, com uma versão em www ou http e a outra sem, fazendo o canonical herdar o valor errado.
- Segundo plugin de SEO ativo ao mesmo tempo, como Yoast ou Rank Math, emitindo a própria tag rel canonical e gerando duas tags conflitantes.
- Filtro seopress_titles_canonical_url adicionado no tema ou em um snippet sobrescrevendo o canonical com um valor fixo.
- Cache de página servindo uma versão antiga do HTML com o canonical antigo após a correção, em plugins como WP Rocket ou LiteSpeed Cache.

## Como resolver

1. Confirme o canonical real no código-fonte: abra a página afetada, veja o código-fonte e localize a linha da tag rel canonical para saber exatamente para qual URL ela aponta. Compare com a URL correta da página antes de mexer em qualquer configuração.

```
view-source:https://seusite.com.br/página-afetada/
link rel="canonical" href="..."
```

2. Limpe o campo Canonical URL da aba Advanced: edite a página, va até o metabox do SEOPress, abra a aba Advanced e localize o campo Canonical URL. Se houver um valor preso ali apontando para a URL errada, apague o campo e deixe-o vazio para o SEOPress voltar a gerar o canonical automático da própria página. Salve e atualize.

```
SEOPress -> aba Advanced -> campo Canonical URL
```

3. Padronize o endereco do site: va em Configurações Gerais e confirme que o Endereco do WordPress e o Endereco do site usam a mesma forma, ambos com https e ambos com www ou ambos sem www. Uma divergencia aqui faz o canonical herdar a versão errada do domínio em todo o site.

```
Configurações -> Geral -> Endereco do WordPress (URL)
Configurações -> Geral -> Endereco do site (URL)
```

4. Desative o segundo plugin de SEO: se houver outro plugin de SEO ativo ao mesmo tempo, como Yoast ou Rank Math, desative-o ou desligue a saida de canonical dele. Manter dois plugins emitindo canonical gera duas tags no cabeçalho e o Google ignora ambas ou escolhe a errada.

```
Plugins -> Plugins instalados -> Desativar (segundo plugin de SEO)
```

5. Limpe o cache e revalide no Search Console: apague o cache do plugin de cache e do CDN para que o HTML novo com o canonical correto seja servido. Depois, no Google Search Console, use a inspecao de URL e solicite a indexação para o Google reprocessar a página.

```
WP Rocket -> Limpar cache / LiteSpeed Cache -> Purge All
Search Console -> Inspecao de URL -> Solicitar indexação
```


## Código

```php
<?php
add_filter( 'seopress_titles_canonical_url', function ( $canonical ) {
    if ( is_singular( 'post' ) ) {
        // Forca o canonical para o permalink real do post atual.
        $canonical = get_permalink( get_queried_object_id() );
    }
    return $canonical;
}, 20 );
```

## Perguntas frequentes

### O que e o canonical URL no SEOPress?

E a tag rel canonical que o SEOPress insere em cada página para informar ao Google qual e a versão oficial daquele conteúdo. Por padrão ela aponta para a própria página e e gerada automaticamente, sem precisar de configuração manual.

### Por que o SEOPress esta gerando um canonical errado?

Na maioria dos casos ha um valor manual preso no campo Canonical URL da aba Advanced do metabox, ou existe divergencia de www ou https no endereco do site, ou um segundo plugin de SEO esta emitindo a própria tag canonical ao mesmo tempo.

### Onde fica o campo para corrigir o canonical no SEOPress?

No editor da página, dentro do metabox do SEOPress, na aba Advanced, existe o campo Canonical URL. Para voltar ao canonical automático, basta deixar esse campo vazio e salvar a página.

### O canonical errado prejudica o ranqueamento da página?

Sim. Quando o canonical aponta para outra URL, o Google trata a página correta como copia e pode remove-la do indice, transferindo o ranqueamento para a URL declarada no canonical. Por isso o erro deve ser corrigido o quanto antes.

### Tenho SEOPress e Rank Math ativos. Isso causa canonical duplicado?

Sim. Dois plugins de SEO ativos emitem duas tags rel canonical no cabeçalho, o que confunde o Google. Mantenha apenas um deles ativo ou desligue a saida de canonical do segundo plugin.

### Corrigi o canonical mas o código-fonte ainda mostra o valor antigo. O que faço?

Isso costuma ser cache. Limpe o cache do plugin de cache, como WP Rocket ou LiteSpeed Cache, e do CDN para que o HTML novo seja servido. Depois recarregue a página e confira o código-fonte de novo.

### Posso forcar um canonical específico em uma página pelo SEOPress?

Pode. Basta preencher o campo Canonical URL na aba Advanced com a URL desejada quando você quer apontar uma página para outra de proposito. So tome cuidado para não deixar esse valor preso por engano em páginas que deveriam ter canonical próprio.

### Existe um filtro para controlar o canonical do SEOPress por código?

Sim, o SEOPress oferece o filtro seopress_titles_canonical_url, que recebe a URL canonica e permite ajusta-la via função. Use com cuidado, pois um filtro mal escrito no tema ou em um snippet e justamente uma das causas de canonical errado em todo o site.

**Fonte:** [SEOPress — Create a canonical URL](https://www.seopress.org/support/guides/canonical-url/)
