Web už nesmí být pomalý. Tohle mění Next.js i React

Proč se výkon webu stal tvrdým byznysem, ne jen technickým tématem

U pomalého webu dnes nejde jen o horší pocit uživatele. Každých pár stovek milisekund navíc se může projevit na konverzním poměru, bounce rate i organické návštěvnosti. Google dlouhodobě pracuje s metrikami Core Web Vitals a na mobilu je trpělivost uživatelů ještě nižší: pokud se stránka načítá déle než 3 sekundy, výrazně roste pravděpodobnost odchodu.

U moderních frontendů je problém často stejný: web je vizuálně jednoduchý, ale pod kapotou nese desítky kilobajtů JavaScriptu, třetí strany, tracking skripty a neefektivní renderování. Právě tady vstupují do hry Next.js i React nové generace, které se snaží snížit náklady na vykreslení, omezit JS na klientovi a posunout co nejvíc práce na server.

Co mění Next.js: méně klientského JavaScriptu, více serveru

Next.js se za poslední roky posunul od klasického React frameworku k platformě, která řeší renderování, cachování i datovou vrstvu. Největší změna je v tom, že už nemusíte posílat vše do prohlížeče. Díky Server Components lze část UI renderovat na serveru bez toho, aby se celý komponentový strom stal klientským JavaScriptem.

To má praktický dopad: menší bundle, rychlejší první vykreslení a méně práce pro zařízení s horším CPU. U obsahových webů, magazínů nebo e-commerce katalogů to znamená, že produktová karta, článek nebo landing page mohou být připravené na serveru a do klienta se pošle jen nutné minimum interaktivity.

Další důležitá oblast je cachování a streaming. Next.js umí data a HTML servírovat postupně, což zkracuje čas do prvního smysluplného obsahu. To je zásadní pro metriky jako LCP (Largest Contentful Paint), kde často rozhoduje právě rychlost doručení hlavního vizuálního prvku.

  • Server Components snižují JS payload.
  • Streaming rendering zrychluje vnímaný výkon.
  • App Router usnadňuje práci s layouty, daty a cachí.
  • Image Optimization řeší responsivní obrázky, formáty WebP/AVIF i lazy loading.

Pokud děláte web s větším obsahem, vyplatí se v Next.js přemýšlet o tom, co musí být interaktivní. V praxi je lepší mít 80 % stránky jako server-rendered HTML a jen malé části jako klientské komponenty než opačný model, kdy je vše „hydrated“ v prohlížeči.

React už není jen o komponentách, ale o tom, kolik práce necháte na prohlížeči

Samotný React je stále silný nástroj, ale jeho klasické použití často vedlo k tomu, že web byl po načtení závislý na velkém množství JavaScriptu. V praxi to znamenalo pomalejší interakce, vyšší INP a zbytečně těžký bundle. Moderní přístup je mnohem střídmější: React se používá tam, kde dává smysl interaktivita, ne jako univerzální řešení pro celé UI.

Velké téma je redukce re-renderů. Mnoho webů dnes trpí tím, že změna jednoho stavu přepočítá příliš velkou část stromu komponent. Pomáhá rozdělení komponent, memoizace, správná práce s contextem a důsledné oddělení statických a dynamických částí. U složitých aplikací to může znamenat rozdíl mezi plynulým UI a stránkou, která po kliknutí „zamrzá“.

Důležitá je i práce s code splittingem a dynamickým importem. Ne každý modul musí být v prvním balíku. Pro modal, slider, mapu nebo editor je často lepší načíst JavaScript až ve chvíli, kdy je skutečně potřeba. V bundle analyzéru pak velmi rychle uvidíte, co web nafukuje nejvíc.

  • Kontrolujte velikost bundle přes Webpack Bundle Analyzer nebo analýzu v Next.js.
  • Minimalizujte používání těžkých UI knihoven, pokud stačí vlastní lehké komponenty.
  • Používejte dynamic import pro méně důležité části webu.
  • Omezujte globální state, který způsobuje zbytečné přerenderování.

Co dnes skutečně měřit: LCP, INP, CLS a jejich dopad na SEO

Pokud chcete výkon řešit profesionálně, nestačí pocitové testování. Základ tvoří Core Web Vitals: LCP, INP a CLS. LCP ukazuje, kdy se načetl hlavní obsah, INP měří odezvu na interakce a CLS sleduje vizuální stabilitu stránky. Google doporučuje držet LCP pod 2,5 s, INP pod 200 ms a CLS pod 0,1.

