William Rafael
Voltar para o blog
ArquiteturaArquiteturaNext.jsConteúdo

Arquitetura de conteúdo em escala: pastas, slug e paginação no Next.js

Escalar conteúdo exige convenções: nomes, slugs, metadados e paginação previsíveis. Sem isso, o crescimento vira entropia.

8 de maio de 2023
1 min
Por willsamy
Quando a base de conteúdo cresce, o problema deixa de ser "como renderizar" e passa a ser "como manter e evoluir sem dor". Estes são padrões que têm funcionado bem em Next.js.

Convenções de pastas e nomes

- src/content/posts/.md — um arquivo por post.
- O nome do arquivo igual ao slug (ex.: supabase-next-auth.md).
- Pastas para coleções não são necessárias no começo; adicione quando surgir categoria real (ex.: src/content/posts/ai/
.md).

#

Slugs estáveis

- Slug é parte do contrato público: evite renomear.
- Se renomear, mantenha um mapa de redirects 301 (ex.: next.config ou middleware).
- Evite datas no slug; deixe a data apenas no frontmatter.

## Frontmatter mínimo e validado

- Campos: title, slug, date, description, tags, author, draft, coverImage, excerpt.
- Valide no build — falhe rápido quando faltar algo crítico.

## Índice e listagens

- Gere um índice a partir dos metadados carregados (sem renderizar conteúdo inteiro).
- Ordene por date desc e filtre draft: false.
- Permita filtros por tags, mas sem complexidade desnecessária (query string simples).

## Paginação

- Use paginação baseada em página (/blog?page=2) para SEO previsível.
- Tamanho de página estável (ex.: 10 posts) e links canônicos.
- Links de "Próximo/Anterior" com rel apropriado.

## Busca e relacionamentos

- Busca inicial por título/description/tags no cliente (fuse.js) é suficiente para MVP.
- Relacione posts por tags compartilhadas; exiba 3-5 relacionados ao final do post.

## Build e performance

- Evite carregar conteúdo completo de todos os posts nas listagens; use apenas metadados.
- Prefira gerar rotas dinâmicas por slug (com cache) e revalidate onde couber.

## Conclusão

Com convenções simples — nomes de arquivos = slug, frontmatter validado, index e paginação previsíveis — seu blog escala sem virar um labirinto. Mantenha o contrato firme e a evolução do conteúdo será tranquila.

Tags

ArquiteturaNext.jsConteúdoPadrões

Gostou do conteúdo?

Confira outros artigos do blog ou entre em contato para discutir projetos!

Arquitetura de conteúdo em escala: pastas, slug e paginação no Next.js | William Rafael