Przejdź do treści

Payload 3.0 i Next.js: rewolucja w budowaniu aplikacji fullstack

CMS i aplikacja w jednym procesie — Payload 3.0 żyje wewnątrz Next.js. Zero zbędnych zapytań HTTP, pełna kontrola danych.

Maciej Sala

Founder StriveLab

5 min czytaniaAktualizacja

Czym jest monolit 2.0 w Payload 3.0 i Next.js

Przez lata standardem był podział, w którym backend był osobno ( z własnym API), osobno frontend (aplikacja konsumująca to API przez HTTP). Dwa repozytoria albo dwa serwisy, dwa deploye, dwie rzeczy do utrzymania, a między nimi sieć.

Od wersji 3.0 Payload działa wprost jako część aplikacji Next.js w . Instalujesz go jednym poleceniem do folderu app, a on integruje się z routingiem, dzieli ten sam proces i serwer co Twój front. Panel administracyjny Payload to po prostu trasa w Twojej aplikacji Next.js. CMS i frontend żyją w jednym codebase.

Wracamy do zalet monolitu — jeden projekt, jeden deploy, brak sieci między warstwami — ale na nowoczesnych fundamentach: pełny TypeScript, , ESM, gotowość pod i deploy na Vercelu.

Payload ma dziś ponad 40 tysięcy gwiazdek na GitHubie, działa na produkcji w firmach takich jak Microsoft, ASICS czy Blue Origin, a w czerwcu 2025 roku został przejęty przez Figmę (pozostając open-source na licencji MIT). Wersja 3.x jest aktualną, produkcyjną gałęzią wydań, więc to na niej warto oprzeć decyzje dla realnych projektów.

Payload 3.0 i Next.js: eliminacja warstwy HTTP przez RSC i Server Actions

W klasycznym -ie, żeby pobrać dane, Twój front wysyła zapytanie HTTP do API CMS-a, czeka na odpowiedź przez sieć, parsuje JSON. Nawet jeśli oba serwery stoją obok siebie, to zawsze jest round-trip przez sieć — z narzutem czasowym i kolejnym miejscem, gdzie coś może pójść nie tak.

Payload 3.0 daje lokalne API, które rozmawia z bazą danych bezpośrednio, w tym samym procesie. A ponieważ (RSC) wykonują się na serwerze, możesz wywołać lokalne API Payload wprost w komponencie — bez żadnego fetch(), bez endpointu, bez sieci pomiędzy:

Code
// app/blog/page.tsx — React Server Component
import { getPayload } from 'payload'
import config from '@payload-config'
 
export default async function BlogPage() {
  const payload = await getPayload({ config })
 
  // bezpośrednie zapytanie do bazy — żadnego HTTP
  const { docs: posts } = await payload.find({
    collection: 'posts',
    sort: '-publishedAt',
    limit: 100,
  })
 
  return (
    <ul>
      {posts.map((post) => (
        <li key={post.id}>
          <a href={`/blog/${post.slug}`}>
            <h2>{post.title}</h2>
            <p>{post.excerpt}</p>
          </a>
        </li>
      ))}
    </ul>
  )
}

Co tu zyskujesz:

  • Wydajność — odpadł narzut sieciowy i serializacja/deserializacja JSON przez HTTP. Zapytanie idzie wprost do bazy.
  • Bezpieczeństwo — kod wykonuje się wyłącznie na serwerze, więc żadne tokeny, klucze ani logika dostępu nie trafiają do przeglądarki. Chroni to m.in. przed .
  • payload.find() jest w pełni otypowane na podstawie Twojego schematu, więc edytor podpowiada pola, a literówkę wyłapiesz na etapie kompilacji.

A gdy potrzebujesz zapisu danych — używasz . To funkcje wykonywane na serwerze, które możesz wywołać prosto z komponentu, znów bez budowania osobnego endpointu API:

Code
// app/actions.ts
'use server'
 
