# Como corrigir breadcrumbs duplicados entre SEOPress e Astra Pro no WordPress

Breadcrumbs duplicados entre SEOPress e Astra Pro acontecem quando o tema e o plugin renderizam a trilha de navegação ao mesmo tempo, ou quando o bloco, shortcode ou função PHP do SEOPress e somado ao breadcrumb que o Astra já exibe no cabeçalho da página.

## 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.

**Antes de começar:** Antes de editar arquivos de template do tema ou alternar configurações de breadcrumb em producao, faça um backup do site (arquivos e banco de dados) ou teste primeiro em um ambiente de staging, para reverter caso a trilha desapareca ou o layout do cabeçalho quebre.

## 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.

Erros relacionados

- [Como corrigir os breadcrumbs que não exibem no SEOPress](https://full.services/wp-fixer/corrigir-breadcrumbs-seopress/)
- [Como corrigir o erro de Breadcrumbs no Astra Pro](https://full.services/wp-fixer/corrigir-breadcrumbs-astra-pro/)
- [Como corrigir Breadcrumbs duplicados entre Astra Pro e Rank Math](https://full.services/wp-fixer/corrigir-breadcrumbs-duplicados-astra-pro-rank-math/)

## 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

1. 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
```

2. 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
```

3. 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();
```

4. 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
```

5. 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
```


## Código

```php
<?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' );
}
```

## Perguntas frequentes

### Por que o breadcrumb aparece duas vezes com SEOPress e Astra Pro

Porque ha duas fontes de breadcrumb ativas ao mesmo tempo. O Astra tem sua própria trilha controlada no Customizer e o SEOPress PRO exibe a dele por bloco, shortcode ou função PHP. Quando as duas saem juntas, a trilha aparece repetida. Mantenha apenas uma fonte ativa.

### Devo manter o breadcrumb do Astra ou o do SEOPress

Depende do seu fluxo. Se você usa o SEOPress PRO pela trilha personalizada e pelo schema BreadcrumbList, mantenha o do SEOPress e desligue o do Astra. Se prefere controlar tudo pelo tema, mantenha o do Astra e não insira o breadcrumb do SEOPress. O importante e ter uma única fonte.

### Como desativo o breadcrumb do tema Astra

No painel do WordPress va em Aparencia, Personalizar e abra a seção de Breadcrumb do Astra. Defina a posicao como Nenhum para que o tema pare de imprimir a trilha. Assim sobra apenas a fonte que você escolheu manter.

### Como insiro o breadcrumb do SEOPress sem duplicar

Escolha uma única forma de exibicao: o bloco do SEOPress no editor de blocos, o shortcode [seopress_breadcrumbs] no conteúdo ou a função seopress_display_breadcrumbs no template do tema. Use so uma delas e confirme que o breadcrumb do Astra esta desligado.

### O breadcrumb duplicado prejudica o SEO

Sim, principalmente no schema. Quando o Astra e o SEOPress emitem o BreadcrumbList em JSON-LD na mesma URL, o Google recebe dois grafos de trilha e a leitura da estrutura fica ambigua. Deixar uma única fonte ativa resolve a duplicidade visual e a do schema.

### O breadcrumb do SEOPress e gratuito

Não. O breadcrumb e seu schema BreadcrumbList são recursos do SEOPress PRO, conforme a documentação oficial do plugin. Na versão gratuita você não tem essa trilha, entao o breadcrumb que aparece vem do Astra ou de outra fonte.

### Por que o Google ainda mostra dois BreadcrumbList depois do ajuste

Provavelmente uma das fontes ainda emite o schema mesmo sem trilha visivel, ou ha cache servindo a versão antiga. Confirme que so uma fonte emite o BreadcrumbList, limpe o cache do site e rode de novo o teste de resultados ricos sobre a URL.

### Como sei de qual fonte vem cada breadcrumb

Compare os separadores e o texto inicial das duas trilhas, que costumam diferir entre o tema e o plugin. Você também pode desligar uma fonte por vez (primeiro a do Astra, depois a do SEOPress) e recarregar a página para ver qual trilha some a cada teste.

**Fonte:** [SEOPress - Breadcrumbs feature (official documentation)](https://www.seopress.org/features/breadcrumbs/)
