🎉 USE O CUPOM FIM.DE.SEMANA.FULL | 20% OFF acima de R$ 100,00

Como corrigir breadcrumbs duplicados entre Rank Math e SEOPress no WordPress

Time Full Services Time Full Services
Tipo SEO Tecnico
Nome do erro Breadcrumbs (trilha de navegacao) duplicados entre Rank Math e SEOPress EN: Duplicate breadcrumbs between Rank Math and SEOPress
Severidade Atenção
Descrição Breadcrumbs duplicados entre Rank Math e SEOPress acontecem quando os dois plugins (ou um plugin e o tema) imprimem a mesma trilha de navegação na página, geralmente por uma chamada de função manual somada ao breadcrumb automático, resultando em duas trilhas visiveis e dois blocos de schema BreadcrumbList.

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.
Antes de começar: Antes de editar arquivos de template do tema (como single.php ou header.php) para remover a chamada de breadcrumb, faça um backup do site (arquivos e banco de dados) ou trabalhe em um ambiente de staging, e use um tema filho para não perder a alteração na próxima atualização do tema.

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

  1. 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
  2. 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
  3. 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()
  4. 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
  5. 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
  6. 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
<?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();
// }

Perguntas frequentes

Por que aparecem dois breadcrumbs na minha página com Rank Math e SEOPress ativos
Porque as duas fontes estão imprimindo a trilha ao mesmo tempo. Em geral um plugin imprime o breadcrumb de forma automática e o outro (ou o tema) também imprime por uma chamada manual de função ou shortcode. Deixe apenas uma fonte ativa para resolver.
Devo desativar o breadcrumb do Rank Math ou do SEOPress
Mantenha o breadcrumb no plugin que já cuida do restante do schema do seu site e desligue o do outro. Assim a trilha visual e o BreadcrumbList do schema ficam na mesma fonte, evitando conflito de marcacao no Search Console.
Breadcrumbs duplicados prejudicam o SEO
Sim. Dois BreadcrumbList na mesma URL geram marcacao conflitante, o que pode levar o Google a reportar erro no relatório de Aprimoramentos do Search Console e a ignorar a trilha nos resultados, além de poluir a interface para o usuário.
Como sei qual plugin esta gerando cada trilha
Veja o código fonte da página e procure as classes dos containers. O Rank Math costuma usar a classe rank-math-breadcrumb e o SEOPress usa seopress-breadcrumbs. A classe revela qual plugin imprimiu cada trilha antes de você desligar a fonte certa.
Onde fica a opção de breadcrumb do Rank Math
No painel, em Rank Math SEO e Configurações Gerais, existe a seção Breadcrumbs onde você ativa ou desativa a trilha. O Rank Math também expoe a função rank_math_the_breadcrumbs() para imprimir a trilha em um ponto específico do template do tema.
O breadcrumb duplicado pode vir do tema e não do outro plugin
Pode. Muitos temas tem breadcrumb nativo ligado por padrão. Se o tema imprime a trilha e você também ativou um plugin de SEO para faze-lo, surge a duplicacao. Desligue o breadcrumb do tema no Customizer e deixe so o plugin escolhido.
Remover a chamada de função do template e suficiente
Nem sempre. Se você so remove rank_math_the_breadcrumbs() ou so_breadcrumbs() do template mas deixa o breadcrumb automático do plugin ligado, a trilha continua. Desligue a opção no painel do plugin e remova a chamada manual para garantir uma fonte única.
Preciso de código para corrigir breadcrumbs duplicados
Na maioria dos casos basta desligar a opção de breadcrumb de um dos plugins no painel. Código so e necessário quando o tema chama a função de breadcrumb direto no template e você precisa proteger essa chamada com uma verificacao de função existente.

Seja PRO.

Tenha acesso a snippets de código premium — PHP, JavaScript, CSS e HTML prontos para usar em seus projetos.

Conhecer o plano Pro →

Uma nova era para o WordPress.

A FULL Services redefine o CMS com uma arquitetura modular que transforma o WordPress em um motor de crescimento digital. 

Painéis personalizados

Um novo nível de controle para o WordPress. Acompanhe métricas, automações e evolução do seu site em um único painel visual.

A força por trás de grandes marcas

Para agências, estúdios e profissionais independentes que desejam oferecer soluções de alto nível com sua própria marca.

Componentes

Hero Sections

30 componentes

Seções de CTA

14 componentes

Login

14 componentes

Blog

14 componentes

Cabeçalhos

24 componentes

Seções de FAQ

53 componentes

Cadastro

53 componentes

Blog individual

53 componentes

Rodapés

28 componentes

Seções de contato

27 componentes

Seções de preços

27 componentes

Faixas

27 componentes

Portfólio

16 componentes

Seções de equipe

12 componentes

Números

12 componentes

Logotipos

12 componentes