Schema Breadcrumb e BreadcrumbList

Schema Breadcrumb e BreadcrumbList

1. Schema para breadcrumb (como referência)

O campo breadcrumb é usado em schemas (como WebPage) para referenciar um BreadcrumbList que descreve a navegação hierárquica da página. Ele não é um tipo completo por si só, mas um ponteiro para um schema BreadcrumbList.

@id

Um identificador único para o BreadcrumbList referenciado, geralmente uma URL com um fragmento (ex.: #schema/breadcrumb). Deve ser uma string que represente um URI único.

Estrutura esperada:

{
  "breadcrumb": {
    "@id": "<identificador único do BreadcrumbList>"
  }
}

Observações:

  • O breadcrumb é apenas uma referência, não contém a lista de itens em si.
  • O @id deve corresponder exatamente ao @id do schema BreadcrumbList definido em outro lugar no mesmo documento ou contexto.
  • Este campo é usado em schemas como WebPage para associar a página a uma trilha de navegação.

2. Schema para BreadcrumbList

O tipo BreadcrumbList descreve uma trilha de navegação (breadcrumbs), que indica a posição de uma página na hierarquia do site. Ele contém uma lista ordenada de itens (ListItem) que representam cada nível da navegação.

@type

Deve ser definido como "BreadcrumbList". Especifica o tipo de schema.

@id

Um identificador único para o BreadcrumbList, geralmente uma URL com um fragmento (ex.: #schema/breadcrumb). Deve ser uma string URI única.

itemListElement

Uma lista ordenada (array) de itens que compõem a trilha de navegação. Cada item é do tipo ListItem e deve conter:

  • @type: Deve ser “ListItem”, indicando que é um item da lista.
  • position: Um número inteiro que indica a ordem do item na trilha.
  • name: O nome do item, como o título do nível na navegação.
  • item: A URL do recurso correspondente ao item.

Estrutura esperada:

{
  "@type": "BreadcrumbList",
  "@id": "<identificador único>",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "<nome do item>",
      "item": "<URL do item>"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "<nome do item>",
      "item": "<URL do item>"
    }
    // Mais itens, se necessário
  ]
}

Observações:

  • O itemListElement deve conter pelo menos um ListItem, mas geralmente inclui múltiplos itens.
  • O position deve ser sequencial (1, 2, 3…).
  • O item deve ser uma URL válida, e name o texto visível ao usuário.
  • O @id do BreadcrumbList deve ser o mesmo do @id referenciado em breadcrumb.

Diferenças entre breadcrumb (referência) e BreadcrumbList

Propósito:

  • breadcrumb (referência): Campo usado em schemas como WebPage para apontar para um BreadcrumbList.
  • BreadcrumbList: O schema completo que define a trilha de navegação.

Estrutura:

  • breadcrumb: Simples, contém apenas @id.
  • BreadcrumbList: Estrutura mais complexa, com @type, @id e itemListElement.

Uso:

  • breadcrumb: Associado a WebPage.
  • BreadcrumbList: Definido no mesmo JSON-LD e referenciado via @id.

Exemplo de relação:

{
  "@type": "WebPage",
  "breadcrumb": {
    "@id": "<identificador único>"
  }
}
{
  "@type": "BreadcrumbList",
  "@id": "<identificador único>",
  "itemListElement": [ ... ]
}

O @id conecta os dois schemas.

Resumo

  • breadcrumb (referência): Campo simples com @id que aponta para o BreadcrumbList.
  • BreadcrumbList: Schema completo com itemListElement, contendo ListItem com position, name e item.
  • Relação: O @id no breadcrumb deve corresponder ao @id no BreadcrumbList.

Boas práticas:

  • Use URLs válidas para item no BreadcrumbList.
  • Mantenha position sequencial, começando em 1.
  • Garanta que o @id seja único e consistente entre referência e schema completo.