# Breadcrumb Pro (trilho de navegação): guia completo

> O Breadcrumb Pro (dfbreadcrumbpro) substitui o trilho de navegação básico do seu tema por uma navegação enriquecida: menus pendentes de categorias irmãs em cada nível, dados estruturados JSON-LD BreadcrumbList conformes…

- Página: <https://www.datafirefly.com/pt/documentation/dfbreadcrumbpro/>
- Idioma: pt
- Atualizado em: 2026-09-03
- Outros idiomas: [fr](https://www.datafirefly.com/documentation/dfbreadcrumbpro/index.md), [en](https://www.datafirefly.com/en/documentation/dfbreadcrumbpro/index.md), [es](https://www.datafirefly.com/es/documentation/dfbreadcrumbpro/index.md), [de](https://www.datafirefly.com/de/documentation/dfbreadcrumbpro/index.md), [it](https://www.datafirefly.com/it/documentation/dfbreadcrumbpro/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfbreadcrumbpro/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfbreadcrumbpro/index.md)
- Índice: <https://www.datafirefly.com/pt/documentation/llms.txt>

O Breadcrumb Pro (`dfbreadcrumbpro`) substitui o trilho de navegação básico do seu tema por uma navegação enriquecida: menus pendentes de categorias irmãs em cada nível, dados estruturados JSON-LD BreadcrumbList conformes às diretrizes do Google, e caminho inteligente para os produtos que pertencem a várias categorias.

## Instalação

1. Vá a **Módulos > Gestor de módulos > Instalar um módulo**.
2. Carregue o arquivo `dfbreadcrumbpro.zip` e clique em **Instalar**.
3. O módulo regista-se automaticamente nos hooks `displayHeader`, `displayWrapperTop` e `actionFrontControllerSetMedia`. Não é necessária nenhuma manipulação adicional.

O módulo não cria nenhuma tabela SQL nem faz nenhum override: a desinstalação elimina simplesmente as suas chaves de configuração.

Compatibilidade: PrestaShop 8.0 a 9.x, PHP 7.4 a 8.3, multiloja e multilingue.

## Configuração

Abra **Módulos > Gestor de módulos**, procure « Breadcrumb Pro » e clique em **Configurar**. Estão disponíveis as seguintes opções:

- **Substituir o trilho de navegação do tema** (ativado por defeito): oculta em CSS o trilho renderizado pelo tema (classes `.breadcrumb` e `.breadcrumb-wrapper`) para evitar qualquer duplicado visual.
- **Ativar os menus pendentes** (ativado por defeito): mostra as categorias irmãs num menu pendente em cada nível do trilho.
- **Mostrar as subcategorias no último nível** (desativado por defeito): nas páginas de categoria, o último menu lista as subcategorias da categoria atual em vez das suas categorias irmãs. Se a categoria não tiver filhos, o módulo volta automaticamente às categorias irmãs.
- **Estratégia de caminho para os produtos**: ver a secção dedicada abaixo.
- **Ativar o JSON-LD BreadcrumbList** (ativado por defeito): injeta os dados estruturados schema.org na etiqueta head.
- **Mostrar a ligação Início** (ativado por defeito): primeiro elemento do trilho a apontar para a página inicial.
- **Separador**: caráter apresentado entre os níveis (por defeito `›`, 8 caracteres no máximo).
- **Número máximo de elementos por menu**: limite das categorias listadas em cada menu pendente (por defeito 15, de 1 a 50).

## Estratégias de caminho de produto

Quando um produto pertence a várias categorias, o módulo tem de escolher que caminho apresentar. São propostas três estratégias:

### Categoria por defeito

O trilho usa a categoria por defeito do produto (`id_category_default`), ou seja, o comportamento clássico do PrestaShop. Se essa categoria estiver desativada ou não associada à loja atual, o módulo recorre automaticamente à categoria mais profunda.

### Categoria mais profunda

O trilho usa a categoria ativa mais profunda (maior `level_depth`) entre as do produto. É o caminho mais específico, geralmente o mais interessante para o SEO, já que maximiza o número de níveis e de palavras-chave no trilho e no JSON-LD.

### Contextual (recomendada, por defeito)

O módulo memoriza a última categoria visitada pelo cliente num cookie (`dfbcp_last_cat`). Numa ficha de produto, se o produto pertencer a essa categoria, o trilho mostra esse caminho: a navegação reflete o percurso real do visitante. Caso contrário, o módulo recorre à categoria mais profunda.

O modo contextual assenta num cookie de visitante. Se a sua loja estiver atrás de uma cache de página inteira muito agressiva (Varnish sem variação nos cookies, CDN em modo de cache total), o cookie pode ser ignorado: prefira então a estratégia « Categoria mais profunda ».

## Menus pendentes

Cada nível do trilho correspondente a uma categoria mostra um botão caret. Comportamento:

- **Desktop**: abertura ao passar o rato no nível ou ao clicar no caret.
- **Telemóvel**: abertura ao tocar no caret, trilho deslocável horizontalmente nos ecrãs pequenos.
- **Fecho**: clique fora do trilho ou tecla Esc.
- **Acessibilidade**: atributos `aria-haspopup`, `aria-expanded` e `aria-current`, navegação por teclado completa.
- **Anti-transbordo**: os menus reposicionam-se automaticamente para nunca saírem do ecrã.

As listas de categorias irmãs são guardadas em cache por pedido e respeitam o idioma e a loja atuais. A categoria ativa é destacada no menu.

## JSON-LD BreadcrumbList

O módulo injeta na etiqueta head um script `application/ld+json` do tipo `BreadcrumbList`:

- posições numeradas a partir de 1;
- nome e URL para cada nível;
- último elemento (página atual) voluntariamente **sem URL**, em conformidade com as recomendações do Google;
- nunca emitido se o trilho tiver menos de dois níveis.

Pode verificar a validade da marcação com o [teste de resultados enriquecidos do Google](https://search.google.com/test/rich-results).

Se o seu tema já gerar o seu próprio JSON-LD BreadcrumbList, coexistirão duas marcações e a Search Console poderá assinalar duplicados. Desative a marcação do tema ou a opção JSON-LD do módulo.

## Páginas cobertas

- **Categorias**: caminho completo desde a raiz do catálogo.
- **Fichas de produto**: caminho de categoria segundo a estratégia escolhida, produto no último nível.
- **Páginas CMS**: árvore das categorias CMS e depois título da página.
- **Marcas e fornecedores**: página de lista e depois ficha.
- **Outras páginas** (contacto, promoções, mapa do site…): recurso genérico ao título meta da página.
- **Página inicial**: nenhum trilho apresentado.

## Multiloja e multilingue

Todos os pedidos SQL respeitam as associações da loja atual (contexto multiloja) e o idioma do visitante: nomes de categorias, URLs reescritos e etiquetas são resolvidos no idioma certo. A tradução francesa do back-office está incluída; o português e os outros idiomas traduzem-se via **Internacional > Traduções > Traduções dos módulos instalados** (a ligação « Início » do trilho faz parte dessas cadeias).

## Resolução de problemas

### O trilho não aparece

Verifique que o seu tema expõe o hook `displayWrapperTop` (presente no tema Classic e na quase totalidade dos temas do mercado). Se não for o caso, ligue o módulo a um hook de apresentação equivalente via **Design > Posições**.

### Aparecem dois trilhos de navegação

A opção « Substituir o trilho de navegação do tema » está desativada, ou o seu tema usa classes CSS não padrão. Reative a opção ou adicione uma regra CSS que vise o contentor do trilho do seu tema.

### O modo contextual mostra sempre o mesmo caminho

Uma cache de página inteira ignora provavelmente o cookie `dfbcp_last_cat`. Passe à estratégia « Categoria mais profunda » ou exclua esse cookie da chave de cache.

### O menu pendente está vazio num nível

A categoria não tem nenhuma categoria irmã ativa associada à loja atual: o caret simplesmente não é apresentado nesse caso.

Depois de qualquer alteração da configuração, lembre-se de limpar a cache do PrestaShop (**Parâmetros avançados > Desempenho**) para ver as alterações no front-office imediatamente.

## Histórico de versões

- **1.0.0** (16/07/2026): publicação inicial: menus pendentes de categorias irmãs, JSON-LD BreadcrumbList, estratégias por defeito / mais profunda / contextual, cobertura de categorias, produtos, CMS, marcas e fornecedores, multiloja e multilingue.