import { getPayload } from 'payload'
import config from '@payload-config'
 
export async function createPost(formData: FormData) {
  const payload = await getPayload({ config })
 
  await payload.create({
    collection: 'posts',
    data: {
      title: formData.get('title') as string,
    },
  })
}

Granica między "backendem" a "frontendem" się rozmywa. Piszesz jedną aplikację, w której odczyt i zapis danych są tak proste, jak wywołanie funkcji.

Payload 3.0 i Next.js dla SaaS, e-commerce i portali z logowaniem

Do tej całej układanki Payload dorzuca jeszcze jeden mocny element: świetną, wbudowaną autentykację.

Payload ma authentication out of the box — z bezpiecznymi ciasteczkami HTTP-only, ochroną i bardzo dokładną kontrolą dostępu na poziomie kolekcji, dokumentu oraz pojedynczego pola. Logikę "kto może widzieć i edytować co" definiujesz raz, w schemacie, w TypeScript — i obowiązuje ona wszędzie, także przy zapytaniach z RSC.

Dla pewnych typów projektów to dokładnie ten brakujący klocek:

  • Zaawansowane -y — masz aplikację z użytkownikami, rolami i danymi per-konto, a Payload daje Ci model danych, panel admina i auth w jednym, wewnątrz tej samej aplikacji Next.js.
  • E-commerce — produkty, zamówienia, konta klientów i panel zarządzania bez stawiania osobnego backendu; do tego RSC dla szybkich, dobrze indeksowanych stron produktowych.
  • Portale z logowaniem — bazy wiedzy, panele klienta, treści za paywallem; na poziomie pola pozwala precyzyjnie sterować, kto co widzi.

W każdym z tych przypadków alternatywą jest sklejanie osobnego CMS-a, osobnej autentykacji i osobnego API. Payload 3.0 z Next.js daje to wszystko w jednym procesie, z bezpieczeństwem typów end-to-end.

Payload 3.0, Next.js i ekosystem AI

W kwietniu 2026 Payload dorzucił wbudowany zestaw ewaluacji, który mierzy, jak dobrze narzędzia AI (Cursor, Claude Code, Copilot) rozumieją i generują kod Payload. Jeśli wspierasz się AI przy pisaniu konfiguracji CMS-a, Payload jest dziś jednym z narzędzi, które najczęściej daje działający kod za pierwszym razem. Dla zespołów pracujących w workflow ze wsparciem narzędzi AI, jest to realna oszczędność czasu.

Elastyczne i wydajne narzędzia dla biznesu, które dotrzymają kroku Twojemu rozwojowi.
Next.js

Często zadawane pytania

Czy Payload 3.0 wymaga osobnego serwera dla CMS-a?

Nie. Od wersji 3.0 Payload instaluje się bezpośrednio w aplikacji Next.js i działa w tym samym procesie oraz na tym samym serwerze co front. Panel administracyjny to po prostu trasa w Twojej aplikacji, a deploy może być pojedynczy — choćby serverless na Vercelu.

Czym jest lokalne API Payload i czym różni się od REST?

Lokalne API to sposób na rozmowę z bazą danych bezpośrednio, w tym samym procesie Node, bez warstwy HTTP. W React Server Components wywołujesz je jak zwykłą funkcję (payload.find()), co eliminuje narzut sieciowy i serializację JSON. REST i GraphQL nadal są dostępne, gdy potrzebujesz dostępu z zewnątrz.

Czy Payload 3.0 nadaje się do aplikacji z logowaniem użytkowników?

Tak, to jeden z jego najmocniejszych obszarów. Payload ma wbudowaną autentykację z ciasteczkami HTTP-only i ochroną CSRF oraz bardzo granularną kontrolę dostępu na poziomie kolekcji, dokumentu i pola. To czyni go bardzo dobrym wyborem pod SaaS-y, e-commerce i portale z kontami użytkowników.

