Přeskočit na obsah
Vývoj webů

Next.js 16.4: statické stránky pod kontrolou a aktualizace přes agenta

Next.js 16.4 vyšel 6. října. Přináší ensureStatic, který hlídá, aby statické stránky zůstaly statické, doporučuje Cache Components a umí připravit aktualizaci pro AI agenta. Změřil jsem i menší cache.

Maxim KudelaZobrazení se souhlasem: 0
Bílá porcelánová maketa okna prohlížeče složená z dlaždic, do které zapadá modrá dlaždice. Vedle leží bílá forma a kovový podnos s modrými dlaždicemi. AI ilustrace pro Chciweeeb.

Next.js 16.4 vyšel 6. října. Pro firemní a prezentační weby je v něm nejdůležitější ensureStatic. Když se do stránky, která má být statická, dostane něco, co by se vykreslovalo při každé návštěvě, build spadne. Zbytek vydání je hlavně o Cache Components, které budou v Next.js 17 výchozí, a o aktualizacích přes AI agenta.

Úvod oznámení Next.js 16.4 na blogu Next.js z 6. října 2026. Tučná věta doporučuje Cache Components jako nejlepší volbu pro každou aplikaci v Next.js.

Oznámení Next.js 16.4 z 6. října 2026. Zdroj: nextjs.org

Co je nového

Cache Components jsou nový způsob, jak v Next.js určit, co se smí uložit a co se má vykreslit až pro konkrétního návštěvníka. Dosud je tým Next.js nedoporučoval všude. Od 16.4 je doporučuje pro každou aplikaci a nové projekty z create-next-app je mají zapnuté rovnou. Stávající weby fungují dál beze změny.

Novinka

Co dělá

ensureStatic

Build spadne, když se statická stránka začne vykreslovat při každé návštěvě.

navigation() a prefetch()

Určí, která část stránky se načte dopředu a která až po kliknutí.

next upgrade --agent

Připraví aktualizaci pro AI agenta včetně codemodů a kontrol.

Upozornění na opravy

next dev a next build hlásí bezpečnostní aktualizace. Zapnuté ve výchozím nastavení.

Menší cache a balíčky

Turbopack ukládá na disk méně dat a zkracuje názvy CSS tříd a exportů.

React 19.3

Stabilní View Transitions pro animované přechody mezi stránkami.

Úspory v Next.js 16.4 podle týmu Next.js
menší disková cache Turbopacku20–25 %
méně paměti pro React Compiler v Rustu30 %
kratší kompilace s React Compilerem v Rustu15 %

Zdroj: Next.js 16.4

Druhé a třetí číslo se týká jen experimentálního React Compileru v Rustu, který musíte zapnout sami.

Statická stránka zůstane statická

Statickou stránku server připraví jednou při buildu a pak ji jen posílá z cache. Je rychlá a na hostingu skoro nic nestojí. Stačí ale, aby někdo do patičky přidal komponentu, která čte cookie, a stránka se začne vykreslovat při každé návštěvě. Na první pohled to nepoznáte, projeví se to až na rychlosti a na faktuře za hosting.

Řádek export const ensureStatic = 'navigation' v layoutu tohle zakáže pro všechny stránky pod ním. Mírnější úrovně 'shell' a 'prefetch' hlídají jen části, které se načítají před kliknutím. Funguje to jen se zapnutými Cache Components. Zkusil jsem to na zkušebním blogu. Do úvodní stránky jsem přidal pozdrav podle cookie a build skončil chybou, která rovnou říká, jak to opravit.

Terminál s příkazem pnpm next build v projektu na Next.js 16.4.0. Červená chyba říká, že route / obsahuje data vykreslovaná při požadavku, přestože má být úplně statická, a nabízí tři opravy: použít use cache, data odebrat nebo je načíst v prohlížeči. Build končí kódem 1.

Skutečný výstup buildu ve zkušebním projektu s ensureStatic = 'navigation', 7. 10. 2026