V praxi je potřeba sledovat jak laboratorní, tak reálná data. Lighthouse nebo PageSpeed Insights jsou dobré pro rychlou diagnostiku, ale rozhodující je field data z GA4, Search Console nebo RUM nástrojů. To, co se děje na vašem vývojářském notebooku, může být na levnějším Androidu s pomalou sítí úplně jiný příběh.

Pro monitoring se vyplatí kombinace:

  • Google Search Console pro přehled URL se slabými CWV.
  • PageSpeed Insights pro laboratorní i CrUX data.
  • Lighthouse CI pro automatizované testování v pipeline.
  • WebPageTest pro detailní waterfall a filmstrip.
  • GA4 + vlastní RUM pro reálné chování uživatelů.

Častý problém u React webů je, že LCP je blokované příliš velkým hero obrázkem, fonty nebo klientským renderem. Pokud je hlavní obsah až po hydratačním kroku, web působí pomalu i tehdy, když server odpovídá rychle. Proto je důležité oddělit čas odpovědi serveru od času, kdy uživatel něco skutečně vidí.

Praktické úpravy, které přinesou největší efekt

Nejrychlejší zlepšení obvykle nepřichází z přepsání celé aplikace, ale z odstranění několika drahých bottlenecků. U většiny webů bývá problém v obrázcích, fontových souborech, třetích stranách a příliš těžkém JavaScriptu. Pokud máte web na Next.js, začněte u těchto kroků:

  • Optimalizujte obrázky – používejte správné rozměry, AVIF/WebP a prioritu jen pro skutečný LCP obrázek.
  • Preloadujte kritické fonty a omezte počet řezů; ideálně self-hosting místo externích CDN, pokud to dává smysl.
  • Odložte třetí strany jako chaty, heatmapy nebo marketingové pixely až po consentu nebo po interakci.
  • Eliminujte nevyužitý JS a sledujte duplicity v balíku.
  • Používejte cache na úrovni serveru i CDN, ne jen v prohlížeči.

Velmi účinný bývá také audit samotné komponentové architektury. Pokud stránka obsahuje deset sekcí, ale čtyři z nich se načítají jen kvůli jednomu dropdownu, je to signál k refaktoringu. U větších projektů se vyplatí zavést pravidlo: každá nová feature musí mít odhad dopadu na bundle size a CWV.

Pro e-commerce je typický scénář, kdy se produktový listing zpomalí kvůli filtrům, trackingu a obrázkům v gridu. Zde pomáhá server-side rendering pro základní výpis, lokální stav filtrů bez zbytečného globálního přerenderu a virtuální listování u velmi dlouhých katalogů. Výsledek může být rozdíl mezi 4–5 sekundami a stránkou, která je použitelná do dvou sekund.

Kam se web posouvá: rychlost, personalizace a menší závislost na monolitu

Trend je jasný: web se od velkých klientských aplikací vrací k chytřejší kombinaci serveru a klienta. Next.js i React se tomu přizpůsobují, protože budoucnost není o tom poslat do prohlížeče co nejvíc kódu, ale jen to, co je skutečně potřeba pro interakci. To je výhodné i z pohledu SEO, protože server-renderovaný obsah je lépe čitelný pro roboty, rychleji dostupný pro uživatele a stabilnější na různých zařízeních.

Do hry navíc vstupují AI vyhledávače a zero-click chování. Pokud má web být citovatelný a použitelný i v prostředí AI Overviews nebo odpovědí typu ChatGPT či Perplexity, musí být nejen kvalitní obsahově, ale i technicky přístupný. Rychlý, čistý HTML výstup, správná struktura nadpisů, schema markup a minimální technické překážky zvyšují šanci, že web bude dobře indexovaný i interpretovaný stroji.

Pro týmy, které dnes staví web nebo aplikaci, je proto klíčové přemýšlet výkonově už při návrhu. Ne až po spuštění. Kdo dnes zvládne spojit Next.js, rozumně použitý React, kvalitní cachování a disciplinovaný JS budget, získá náskok v SEO, UX i konverzích. A právě to je důvod, proč už pomalý web není omluvitelný technický stav, ale přímá obchodní slabina.