Której wersji Payload używać produkcyjnie?

Do projektów produkcyjnych aktualnym i bezpiecznym wyborem jest Payload 3.x. Na dzień publikacji oficjalne release notes Payload wskazują gałąź 3.x jako bieżącą linię wydań, więc decyzję technologiczną warto opierać na tej wersji, a nie na zapowiedziach przyszłych wydań.

Czy Next.js z Payload jest dobry pod SEO?

Tak. React Server Components renderują strony na serwerze, więc wyszukiwarki i silniki AI dostają gotowy HTML z treścią, a nie pustą skorupę wymagającą JavaScriptu. W połączeniu z dobrą strukturą treści z Payload daje to solidny fundament zarówno pod klasyczne SEO, jak i pod widoczność w odpowiedziach AI (AEO/GEO).

Czy Payload CMS jest darmowy?

Payload jest open-source na licencji MIT — nie ma opłat licencyjnych. Płacisz tylko za infrastrukturę (serwer, baza danych), na której go uruchomisz. W czerwcu 2025 roku Payload został przejęty przez Figmę, pozostając przy tym open-source.

O autorze

Maciej Sala

Maciej Sala — konsultant technologiczny produktów cyfrowych i web developer z bogatym doświadczeniem w marketingu internetowym oraz SEO. Na co dzień pracuje z Reactem, Next.js i TypeScriptem, a ostatnio także z Astro i narzędziami do automatyzacji procesów AI. Sprawnie łączy perspektywę produktową z praktycznym podejściem do kodu. Przez kilka lat był związany z branżą gier wideo jako project manager i game designer. Absolwent historii na Uniwersytecie Jagiellońskim oraz studiów podyplomowych z marketingu internetowego na AGH w Krakowie. Po godzinach trenuje na siłowni, maluje figurki i rozwija własne projekty.

Pomagam przekładać takie tematy na konkretne wdrożenia w frontendzie, SEO, analityce i procesie produktowym.

Skontaktuj się ze mną
LH.pl – Hosting Mango

Biblioteka wiedzy na temat Next.js

Czytaj dalej

Zobacz więcej wpisów
Integracja Astro i Payload CMS: szybka strona pod kontrolą

Wyobraź sobie stronę internetową, której koszt utrzymania nie rośnie wraz z liczbą odwiedzin. Otrzymasz taki efekt, łącząc lekki frontend w Astro z własnym CMS-em w postaci Payload, odizolowanym od ruchu użytkowników. To architektura, która daje wysoką wydajność i pełną kontrolę nad danymi, jednocześnie trzymając koszty pod kontrolą.

Maciej Sala

Maciej Sala

Founder StriveLab

Payload CMS czy Sanity: który headless CMS wybrać?

Payload i Sanity potrafią obsłużyć ten sam katalog treści, lecz przenoszą ciężar projektu w zupełnie inne miejsce. Payload oddaje zespołowi kod, bazę i odpowiedzialność za produkcję. Sanity dostarcza zarządzany Content Lake oraz rozbudowane środowisko współpracy, ale wiąże system z limitami i modelem usługi. Dobre porównanie nie kończy się na ekranie edytora. Musi objąć dzień publikacji, awarię, zmianę schematu, rachunek przy wzroście oraz możliwość wyprowadzenia danych.

Maciej Sala

Maciej Sala

Founder StriveLab

Migracja z WordPressa do Astro lub Next.js i Headless CMS

Przy migracji z WordPressa do Astro lub Next.js najczęstsza obawa brzmi: czy redakcja straci wygodny panel? Nie, jeśli frontend połączysz z Headless CMS-em takim jak Sanity, Payload albo Storyblok. Poniżej pokazuję, jak zaplanować taką architekturę i przenieść treść bez zmuszania zespołu do pracy w Markdownie.

Maciej Sala

Maciej Sala

Founder StriveLab

LH.pl – Cloud Server 1C4G