U firemních webů, které stavíme, chci mít tuhle kontrolu všude, kde stránka nic nepersonalizuje. Návod najdete v dokumentaci Keeping pages static.

Co jsem naměřil

Vzal jsem oficiální ukázku blog-starter z Next.js a pustil ji na 16.3.8 a 16.4.0 se stejnými balíčky. Ve vývojovém režimu jsem otevřel všechny stránky, server zastavil a změřil, kolik místa zabrala cache Turbopacku. Každou verzi jsem pustil třikrát.

Cache Turbopacku po projití všech stránek ve vývojovém režimu, MB (méně je lepší)
Next.js 16.3.885,1
Next.js 16.4.063,8o 25 % méně

Zdroj: ukázka blog-starter

Úspora odpovídá tomu, co slibuje oznámení. U produkčního buildu se velikost JavaScriptu a CSS pro prohlížeč na tak malém webu změnila o méně než procento, menší balíčky se projeví spíš u větších aplikací.

Dvě bílé porcelánové krabičky s modrými destičkami. V levé je vysoký neuspořádaný sloupec, v pravé nižší úhledně srovnaný. Mezi nimi leží kovová svěrka. AI ilustrace pro Chciweeeb.

Stejný obsah, méně místa. AI ilustrace

Analyzátor balíčků teď začíná přehledem stránek podle velikosti a umí tabulku seřazenou podle toho, co v balíčku zabírá nejvíc. Spustíte ho příkazem next analyze.

Tabulkové zobrazení analyzátoru balíčků Turbopack pro úvodní stránku zkušebního blogu. Nahoře přepínače Table, Treemap a Client, pod nimi moduly seřazené podle velikosti: balíček next se 172 moduly a 281,95 kB, globals.css a komponenta theme-switcher. Celkem 298,71 kB.

Nová tabulka v analyzátoru balíčků, zkušební projekt na Next.js 16.4.0

Jak aktualizovat

Next.js teď umí aktualizaci připravit pro agenta. Příkaz next upgrade --agent zjistí vaši verzi, vybere cílovou a připraví návod, codemody a kontroly. Na 16.4 vás navíc next dev a next build upozorní, když pro vaši verzi vyjde bezpečnostní oprava. Když build spouští agent, první upozornění ho zastaví, ať aktualizaci nahlásí.

Pokud web upravujete s agentem, zadejte mu to celé. Prompt odkazuje na původní zdroje, ať si je agent přečte sám.

Aktualizace na Next.js 16.4 s agentem
Aktualizuj Next.js v tomto projektu na verzi 16.4.

1. Přečti si oznámení https://nextjs.org/blog/next-16-4 a návod https://nextjs.org/docs/app/guides/upgrading/agent-upgrade
2. Spusť v projektu npx next@canary upgrade --agent=latest a postupuj podle úkolu, který vypíše.
3. Spusť build a testy a oprav jen to, co aktualizace rozbila.
4. Zjisti, jestli projekt používá Cache Components (cacheComponents v next.config). Pokud ano, najdi stránky, které nic nepersonalizují, a navrhni pro ně ensureStatic podle https://nextjs.org/docs/app/guides/keeping-pages-static
5. Pokud projekt Cache Components nepoužívá, přechod na ně jen popiš a odhadni rozsah. Nedělej ho.

Nic nenasazuj. Na konci shrň původní a novou verzi, co se změnilo a co jsi ověřil.

Pokud máte web na Next.js 15, je to důležitější než nové funkce, protože podpora verze 15 končí 21. října. Dvě bezpečnostní opravy, které tým Next.js koncem září odložil, zatím nevyšly ani v 16.4. Pokud web nespravujete sami, aktualizace frameworku patří k pravidelné správě webu.

Zdroje a další čtení

Nové články e‑mailem

Odběr potvrdíte v e‑mailu. Ochrana osobních údajů

Komentáře

Načítání komentářů…

Pište k tématu a bez osobních údajů. Komentáře před zveřejněním kontrolujeme, i s pomocí AI. Jméno a text schváleného komentáře budou veřejné. Ochrana osobních údajů