Schema para CollectionPage e isPartOf

Schema para CollectionPage
O tipo CollectionPage é usado para representar uma página que agrupa uma coleção de itens, como uma seção de blog ou categoria.
Campos obrigatórios e recomendados
- @type: Deve ser definido como “CollectionPage”. Este campo especifica o tipo de schema conforme Schema.org.
- @id: Um identificador único para a página, geralmente uma URL com um fragmento (ex.: #category). Deve ser uma string que represente um URI único.
- url: A URL canônica da página da coleção. Deve ser uma string válida representando o endereço acessível da página.
- name: O nome da coleção, como o título da seção (ex.: “Blog”). Deve ser uma string descritiva e concisa.
- isPartOf: Indica a relação com um recurso maior, como um site. Deve ser um objeto com:
- @id: Um identificador único do recurso pai (ex.: #website), geralmente apontando para o schema do tipo WebSite.
Estrutura esperada
{
"@type": "CollectionPage",
"@id": "<identificador único>",
"url": "<URL da página>",
"name": "<nome da coleção>",
"isPartOf": {
"@id": "<identificador do site>"
}
}
Observações
- Todos os campos listados são recomendados para garantir clareza e conformidade.
- O @id e url devem ser distintos: @id é um identificador único, enquanto url é o endereço acessível.
- O isPartOf deve referenciar um schema válido, geralmente do tipo WebSite.
Schema para WebPage
O tipo WebPage descreve uma página web individual, como um artigo ou página de conteúdo.
Campos obrigatórios e recomendados
- @type: Deve ser definido como “WebPage”. Especifica o tipo de schema.
- @id: Um identificador único para a página, geralmente uma URL com um fragmento (ex.: #webpage). Deve ser uma string URI única.
- url: A URL canônica da página. Deve ser uma string válida representando o endereço acessível.
- name: O título da página. Deve ser uma string descritiva e relevante.
- description: Uma breve descrição do conteúdo da página. Deve ser uma string que resuma o propósito ou conteúdo da página.
- inLanguage: O idioma principal da página, usando códigos de idioma padrão (ex.: “pt-BR”). Deve seguir o formato BCP 47.
- isPartOf: Indica a relação com uma ou mais coleções ou sites. Deve ser uma lista (array) ou um objeto contendo:
- @type: Geralmente “CollectionPage” (ou outro tipo relevante).
- @id: Identificador único da coleção (ex.: #category).
- name: Nome da coleção à qual a página pertence.
Estrutura esperada
{
"@type": "WebPage",
"@id": "<identificador único>",
"url": "<URL da página>",
"name": "<título da página>",
"description": "<descrição da página>",
"inLanguage": "<código do idioma>",
"isPartOf": [
{
"@type": "CollectionPage",
"@id": "<identificador da coleção>",
"name": "<nome da coleção>"
}
]
}
Observações
- O isPartOf como array permite que a página seja associada a múltiplas coleções, mas cada item deve ter @type, @id e, opcionalmente, name.
- O inLanguage deve usar códigos válidos (ex.: “pt-BR”, “en-US”).
- A description deve ser clara, relevante e evitar conteúdo irrelevante ou promocional excessivo.
Resumo
- CollectionPage: Requer @type, @id, url, name, e isPartOf (apontando para um WebSite via @id).
- WebPage: Requer @type, @id, url, name, description, inLanguage, e isPartOf (como array, apontando para uma CollectionPage com @type, @id, e name).
- Todos os identificadores (@id) devem ser únicos e consistentes dentro do contexto do site.
- As URLs (url) devem ser acessíveis e canônicas.
- Os campos devem seguir as diretrizes do Schema.org para tipos de dados (ex.: strings para name, description, códigos BCP 47 para inLanguage).
O objeto WebPage e sua relação com CollectionPage
Relação Hierárquica
A página (WebPage) é parte de uma coleção maior (CollectionPage), que pode representar uma categoria, seção ou grupo de páginas relacionadas (ex.: um blog).
Campos do isPartOf
- @type: “CollectionPage” → Indica que o “pai” é uma coleção.
- @id: Um identificador único para a coleção (neste caso, um URI com fragmento
#category
). - name: “Blog” → Nome amigável da coleção.
Propósito
Essa estrutura ajuda mecanismos de busca a entenderem que a página pertence a um grupo temático (ex.: a seção “Blog” do site).
Exemplo Genérico (Sem URLs)
"isPartOf": [
{
"@type": "CollectionPage",
"@id": "#identificador-da-colecao",
"name": "Nome da Coleção"
}
]
Pontos-Chave
- Tipo de Relação: CollectionPage é usado para agrupar páginas temáticas.
- Identificador (@id): Deve ser único no contexto do schema (pode ser um fragmento como
#category
se referenciado corretamente no mesmo documento). - Múltiplas Relações: Se a página pertencesse a mais de uma coleção, você adicionaria outros objetos no array.
Como Ficaria em Português (Explicação Informal)
“Esta página é parte de uma coleção chamada ‘Blog’, que organiza conteúdos semelhantes dentro do site.”