> ## Documentation Index
> Fetch the complete documentation index at: https://docs.citou.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Modelo de conteúdo

> Tipos, campos, JSON-LD e seções (blocos) — como o conteúdo é estruturado.

O conteúdo da citou é **tipado**. Cada **tipo de conteúdo** (page, post, produto, uma taxonomia
personalizada…) define um conjunto de **campos**; cada **item** guarda os valores desses campos.
A entrega (JSON-LD + markdown) é derivada automaticamente desse esquema.

## Tipos

Toda marca começa com os tipos universais **`page`**, **`post`** e **`faq`**. Tipos como
**`product`** e **`category`** são adicionados sob demanda (modelos prontos), e você pode criar
**tipos personalizados** (ex.: `Coleção`, `Material`, `Depoimento`). Cada tipo tem um
`schemaOrgType` (o `@type` base do JSON-LD, ex.: `Article`, `Product`, `CollectionPage`).

## Campos

Cada campo tem um `type`:

| Tipo                          | Descrição                                                     |
| ----------------------------- | ------------------------------------------------------------- |
| `text` / `richtext`           | Texto simples / corpo em markdown                             |
| `number` · `boolean` · `date` | Escalares                                                     |
| `url` · `email`               | Strings validadas                                             |
| `select`                      | Uma opção de uma lista                                        |
| `media`                       | Imagem (URL); pode ser múltipla                               |
| `reference`                   | Referência a um item de outro tipo (ex.: produto → categoria) |
| `group`                       | Grupo repetível de subcampos (ex.: variações)                 |
| `blocks`                      | Seções compostas (ver abaixo)                                 |

Um campo pode declarar um `schemaProp` (ex.: `headline`, `offers.price`, `image`) — é o que mapeia
o valor para o JSON-LD.

## JSON-LD derivado

A entrega gera o JSON-LD a partir do esquema do tipo. Um único nó vira um objeto; múltiplos nós
(ex.: um Post com FAQ) viram um `@graph`:

```json theme={null}
{
  "@context": "https://schema.org",
  "@graph": [
    { "@type": "Article", "headline": "Como aparecer no ChatGPT", "articleBody": "…" },
    {
      "@type": "FAQPage",
      "mainEntity": [
        { "@type": "Question", "name": "O que é AEO?", "acceptedAnswer": { "@type": "Answer", "text": "…" } }
      ]
    }
  ]
}
```

Você recebe esse JSON-LD pronto no campo `jsonLd` de cada item — veja
[Listar conteúdo](/api/conteudo).

## Referências

Um campo `reference` guarda o **id** do item referenciado, mas a entrega já o **resolve para o
nome**. Ex.: um produto com uma categoria referenciada entrega `"category": "Gravatas"` no
JSON-LD e `**Categoria:** Gravatas` no markdown.

## Seções (blocos)

Um campo `blocks` é uma **lista ordenada de seções** heterogêneas — ideal para landing pages. Cada
seção tem um `type` (`hero`, `richtext`, `steps`, `stats`, `cta`) e seus próprios campos. Na
entrega, as seções são renderizadas em markdown, em ordem:

```markdown theme={null}
## Apareça nas respostas de IA
Meça e otimize como sua marca é citada por assistentes de IA.

## Como funciona
- Meça — veja onde sua marca aparece
- Otimize — publique conteúdo
```
