Como corrigir breadcrumbs duplicados entre SEOPress e Astra Pro no WordPress
O que é breadcrumbs duplicados entre SEOPress e Astra Pro?
Breadcrumbs duplicados entre SEOPress e Astra Pro são duas trilhas de navegação renderizadas na mesma página, geralmente uma logo acima da outra, porque ha duas fontes de breadcrumb ativas ao mesmo tempo. O Astra tem seu próprio breadcrumb, controlado no Customizer, e o SEOPress PRO oferece um breadcrumb próprio que pode ser inserido por bloco Gutenberg, shortcode ou função PHP no template, além de marcar a trilha com o schema BreadcrumbList em JSON-LD. Quando os dois saem juntos, o visitante ve a trilha repetida e o Google recebe dois BreadcrumbList na mesma URL.
O problema tem duas camadas. A camada visual e o HTML do breadcrumb impresso duas vezes, que polui o cabeçalho da página. A camada de SEO e o schema duplicado: tanto o Astra quanto o SEOPress podem emitir um BreadcrumbList em JSON-LD, e dois grafos de trilha na mesma página confundem a leitura da estrutura pelo buscador. A correção consiste em escolher uma única fonte de breadcrumb e desligar a outra, tanto no HTML quanto no schema.
Como identificar
- Duas trilhas de navegação identicas ou parecidas (por exemplo ‘Inicio > Blog > Post’) aparecem empilhadas no topo da página ou do artigo.
- O breadcrumb do Astra continua visivel mesmo depois de inserir o bloco, shortcode ou função de breadcrumb do SEOPress no conteúdo ou no template.
- No teste de resultados ricos do Google a página mostra dois itens do tipo BreadcrumbList, um do tema e outro do SEOPress.
- Em páginas montadas com cabeçalho do Astra Pro (page header) a trilha do tema aparece junto com a trilha inserida manualmente pelo SEOPress.
- As duas trilhas usam separadores diferentes (por exemplo ‘>’ em uma e ‘/’ na outra), deixando claro que vem de fontes distintas.
Como prevenir
- Defina uma única fonte de breadcrumb por site e documente a escolha (Astra ou SEOPress), para que ninguem reative a outra trilha sem querer.
- Antes de inserir o bloco, shortcode ou função PHP do SEOPress, confirme no Customizer do Astra se o tema já não esta imprimindo a trilha na mesma posicao.
- Após qualquer mudanca de tema ou de plugin de SEO, valide a URL no teste de resultados ricos do Google para garantir que so existe um BreadcrumbList.
- Padronize o separador e o texto inicial do breadcrumb na fonte escolhida, para que a trilha fique consistente em todo o site.
Causa
- O breadcrumb nativo do Astra esta ativado no Customizer (Customizer -> Breadcrumb com a posicao definida) ao mesmo tempo em que o breadcrumb do SEOPress e exibido, resultando em duas trilhas na mesma página.
- O bloco de breadcrumbs do SEOPress para Gutenberg ou o shortcode foi inserido no conteúdo de páginas que já recebem o breadcrumb do Astra no cabeçalho, somando as duas trilhas.
- A função PHP de breadcrumb do SEOPress foi adicionada ao template do tema (por exemplo no header ou no single) enquanto o Astra ainda imprime sua própria trilha no mesmo gancho.
- Tanto o Astra quanto o SEOPress estão emitindo o schema BreadcrumbList em JSON-LD, gerando dois grafos de trilha na mesma URL mesmo quando apenas uma trilha aparece visivelmente.
- O seletor de fonte de breadcrumb do Astra esta apontando para uma fonte (Astra padrão ou outra) diferente do SEOPress, em vez de delegar a trilha a um único provedor.
Como resolver
- Decida qual fonte de breadcrumb vai ficar: Escolha uma única fonte: o breadcrumb do Astra ou o do SEOPress. Em geral, se você usa o SEOPress PRO pela trilha e pelo schema BreadcrumbList, mantenha o SEOPress e desligue o do Astra. Defina isso antes de mexer nas configurações para não alternar entre as duas.
Decisao: manter SEOPress (trilha + JSON-LD) e desligar Astra, ou o contrario Anote a fonte escolhida antes de seguir para os proximos passos - Ajuste o breadcrumb do Astra no Customizer: No Customizer do Astra, abra a seção de breadcrumb e desative a trilha do tema (defina a posicao como Nenhum ou desligado) se você optou por manter o SEOPress. Se preferir manter o Astra, e aqui que você escolhe a fonte; caso o Astra ofereca o SEOPress como fonte, selecione-o para que o tema use apenas a trilha do SEOPress.
Painel WP -> Aparencia -> Personalizar -> Breadcrumb Defina a posicao do breadcrumb do Astra como Nenhum (None) para desligar a trilha do tema Se for manter o Astra, ajuste a Fonte do breadcrumb (Source) para uma única fonte - Mantenha apenas uma insercao do breadcrumb do SEOPress: Se você optou pelo SEOPress, garanta que a trilha dele aparece de uma única forma: ou pelo bloco Gutenberg, ou pelo shortcode no conteúdo, ou pela função PHP no template, nunca em combinacao com o breadcrumb do tema. Remova insercoes redundantes que tenham sobrado de testes anteriores.
Bloco Gutenberg: insira o bloco SEOPress Breadcrumbs uma única vez no template do tema de blocos Shortcode no conteúdo: [seopress_breadcrumbs] Função PHP no template (ex.: single.php): seopress_display_breadcrumbs(); - Desative o schema BreadcrumbList duplicado: Confirme que apenas uma fonte emite o JSON-LD do BreadcrumbList. Se o SEOPress vai cuidar da trilha, mantenha o schema do SEOPress e desligue o breadcrumb do Astra por completo; se o Astra ficar com a trilha, evite que o SEOPress também emita o BreadcrumbList. Dois grafos de trilha na mesma URL confundem o buscador.
Painel WP -> SEO (SEOPress) -> confirme que o BreadcrumbList do SEOPress esta ativo Garanta que a fonte descartada não emite o seu próprio BreadcrumbList - Valide a página e o schema: Abra uma página interna e confirme que existe apenas uma trilha visivel. Em seguida rode o teste de resultados ricos do Google sobre a URL e confirme que ha um único BreadcrumbList detectado, sem duplicidade.
Abra uma página interna e confirme apenas um breadcrumb visivel Teste de resultados ricos: https://search.google.com/test/rich-results Confirme um único item BreadcrumbList no resultado do teste
<?php
// Remove o breadcrumb nativo do Astra quando o SEOPress cuida da trilha.
// Coloque em functions.php do tema-filho (ou em um plugin utilitario).
add_action( 'wp', 'full_disable_astra_breadcrumb' );
function full_disable_astra_breadcrumb() {
if ( ! function_exists( 'astra_get_option' ) ) {
return; // Astra inativo: nada a fazer.
}
// Astra dispara a trilha no gancho astra_header_markup; removemos esse output.
remove_action( 'astra_header_markup', 'astra_header_breadcrumb' );
}














