---
title: Frontmatter
description: Configure títulos, descrições, ícones, substituições da barra lateral e metadados de SEO com o bloco YAML no topo de cada arquivo MDX.
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://jamdesk.com/docs/llms.txt). Append `.md` to any page URL for its markdown version.

Todo arquivo MDX começa com um bloco YAML entre marcadores `---`. Esses metadados controlam o título da página, a aparência da barra lateral e como a página é exibida quando compartilhada nas redes sociais ou nos resultados de busca.

## Frontmatter básico

Toda página precisa de pelo menos um título:

```yaml
---
title: Getting Started
description: Learn the basics in 5 minutes
---
```

## Campos disponíveis

### Obrigatório

| Campo | Tipo | Descrição |
|-------|------|-----------|
| `title` | string | Título da página exibido na navegação e na aba do navegador |

### Recomendado

| Campo | Tipo | Descrição |
|-------|------|-----------|
| `description` | string | Breve resumo para SEO e resultados de busca (50–160 caracteres) |

### Opcional

| Campo | Tipo | Padrão | Descrição |
|-------|------|---------|-------------|
| `icon` | string | - | Ícone do Font Awesome exibido ao lado do título da página na navegação da barra lateral |
| `sidebarTitle` | string | `title` | Título mais curto para a navegação da barra lateral |
| `mode` | string | - | Defina como `"wide"` para um layout de largura total |
| `hideFooter` | boolean | `false` | Oculta o rodapé social desta página |
| `rss` | boolean | `false` | Ativa a geração de feed RSS a partir dos componentes [Update](https://jamdesk.com/docs/pt/components/update) nesta página |
| `search` | boolean | `true` | Defina como `false` para excluir a página da busca do site, das respostas do chat de IA e do MCP. Ela continua na barra lateral, no sitemap e no llms.txt. Consulte [Manter uma página fora apenas da busca](https://jamdesk.com/docs/pt/content/hidden-pages#manter-uma-página-fora-apenas-da-busca) |
| `private` | boolean | `false` | Exige a [senha do site](https://jamdesk.com/docs/pt/setup/password-protection) para visualizar esta página. Definir isso em qualquer página ativa o modo de páginas específicas no próximo build. |
| `public` | boolean | `false` | Isenta esta página da proteção por senha ou da [autenticação JWT](https://jamdesk.com/docs/pt/setup/jwt-authentication) quando todo o site está protegido. Tem precedência sobre `private: true` se ambos estiverem definidos. |
| `groups` | string[] | - | Com a autenticação JWT ativada, somente visitantes cujo token liste pelo menos um destes grupos podem abrir a página; todos os demais recebem um 404 e não a veem na navegação. Até 32 grupos por página. Ignorado no modo de senha. Consulte [Acesso baseado em grupos](https://jamdesk.com/docs/pt/setup/jwt-authentication#acesso-baseado-em-grupos). |
| `lastUpdatedDate` | string | - | Substitui a data "Last updated on" desta página em vez de usar a do último commit do Git. Coloque o valor entre aspas: `"2026-09-01"`. A linha do rodapé precisa de `metadata.timestamp` em `docs.json`; seu sitemap e seus dados estruturados usam a data de qualquer forma. Consulte [Data da última atualização](#data-da-última-atualização) |

### Data da última atualização

Com `metadata.timestamp` ativado em `docs.json`, toda página exibe a data do último commit que alterou o arquivo dela. `lastUpdatedDate` substitui essa data em uma única página:

```yaml
---
title: Authentication
lastUpdatedDate: "2026-09-01"
---
```

Use quando você revisou uma página e quer deixar isso registrado, ou quando um commit de formatação moveu a data sem mudar nada que um leitor fosse notar.

Coloque o valor entre aspas. Um `2026-09-01` sem aspas é lido como timestamp em vez de data e pode aparecer com um dia de diferença. Um valor que não seja uma data é ignorado e a data do commit aparece no lugar, portanto um erro de digitação nunca deixa a linha em branco.

<Note>
A linha do rodapé só aparece com `metadata.timestamp` ativado, mas `lastUpdatedDate` não é apenas uma configuração de rodapé: o `<lastmod>` do seu sitemap e o `dateModified` dos dados estruturados da página usam essa data, com o rodapé ligado ou não. Defina quando a data for o que você quer dizer, não apenas quando quiser exibi-la.
</Note>

A substituição também define `dateModified` nos dados estruturados da página, de modo que mecanismos de busca e assistentes de IA vejam a mesma data que seus leitores.

### SEO e redes sociais

Controle como a página aparece nos resultados de busca e nas prévias para redes sociais. Defina esses campos como chaves de nível superior ou dentro de um bloco `seo:` aninhado. Ambos funcionam, e os valores por página substituem os padrões `seo.metatags` de `docs.json`.

| Campo | Tipo | Padrão | Descrição |
|-------|------|---------|-------------|
| `keywords` | string[] | - | Palavras-chave de busca, emitidas como uma tag `<meta name="keywords">` |
| `canonical` | string | auto | URL canônica desta página, substituindo a URL gerada automaticamente |
| `noindex` | boolean | `false` | Exclui esta página dos mecanismos de busca e do sitemap |
| `og:*` / `twitter:*` | string | - | Tags de prévia social do Open Graph e do Twitter/X (por exemplo, `og:title`, `og:image`, `twitter:card`) |
| `seo` | object | - | Bloco aninhado que contém qualquer um dos campos acima, além de meta tags personalizadas arbitrárias |

```yaml
---
title: API Reference
description: REST endpoints and authentication
"og:image": /images/api-card.png
"twitter:card": summary_large_image
canonical: https://docs.acme.com/api-reference
---
```

Consulte [Otimização de SEO](https://jamdesk.com/docs/pt/content/seo) para ver a lista completa de tags compatíveis e exemplos.

<Tip>
Após um build, cole a URL da página na ferramenta gratuita [OpenGraph Preview](https://jamdesk.com/utilities/opengraph-preview) para ver como essas tags são renderizadas no X, Facebook, LinkedIn, Slack, Discord e muito mais.
</Tip>

## Exemplos

### Página de documentação padrão

```yaml
---
title: Authentication
description: Secure your API with OAuth 2.0 and API keys
icon: lock
---
```

### Título longo com substituição na barra lateral

```yaml
---
title: Configuring Single Sign-On with SAML 2.0
sidebarTitle: SSO Setup
description: Set up enterprise SSO for your organization
---
```

O título completo aparece na página, enquanto o `sidebarTitle` mais curto mantém a navegação organizada.

### Layout amplo

```yaml
---
title: API Reference
description: Complete API documentation
mode: wide
---
```

O modo amplo remove o índice e expande o conteúdo para a largura total. É útil para páginas de referência de API ou conteúdos com tabelas largas.

### Ocultar rodapé

```yaml
---
title: Custom Landing
description: A focused landing page experience
hideFooter: true
---
```

Use `hideFooter` em páginas de destino, páginas de changelog ou qualquer página em que você queira uma seção inferior mais limpa, sem links sociais.

## Práticas recomendadas de SEO

<AccordionGroup>
  <Accordion title="Escreva títulos atraentes" icon="heading" defaultOpen>
    Seu título aparece em:
    - Abas do navegador
    - Resultados dos mecanismos de busca
    - Barra lateral de navegação
    - Compartilhamentos nas redes sociais

    Mantenha os títulos abaixo de 60 caracteres. Coloque as palavras-chave importantes no início.

    ```yaml
    # Good - clear and keyword-rich
    title: Deploy to Production

    # Avoid - vague or too long
    title: How to Deploy Your Application to Production Servers
    ```
  </Accordion>

  <Accordion title="Crie descrições úteis" icon="align-left">
    As descrições aparecem nos resultados de busca e nas prévias para redes sociais. Procure usar de 50 a 160 caracteres que:
    - Resumam o conteúdo da página
    - Incluam palavras-chave relevantes
    - Incentivem os usuários a clicar

    ```yaml
    # Good - actionable and specific
    description: Deploy your docs to production in under 2 minutes with zero configuration

    # Avoid - generic or missing
    description: Documentation page
    ```
  </Accordion>

  <Accordion title="Use ícones consistentes" icon="icons">
    Os ícones ajudam os usuários a identificar rapidamente os itens da navegação. Use o mesmo ícone para páginas relacionadas:

    | Tópico | Ícone sugerido |
    |-------|----------------|
    | Primeiros passos | `rocket` |
    | Autenticação | `lock` |
    | Referência de API | `code` |
    | Configurações | `gear` |
    | Faturamento | `credit-card` |

    Consulte os ícones no [Font Awesome](https://fontawesome.com/icons).
  </Accordion>
</AccordionGroup>

## Validação

O Jamdesk valida o frontmatter durante o build. Erros comuns:

<Accordion title="Campos obrigatórios ausentes">
```text
Error: Page "api/auth.mdx" is missing required field: title
```

**Correção:** adicione o campo `title` ao frontmatter.
</Accordion>

<Accordion title="Sintaxe YAML inválida">
```text
Error: Invalid frontmatter in "guide.mdx": unexpected token
```

**Correção:** verifique:
- Aspas ausentes em strings com caracteres especiais
- Indentação incorreta
- Dois-pontos ausentes após as chaves

Cole o bloco entre os marcadores `---` no [YAML Validator](https://jamdesk.com/utilities/yaml-validator) gratuito para identificar a linha e a coluna do erro.
</Accordion>

## O que vem a seguir?

<Columns cols={2}>
  <Card title="Otimização de SEO" icon="magnifying-glass-chart" href="/pt/content/seo">
    Otimize sua documentação para os mecanismos de busca
  </Card>
  <Card title="Fundamentos de MDX" icon="file-code" href="/pt/content/mdx-basics">
    Aprenda os fundamentos de MDX
  </Card>
</Columns>
