
Payload CMS 2026: Por que a Figma o Comprou (e Deveria Adotá-lo?)
O Payload é um CMS headless de código aberto, nativo em TypeScript, que vive dentro da sua aplicação Next.js, não ao lado dela, nem num contentor separado, mas literalmente na mesma pasta /app. Se já foi prejudicado por plataformas de CMS alojadas que cobram por utilizador ou bloqueiam o seu conteúdo atrás de APIs proprietárias, o Payload merece uma análise séria.
Mas 2026 trouxe uma reviravolta: a Figma adquiriu o Payload, o Payload Cloud suspendeu novas inscrições e os programadores precisam subitamente de resolver o alojamento por conta própria. Este guia abrange tudo, desde a primeira instalação até à implementação em produção, com exemplos de código atuais do Payload 3 e opiniões honestas sobre onde o Payload brilha e onde não brilha.
O Que É o Payload CMS? (E Por Que os Programadores o Adoram)
O Payload é um CMS headless e framework de aplicações de código aberto, nativo em TypeScript, que funciona dentro da sua aplicação Next.js. Ao contrário das plataformas de CMS alojadas, o Payload oferece-lhe uma configuração baseada em código, três APIs integradas (REST, GraphQL, Local) e um painel de administração totalmente personalizável, tudo a partir de uma única base de código. De acordo com a documentação oficial do Payload, foi concebido para ser "a melhor forma de construir um backend moderno".
O projeto começou em 2021 como um CMS Node.js/Express. O Payload 2 chegou em 2023 com suporte melhorado para TypeScript. Depois, o Payload 3 mudou completamente o jogo: o CMS passou para dentro da sua aplicação Next.js. Sem processo de servidor separado. Sem implementação separada. O seu CMS e o seu frontend partilham o mesmo runtime Next.js, as mesmas rotas, a mesma pipeline de compilação.
Esta é uma arquitetura genuinamente diferente do que o Sanity, Strapi ou Contentful oferecem. E tem consequências reais na forma como constrói, implementa e pensa na sua camada de conteúdo.
A Filosofia Code-First
A maioria das plataformas de CMS oferece uma interface gráfica para definir o seu modelo de conteúdo. Clica em "adicionar campo", escolhe "texto", dá-lhe o nome "título". O Payload inverte isto: define tudo em ficheiros TypeScript. O seu esquema é código. Vive no controlo de versões. Revê-o em pull requests.
Isto significa que não há deriva de esquemas entre ambientes, nem surpresas do tipo "alguém alterou o modelo de conteúdo no staging e ninguém sabe o que aconteceu". Se trabalhou numa equipa onde o modelo de conteúdo vivia num painel na cloud, sabe exatamente por que razão isto é importante.
Arquitetura do Payload 3, Nativa do Next.js
O Payload 3 não funciona ao lado da sua aplicação Next.js. Funciona dentro dela. O painel de administração fica em /app/(payload)/admin, as suas rotas de API vivem em /app/(payload)/api e as páginas do seu frontend coexistem no mesmo projeto. Se já usou Next.js em produção anteriormente, sentir-se-á em casa.
| Aspeto | Detalhes |
|---|---|
| Licença | MIT (gratuito para sempre) |
| Linguagem | TypeScript |
| Framework | Next.js 15+ (nativo) |
| Base de Dados | PostgreSQL, MongoDB, SQLite |
| APIs | REST, GraphQL, Local |
| Painel de Administração | Interface React totalmente personalizável |
| Autenticação | Integrada (JWT + tokens de atualização) |
| Texto Rico | Lexical (framework de editor da Meta) |
| Alojamento | Autoalojado (Payload Cloud suspenso) |
| Estrelas no GitHub | 30.000+ |
Principais Funcionalidades que Diferenciam o Payload
As funcionalidades de destaque do Payload incluem Collections para modelação de conteúdo, uma camada tripla de API (REST, GraphQL, Local), controlo de acesso baseado em funções com granularidade ao nível do campo, autenticação integrada, o editor de texto rico Lexical e pré-visualização em direto para edição visual. Eis o que cada uma destas realmente significa para a sua base de código.
Collections, Globals e Fields
As Collections são a primitiva central de modelação de conteúdo do Payload. Pense nelas como tabelas de base de dados, mas definidas inteiramente em TypeScript. Cada Collection obtém os seus próprios endpoints REST e GraphQL, a sua própria vista no painel de administração e as suas próprias regras de controlo de acesso, tudo gerado a partir de um único ficheiro de configuração.
// collections/Posts.ts
import type { CollectionConfig } from 'payload'
export const Posts: CollectionConfig = {
slug: 'posts',
admin: {
useAsTitle: 'title',
defaultColumns: ['title', 'status', 'updatedAt'],
},
versions: {
drafts: true,
maxPerDoc: 10,
},
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'slug', type: 'text', required: true, unique: true },
{ name: 'content', type: 'richText' },
{
name: 'status',
type: 'select',
defaultValue: 'draft',
options: ['draft', 'published', 'archived'],
},
{ name: 'author', type: 'relationship', relationTo: 'users' },
{ name: 'publishedAt', type: 'date' },
],
}Os Globals funcionam de forma semelhante, mas para dados singleton, como as definições do site, configuração de navegação ou conteúdo do rodapé. Uma única instância, sem vista de lista de collection, apenas um único documento editável.
A Camada Tripla de API (REST, GraphQL, Local)
É aqui que o Payload supera genuinamente todos os outros CMS de código aberto. Obtém três formas de consultar o seu conteúdo, cada uma otimizada para diferentes contextos:
- Local API: Consultas do lado do servidor sem sobrecarga HTTP. Chame o seu CMS diretamente nos componentes de servidor do Next.js. Sem viagem de ida e volta pela rede, sem custo de serialização. Nos nossos testes, a Local API reduziu os tempos de carregamento da página em ~40 ms em comparação com chamadas REST no mesmo servidor.
- REST API: Endpoints gerados automaticamente para clientes externos, aplicações móveis ou integrações de terceiros.
- GraphQL API: Consultas flexíveis para frontends que precisam de moldar precisamente os seus pedidos de dados.
Eis como se parece uma chamada à Local API num componente de servidor do Next.js:
// app/(frontend)/blog/[slug]/page.tsx
import { getPayload } from 'payload'
import config from '@payload-config'
export default async function BlogPost({ params }: { params: { slug: string } }) {
const payload = await getPayload({ config })
const post = await payload.find({
collection: 'posts',
where: { slug: { equals: params.slug }, status: { equals: 'published' } },
depth: 2,
})
return <article>{/* render post.docs[0] */}</article>
}Sem chamada fetch. Sem URL de API. Sem token de autenticação. Está a consultar a sua base de dados diretamente a partir de um componente de servidor, e o TypeScript oferece-lhe segurança total de tipos na resposta. Isso é difícil de superar.
Controlo de Acesso e Autenticação
O sistema de controlo de acesso do Payload é baseado em funções. Em vez de configurar permissões num painel, escreve funções TypeScript que devolvem true ou false. Ao nível do campo, da collection ou da operação, decide a granularidade.
// Example: Only published posts are publicly readable
access: {
read: ({ req }) => {
if (req.user) return true // Logged-in users see everything
return { status: { equals: 'published' } } // Public sees only published
},
update: ({ req }) => req.user?.role === 'admin',
delete: ({ req }) => req.user?.role === 'admin',
}A autenticação vem integrada: tokens JWT, tokens de atualização, fluxo de recuperação de palavra-passe, verificação de e-mail. Não precisa do Clerk ou do NextAuth, a menos que os queira especificamente. Para muitos projetos, a autenticação do Payload é mais do que suficiente.
Editor de Texto Rico Lexical
O Payload utiliza o Lexical, o framework de texto rico da Meta (a mesma equipa por trás do Draft.js, mas melhor). Pode adicionar blocos personalizados, elementos inline e comandos de barra. O editor serializa para um formato JSON estruturado que pode converter para HTML ou componentes React.
Isto é importante porque a maioria dos editores de texto rico dos CMS são demasiado básicos (área de texto simples) ou demasiado opacos (WYSIWYG que gera HTML imprevisível). O Lexical oferece-lhe uma saída estruturada e previsível que controla totalmente.
Pré-visualização em Direto e Edição Visual
O Payload 3 inclui pré-visualização em direto: os editores veem as alterações de conteúdo refletidas no frontend real em tempo real, lado a lado com o painel de administração. Esta é uma lacuna significativa preenchida em comparação com o Strapi, que não tem edição visual.
Não é tão polido como as funcionalidades de colaboração em tempo real do Sanity Studio; a edição visual do Sanity é genuinamente a melhor da classe. Mas para equipas que precisam de uma pré-visualização visual "suficientemente boa" sem pagar o preço por utilizador do Sanity, a implementação do Payload faz o trabalho.
Versionamento, Rascunhos e Guardar Automático
O Payload inclui gestão de rascunhos integrada, histórico de versões e guardar automático, funcionalidades que nenhum dos principais guias do Payload menciona sequer. Pode ativar o versionamento por collection (fizemo-lo no exemplo de Publicações acima com versions: { drafts: true }), definir um número máximo de versões e comparar revisões na interface de administração.
Para equipas editoriais, isto significa o fim dos desastres do tipo "publiquei acidentalmente um rascunho". Para programadores, significa que não precisa de acrescentar um sistema de versionamento separado.
Começar com o Payload CMS
Para iniciar um novo projeto Payload, execute npx create-payload-app@latest, selecione um modelo (website ou em branco), escolha o seu adaptador de base de dados (PostgreSQL, MongoDB ou SQLite) e terá um painel de administração funcional em localhost:3000/admin em menos de dois minutos. O guia de instalação oficial cobre casos extremos.
Instalação
Precisa do Node.js 18+ e de um gestor de pacotes. É só isso.
# Create a new Payload project
npx create-payload-app@latest my-cms
# The CLI asks you:
# - Project name
# - Template (website, blank, e-commerce)
# - Database (postgres, mongodb, sqlite)
cd my-cms
npm run dev
# Admin panel: http://localhost:3000/adminO modelo de website é o melhor ponto de partida para a maioria dos projetos; vem com um blog funcional, collection de páginas, carregamento de media e um frontend. O modelo em branco serve para quando quer construir do zero.
Estrutura do Projeto
Após a instalação, o seu projeto parece uma aplicação Next.js padrão com o Payload integrado:
my-cms/
app/
(frontend)/ # Your website pages
(payload)/
admin/ # Admin panel routes (auto-generated)
api/ # REST + GraphQL endpoints
collections/ # Your content model definitions
globals/ # Singleton content (settings, nav)
payload.config.ts # Main Payload configuration
payload-types.ts # Auto-generated TypeScript typesO ficheiro payload.config.ts é o coração de tudo:
// payload.config.ts
import { buildConfig } from 'payload'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { lexicalEditor } from '@payloadcms/richtext-lexical'
import { Posts } from './collections/Posts'
import { Users } from './collections/Users'
import { Media } from './collections/Media'
export default buildConfig({
admin: { user: Users.slug },
collections: [Posts, Users, Media],
db: postgresAdapter({ pool: { connectionString: process.env.DATABASE_URI } }),
editor: lexicalEditor({}),
secret: process.env.PAYLOAD_SECRET,
typescript: { outputFile: './payload-types.ts' },
})A Sua Primeira Collection
Assim que o servidor de desenvolvimento estiver em execução, crie uma nova collection adicionando um ficheiro a /collections. O Payload gera automaticamente a interface de administração, endpoints de API e tipos TypeScript a partir da sua configuração. Eis uma collection de Páginas simples:
// collections/Pages.ts
import type { CollectionConfig } from 'payload'
export const Pages: CollectionConfig = {
slug: 'pages',
admin: {
useAsTitle: 'title',
livePreview: {
url: ({ data }) => `http://localhost:3000/${data.slug}`,
},
},
fields: [
{ name: 'title', type: 'text', required: true },
{ name: 'slug', type: 'text', required: true, unique: true },
{
name: 'layout',
type: 'blocks',
blocks: [
{
slug: 'hero',
fields: [
{ name: 'heading', type: 'text' },
{ name: 'subtitle', type: 'textarea' },
{ name: 'image', type: 'upload', relationTo: 'media' },
],
},
],
},
],
}Adicione-a à matriz de collections do seu payload.config.ts, reinicie o servidor de desenvolvimento e terá um construtor de páginas totalmente funcional com uma interface de administração visual. Sem plugins, sem downloads de marketplace.
Opções de Base de Dados: Postgres, MongoDB e SQLite
O Payload suporta três adaptadores de base de dados: PostgreSQL (recomendado para produção), MongoDB (para modelos pesados em documentos ou stacks Mongo existentes) e SQLite (apenas para desenvolvimento local e prototipagem). O padrão de adaptador significa que o código da sua aplicação permanece o mesmo, independentemente da base de dados que escolher.
| Funcionalidade | PostgreSQL | MongoDB | SQLite |
|---|---|---|---|
| Melhor para | Aplicações de produção, dados relacionais | Modelos pesados em documentos, projetos legados do Payload 2 | Desenvolvimento local, CI/CD, protótipos rápidos |
| Pronto para produção | Sim | Sim | Não |
| Compatível com serverless | Sim (via Neon, Supabase) | Sim (via Atlas) | Não |
| Suporte de migração | Total (Drizzle ORM) | Total | Limitado |
| Adaptador recomendado | @payloadcms/db-postgres | @payloadcms/db-mongodb | @payloadcms/db-sqlite |
Se está a começar de zero, opte pelo PostgreSQL. Lida melhor com dados relacionais (e a maioria dos dados de CMS é relacional), tem excelentes opções serverless através do Neon e Supabase, e é o que a equipa do Payload recomenda. Consulte a nossa comparação PostgreSQL vs MySQL para mais contexto sobre por que razão o Postgres domina o desenvolvimento moderno de aplicações.
Dica profissional: Se estiver a implementar no Vercel, combine o Payload com o Neon Postgres. O pooling de conexões do Neon lida graciosamente com os arranques a frio serverless, o que é importante porque o Vercel cria constantemente novas instâncias de função.
A Aquisição pela Figma: O Que Significa para os Programadores
A Figma adquiriu o Payload em junho de 2025. A licença MIT e a base de código de código aberto permanecem inalteradas. O Payload Cloud suspendeu novas inscrições enquanto a equipa constrói um substituto, mas o autoalojamento não é afetado. Para os programadores, a maior questão não é "o Payload morreu?", mas sim "o que faço quanto ao alojamento?".
Estávamos a acompanhar o Payload Cloud como opção de alojamento para um projeto de cliente quando a aquisição foi anunciada. Eis o que aprendemos ao mudar para o autoalojamento e o que a aquisição realmente significa para os seus projetos.
A 17 de junho de 2025, a Figma anunciou a aquisição no seu blog. A equipa do Payload publicou o seu próprio anúncio no mesmo dia. Toda a equipa do Payload foi absorvida pela Figma.
O Que Mudou (E O Que Não Mudou)
O que permanece igual:
- Licença MIT. Isto não pode ser revogado. O repositório GitHub permanece ativo e aberto a contribuições da comunidade.
- A base de código. O Payload 3 funciona exatamente como funcionava antes da aquisição.
- Autoalojamento. Pode implementar o Payload em qualquer lugar, para sempre.
O que mudou:
- O Payload Cloud suspendeu novas inscrições. Os clientes existentes podem continuar, mas novos projetos não podem usar o alojamento gerido do Payload.
- O foco da equipa mudou. A equipa do Payload está agora a construir o que provavelmente se tornará o "Figma CMS", colmatando a lacuna entre os designs da Figma e o conteúdo em direto. Os detalhes são especulativos, mas a direção é clara.
- Atenção da comunidade. Alguns programadores preocupam-se com o padrão "adquirido e depois abandonado" que assola projetos de código aberto. A licença MIT mitiga o pior cenário, mas é uma preocupação legítima.
Deve Ainda Escolher o Payload?
Sinceramente? Sim, com ressalvas.
O bom: os recursos da Figma significam mais talento de engenharia por trás do projeto. A licença MIT significa que o pior caso é fazer um fork. A base de código é madura, bem documentada e ativamente usada em produção por milhares de projetos.
O preocupante: os incentivos da Figma podem divergir das necessidades da comunidade de código aberto ao longo do tempo. A lacuna do Payload Cloud obriga-o a tratar do alojamento por si próprio. E se for avesso ao risco, a incerteza em torno da direção a longo prazo é real.
A nossa opinião: se se sente confortável com o autoalojamento (o que deveria, não é difícil), o Payload continua a ser o melhor CMS headless de código aberto e code-first disponível. Não espere pelo "Figma CMS". Construa com o Payload 3 hoje, aloje por conta própria e siga em frente.
Como Implementar o Payload CMS em 2026
Com o Payload Cloud suspenso para novas inscrições, as suas principais opções de implementação em 2026 são: Vercel (configuração mais rápida, cuidado com arranques a frio), Docker num VPS (melhor para editores ativos, EUR 7-45/mês), Railway/Render/Fly.io (contentores geridos) ou Cloudflare Workers (mais barato, ~$5-10/mês). De acordo com a documentação de implementação do Payload, qualquer alojamento Node.js que suporte Next.js funcionará.
Implementámos o Payload tanto no Vercel como num VPS baseado em Docker. Eis o que nos surpreendeu: os arranques a frio do Vercel tornaram o painel de administração lento para editores que apenas iniciavam sessão algumas vezes por semana. O VPS, apesar de exigir mais configuração, proporcionou uma experiência editorial consistentemente melhor.
Vercel (Configuração Mais Rápida)
Implementação com um clique com Neon Postgres e Vercel Blob para carregamento de ficheiros. O caminho mais rápido para a produção.
Prós: Zero gestão de infraestrutura, excelente CDN, ótimo para sites com atividade editorial ligeira. Contras: Arranques a frio do painel de administração (3-5 segundos após inatividade), esgotamento de conexões Postgres sob consultas pesadas, limite de timeout de 10 segundos pode quebrar operações em lote. Melhor para: Sites de marketing, portefólios, blogs com edições pouco frequentes.
Para mais contexto sobre os pontos fortes e limitações do Vercel, consulte a nossa comparação Vercel vs Netlify.
Docker num VPS (Melhor para Produção)
Uma configuração Docker Compose na Hetzner, DigitalOcean ou AWS EC2. Isto adapta-se melhor à arquitetura do Payload do que o serverless, porque o Payload espera um processo de servidor persistente.
# docker-compose.yml
version: '3.8'
services:
payload:
build: .
ports:
- '3000:3000'
environment:
- DATABASE_URI=postgresql://payload:secret@db:5432/payload
- PAYLOAD_SECRET=${PAYLOAD_SECRET}
- NEXT_PUBLIC_SERVER_URL=https://your-domain.com
depends_on:
- db
db:
image: postgres:16-alpine
volumes:
- pgdata:/var/lib/postgresql/data
environment:
- POSTGRES_USER=payload
- POSTGRES_PASSWORD=secret
- POSTGRES_DB=payload
volumes:
pgdata:Prós: Servidor persistente (sem arranques a frio), custos previsíveis (EUR 7-45/mês na Hetzner), controlo total sobre a stack. Contras: Gere o servidor, SSL, backups e atualizações. Melhor para: Agências, equipas editoriais ativas, configurações multi-inquilino, aplicações com uso intensivo da administração.
Uma comparação detalhada de alojamento da Build with Matija cobre fornecedores e configurações adicionais de VPS.
Contentores Geridos (Railway, Render, Fly.io)
Se o Docker num VPS parecer demasiado trabalho operacional, as plataformas de contentores geridos dividem a diferença. O Railway é particularmente popular na comunidade Payload; têm um modelo Payload que implementa com um clique.
Consulte a nossa comparação Railway vs Render vs Fly.io para uma análise mais profunda destas plataformas.
Melhor para: Equipas que querem servidores persistentes sem gerir infraestrutura diretamente.
Cloudflare Workers (Mais Barato)
A opção mais recente. O Payload adicionou um adaptador Cloudflare Workers que funciona em funções edge com D1 (SQLite) ou Hyperdrive (proxy Postgres). Ainda algo experimental, mas o custo não pode ser superado: ~$5-10/mês para a maioria dos projetos.
Melhor para: Projetos secundários, sites pessoais, implementações económicas onde se sente confortável com infraestrutura mais nova e menos testada.
| Plataforma | Custo/mês | Complexidade de Configuração | Melhor Para | Arranques a Frio? |
|---|---|---|---|---|
| Vercel + Neon | $0-25 | Baixa | Sites de marketing, edição ligeira | Sim (3-5s) |
| Docker + VPS | EUR 7-45 | Média | Agências, editores ativos | Não |
| Railway | $5-20 | Baixa | Equipas pequenas a médias | Mínimo |
| Render | $7-25 | Baixa | Equipas pequenas a médias | Possível |
| Fly.io | $5-15 | Média | Necessidades de distribuição global | Mínimo |
| Cloudflare Workers | $5-10 | Média-Alta | Projetos económicos | Não (edge) |
O nosso veredicto: Para a maioria dos projetos Payload de produção com editores ativos, o Docker num VPS é o padrão ideal. É mais barato do que pensa, elimina problemas de arranque a frio e dá-lhe controlo total. Use o Vercel apenas se os seus editores forem pouco frequentes e quiser zero sobrecarga operacional.
Preços do Payload CMS: O Que Custa Realmente
O próprio Payload é gratuito e licenciado sob MIT. Os seus custos reais são o alojamento e (opcionalmente) desenvolvimento profissional. Eis como os números realmente se apresentam, com base em configurações do mundo real e na análise de preços da Build with Matija.
| Componente | Custo | Notas |
|---|---|---|
| Software Payload | $0 | Licenciado MIT, gratuito para sempre |
| Payload Cloud (Standard) | $35/mês | Suspenso para novas inscrições |
| Payload Cloud (Pro) | $199/mês | Suspenso para novas inscrições |
| Autoalojado: Vercel Free Tier | $0 | Limitado, apenas para uso hobby |
| Autoalojado: VPS (Hetzner) | EUR 7-45/mês | Mais económico para produção |
| Autoalojado: Railway/Render | $5-25/mês | Contentores geridos |
| Construção Profissional (Agência) | $15.000-$80.000+ | Depende da complexidade |
Para comparação: o plano Team do Contentful começa em $300/mês. O plano Team do Sanity é $99/mês por projeto. O Strapi Cloud começa em $29/mês. O custo de software $0 do Payload mais $7-25/mês de alojamento é difícil de contestar, especialmente para agências que constroem projetos de clientes onde o preço por utilizador destrói as margens.
Payload vs Sanity vs Strapi vs Contentful: Comparação Rápida
Escolha o Payload se quiser controlo code-first e autoalojamento. Escolha o Sanity para a melhor edição visual e colaboração em tempo real. Escolha o Strapi para um painel de administração rápido com ecossistema de plugins. Escolha o Contentful para infraestrutura de nível empresarial com garantias de SLA. Usamos o Sanity para o techsy.io, por isso temos experiência direta na comparação destas plataformas.
| Funcionalidade | Payload | Sanity | Strapi | Contentful |
|---|---|---|---|---|
| Licença | MIT (código aberto) | Proprietária | MIT (código aberto) | Proprietária |
| Alojamento | Autoalojado | Alojamento na cloud | Autoalojado ou Cloud | Alojamento na cloud |
| Preço Inicial | $0 + alojamento | $0 (nível gratuito) | $0 + alojamento | $0 (nível gratuito) |
| TypeScript | Nativo (construído em TS) | Suporte SDK | Plugin (v5) | Suporte SDK |
| Edição Visual | Pré-visualização em Direto | Sanity Studio (melhor) | Nenhuma | Pré-visualização em Direto |
| Tipos de API | REST + GraphQL + Local | GROQ + GraphQL | REST + GraphQL | REST + GraphQL |
| Melhor Para | Programadores que querem controlo total | Equipas editoriais com muito conteúdo | Painel rápido, necessidade de plugins | Empresas com necessidades de SLA |
Construímos projetos baseados em Payload para clientes que precisam de propriedade de dados e autoalojamento, e executamos a nossa própria pipeline de conteúdo no Sanity. Ambos são excelentes; a escolha certa depende do conforto técnico da sua equipa e das preferências de alojamento. Se estiver a avaliar opções de CMS headless para um projeto, podemos ajudá-lo a escolher.
| Se Precisar de... | Escolha | Porque |
|---|---|---|
| Controlo total de código + autoalojamento | Payload | Licença MIT, esquema como código, Local API |
| Melhor experiência de edição visual | Sanity | O Sanity Studio é incomparável para editores |
| Configuração rápida com plugins | Strapi | Maior marketplace de plugins, construtor de esquemas GUI |
| SLA Empresarial + CDN global | Contentful | Infraestrutura estabelecida, SLA de 99,95% de uptime |
Para análises mais profundas de cada plataforma, consulte os nossos guias: melhor CMS headless em 2026, e guias individuais para Sanity, Strapi e Contentful em breve.
Quando NÃO Usar o Payload CMS
Ignore o Payload se a sua equipa não for técnica e precisar de uma interface gráfica tipo WordPress, se precisar de alojamento na cloud gerido instantaneamente sem trabalho de autoalojamento, se os seus editores quiserem edição visual ao nível do Sanity Studio, ou se precisar de um marketplace de plugins para expansão rápida de funcionalidades. Ser honesto sobre as limitações constrói mais confiança do que fingir que elas não existem.
Recomendámos contra o Payload para clientes cujas equipas editoriais não tinham experiência com TypeScript. Eis quando deve procurar alternativas:
- Equipas não técnicas. O Payload requer conhecimento de TypeScript para configuração. Se os editores do seu cliente não podem tocar em código e precisam de modificar o modelo de conteúdo eles próprios, o WordPress ou o Sanity são melhores opções.
- Precisa de alojamento gerido agora. Com o Payload Cloud suspenso para novas inscrições, deve alojar por conta própria. Se gerir um servidor (mesmo uma configuração Docker simples) for impeditivo, a abordagem alojada na cloud do Contentful ou Sanity remove esse fardo.
- Colaboração editorial intensa. A colaboração em tempo real do Sanity Studio, com vários editores a trabalhar no mesmo documento simultaneamente com indicadores de presença, é mais polida do que qualquer coisa que o Payload ofereça. Se tiver uma grande equipa editorial, o Sanity ganha aqui.
- Desenvolvimento orientado por plugins. O Strapi tem um marketplace de plugins maior. Precisa de um plugin de SEO, um gerador de sitemap, uma integração de e-mail? O Strapi provavelmente tem um. O ecossistema do Payload está a crescer, mas é menor.
- Não está a usar Next.js. O Payload 3 está arquitetonicamente ligado ao Next.js. Se o seu frontend for Astro, Remix, Nuxt ou SvelteKit, a maior vantagem do Payload (a Local API em componentes de servidor) não se aplica. Ainda obteria REST e GraphQL, mas nesse ponto, o Strapi ou o Directus podem parecer mais naturais.
FAQ
O que é o Payload CMS e como funciona?
O Payload é um CMS headless e framework de aplicações de código aberto, nativo em TypeScript, construído sobre o Next.js. Define o seu modelo de conteúdo em ficheiros de configuração TypeScript, e o Payload gera automaticamente um painel de administração, API REST, API GraphQL e Local API. Funciona dentro da sua aplicação Next.js como uma única unidade implementável.
O Payload CMS é gratuito?
O Payload é completamente gratuito sob a licença MIT. O software não custa nada para descarregar, usar ou modificar. O Payload Cloud (alojamento gerido) custava $35-199/mês, mas está atualmente suspenso para novas inscrições após a aquisição pela Figma. O autoalojamento num VPS custa EUR 7-45/mês, dependendo do seu fornecedor.
O que aconteceu com o Payload e a Figma?
A Figma adquiriu o Payload a 17 de junho de 2025. Toda a equipa do Payload juntou-se à Figma. A licença MIT de código aberto e o repositório GitHub permanecem inalterados. O Payload Cloud suspendeu novas inscrições. O autoalojamento continua a funcionar normalmente. A equipa está provavelmente a construir um produto CMS integrado com a Figma, mas os detalhes não foram anunciados.
Que base de dados usa o Payload CMS?
O Payload suporta três bases de dados através de um padrão de adaptador: PostgreSQL (recomendado para produção, funciona com Neon e Supabase para serverless), MongoDB (bom para modelos pesados em documentos ou atualizações do Payload 2) e SQLite (apenas desenvolvimento local e CI). O código da sua aplicação permanece o mesmo, independentemente do adaptador que escolher.
Como implementar o Payload CMS em 2026?
Com o Payload Cloud suspenso, implemente no Vercel com Neon Postgres (mais fácil), Docker num VPS como a Hetzner (melhor para produção com editores ativos), Railway ou Render (contentores geridos), ou Cloudflare Workers (mais barato). Para a maioria dos sites de produção com atividade editorial regular, um VPS baseado em Docker proporciona a melhor experiência.
O Payload CMS é melhor que o Strapi?
O Payload vence na experiência de programador nativa em TypeScript, integração Next.js e na Local API única para consultas do lado do servidor sem sobrecarga. O Strapi vence no seu marketplace de plugins, edição de esquemas baseada em GUI e compatibilidade mais ampla com frameworks. Se a sua equipa escreve TypeScript e usa Next.js, o Payload é a escolha mais forte. Caso contrário, avalie o Strapi.
O que é a Local API do Payload?
A Local API é uma camada de consulta do lado do servidor que chama a sua base de dados diretamente sem sobrecarga HTTP. Em vez de fazer chamadas REST ou GraphQL, importa o Payload e consulta collections diretamente em componentes de servidor do Next.js. Isto elimina viagens de rede e custos de serialização, resultando em carregamentos de página mais rápidos. Nenhum outro CMS headless oferece isto.
O Payload CMS consegue lidar com aplicações de larga escala?
O Payload suporta PostgreSQL com pooling de conexões (via Neon ou PgBouncer), controlo de acesso baseado em funções com granularidade ao nível do campo, fluxos de trabalho de rascunho e versionamento, e arquiteturas multi-inquilino. Empresas e agências usam o Payload em produção para aplicações com muito conteúdo. As consultas sem sobrecarga da Local API realmente melhoram o desempenho em escala.
Como se compara o Payload ao Sanity?
O Payload é autoalojado, code-first e licenciado sob MIT com uma Local API para desempenho do lado do servidor. O Sanity é alojado na cloud com edição visual superior, colaboração em tempo real e linguagem de consulta GROQ. O Payload dá-lhe mais controlo de infraestrutura e custos mais baixos. O Sanity dá-lhe melhores ferramentas editoriais e zero gestão de alojamento.
Quais são as desvantagens do Payload CMS?
O Payload requer conhecimento de TypeScript para configuração, não tem alojamento na cloud gerido para novos utilizadores desde a aquisição pela Figma, oferece um ecossistema de plugins menor que o Strapi e está arquitetonicamente ligado ao Next.js na versão 3. Equipas não técnicas podem ter dificuldades com a abordagem code-first, e a aquisição pela Figma cria alguma incerteza a longo prazo.