Como corrigir breadcrumbs duplicados entre Rank Math e SEOPress no WordPress
O que é breadcrumbs duplicados RankMath e SEOPress?
Breadcrumbs duplicados entre RankMath e SEOPress (Rank Math e SEOPress) são duas trilhas de navegação identicas, ou quase, renderizadas na mesma página porque mais de uma fonte esta emitindo o breadcrumb ao mesmo tempo. Tanto o Rank Math quanto o SEOPress oferecem um breadcrumb próprio: o Rank Math expoe a função rank_math_the_breadcrumbs() e um shortcode, enquanto o SEOPress oferece a função so_breadcrumbs() e o shortcode [seopress_breadcrumbs]. Quando os dois caminhos ficam ativos, a trilha aparece dobrada.
O problema tem duas camadas. A camada visual são as duas linhas Inicio > Categoria > Post que o leitor ve. A camada invisivel, e mais danosa para SEO, e o schema: cada plugin também emite seu próprio BreadcrumbList em JSON-LD. Com dois BreadcrumbList na mesma URL, o Google pode reportar marcacao conflitante no Search Console e ignorar a trilha nos resultados de busca. A regra de ouro e simples: apenas uma fonte deve gerar o breadcrumb, visual e estrutural, em cada página.
Como identificar
- Duas trilhas de navegação identicas aparecem uma embaixo da outra no topo do post ou da página, do tipo ‘Inicio > Blog > Título’ repetida.
- O teste de Rich Results do Google ou o relatório de Aprimoramentos do Search Console aponta dois itens ‘BreadcrumbList’ detectados na mesma URL.
- O Search Console exibe o aviso ‘Breadcrumbs: itens duplicados’ ou marca a trilha como invalida após ativar o segundo plugin de SEO.
- Uma das trilhas mostra a hierarquia correta e a outra mostra uma versão diferente (por exemplo, sem a categoria), evidenciando duas fontes distintas.
- O breadcrumb duplicado some quando você desativa temporariamente o Rank Math ou o SEOPress, confirmando que ambos estão imprimindo a trilha.
Como prevenir
- Defina uma fonte única de breadcrumb por site e documente qual plugin (Rank Math ou SEOPress) e o dono da trilha, para ninguem reativar o concorrente por engano.
- Ao migrar de SEOPress para Rank Math (ou o inverso), remova do template e dos page builders qualquer chamada de breadcrumb do plugin antigo antes de ativar o novo.
- Após qualquer mudanca de tema ou de plugin de SEO, teste a página no Rich Results Test do Google e confira que existe apenas um BreadcrumbList por URL.
- Use um tema filho ao inserir rank_math_the_breadcrumbs() ou so_breadcrumbs() no template, para que atualizações do tema pai não reintroduzam uma segunda trilha.
Causa
- O tema chama rank_math_the_breadcrumbs() (ou o shortcode do Rank Math) dentro do template single.php ou header.php, e ao mesmo tempo o SEOPress esta com a opção de breadcrumb ativa imprimindo a trilha de forma automática.
- O SEOPress imprime o breadcrumb via função so_breadcrumbs() ou shortcode [seopress_breadcrumbs] inserido no conteúdo ou no template, enquanto o Rank Math também tem o breadcrumb habilitado, fazendo duas fontes coexistirem.
- Os dois plugins emitem JSON-LD de BreadcrumbList independentes: o Rank Math gera a marcacao estrutural junto do seu schema e o SEOPress gera o BreadcrumbList dentro do schema dele, criando dois BreadcrumbList na mesma página mesmo quando so um breadcrumb e visivel.
- O tema possui breadcrumb nativo (por exemplo, um construtor de cabeçalho ou uma opção no Customizer) ainda ligado, e um dos plugins de SEO foi configurado para também mostrar a trilha, somando tema mais plugin.
- Migração incompleta de plugin de SEO: o site usava SEOPress, passou a usar Rank Math (ou o inverso) e a chamada de breadcrumb do plugin antigo permaneceu no template ou em um page builder, enquanto o novo plugin assumiu o breadcrumb automático.
Como resolver
- Descubra quem esta imprimindo cada trilha: Abra uma página com o problema e inspecione o código fonte. Procure as marcas de cada plugin para saber qual fonte gera cada trilha antes de desligar qualquer coisa. O Rank Math costuma envolver a trilha em um container com classe rank-math-breadcrumb e o SEOPress em um container com classe seopress-breadcrumbs.
No navegador, abra a página afetada Clique com o botão direito e escolha Ver código fonte da página (ou pressione Ctrl+U) Procure por 'rank-math-breadcrumb' e por 'seopress-breadcrumbs' para identificar cada fonte - Escolha um único plugin para emitir o breadcrumb: Defina qual plugin será o responsável pela trilha. Mantenha o breadcrumb no plugin que você já usa para o restante do schema do site, para que a trilha e o schema fiquem na mesma fonte. Os outros passos vao desligar a fonte concorrente.
Decida: manter o breadcrumb no Rank Math OU no SEOPress (nunca nos dois) Anote o plugin escolhido para seguir os passos corretos abaixo - Desative o breadcrumb do SEOPress (se optou pelo Rank Math): No painel do SEOPress, desligue a saida do breadcrumb para que ele pare de imprimir a trilha e o BreadcrumbList. Em seguida, remova do template ou do conteúdo qualquer chamada manual da função so_breadcrumbs() ou do shortcode do SEOPress que ainda esteja imprimindo a trilha.
Painel WP -> SEOPress -> Pro -> aba Breadcrumbs -> desative a opção de exibir o breadcrumb Remova do conteúdo qualquer shortcode [seopress_breadcrumbs] No template do tema, remova chamadas manuais de so_breadcrumbs() - Desative o breadcrumb do Rank Math (se optou pelo SEOPress): Caso queira que o SEOPress controle a trilha, desligue o breadcrumb do Rank Math em Configurações Gerais e tire do template a chamada da função rank_math_the_breadcrumbs(), que e a forma documentada de imprimir a trilha do Rank Math no tema.
Painel WP -> Rank Math SEO -> Configurações Gerais -> Breadcrumbs -> desative a opção de breadcrumb No template do tema, remova a chamada da função rank_math_the_breadcrumbs() Remova também qualquer shortcode de breadcrumb do Rank Math do conteúdo - Desligue o breadcrumb nativo do tema: Se o tema tiver breadcrumb próprio ligado, ele pode somar uma terceira trilha. Desligue a trilha do tema para que so o plugin escolhido a imprima. A opção costuma estar no Customizer ou no construtor de cabeçalho do tema.
Painel WP -> Aparencia -> Personalizar -> procure a opção de Breadcrumbs do tema e desative Se o tema usa construtor de cabeçalho, remova o elemento de breadcrumb do cabeçalho - Valide a página sem duplicacao: Limpe qualquer cache do site e teste a página no validador do Google para confirmar que ha apenas uma trilha visivel e um único BreadcrumbList no schema. So encerre quando o teste reportar um BreadcrumbList por URL.
Limpe o cache de página e o cache de CDN do site Abra https://search.google.com/test/rich-results e teste a URL afetada Confirme que aparece apenas um item BreadcrumbList no resultado
<?php
// No template do tema (ex.: single.php), garanta UMA unica fonte de breadcrumb.
// Imprime a trilha do Rank Math apenas se a funcao existir e se o breadcrumb
// do SEOPress estiver desligado, evitando duas trilhas na mesma pagina.
if (
function_exists( 'rank_math_the_breadcrumbs' )
&& ! function_exists( 'so_breadcrumbs' )
&& ! is_front_page()
) {
rank_math_the_breadcrumbs();
}
// Para usar o SEOPress como fonte unica, inverta: desative o breadcrumb do
// Rank Math no painel e deixe apenas a chamada do SEOPress no template.
// if ( function_exists( 'so_breadcrumbs' ) && ! is_front_page() ) {
// so_breadcrumbs();
// }














