Caching-ul sună tehnic, dar e simplu de înțeles: răspunzi vizitatorilor cu o versiune salvată a paginii în loc să o calculezi de la zero la fiecare cerere. Rezultatul: site mult mai rapid, server mai puțin încărcat, facturi mai mici la hosting. În Next.js, ai trei instrumente principale: ISR, revalidare pe timp și revalidare pe eveniment.
ISR – Incremental Static Regeneration
Pagina se generează static la primul acces și se salvează. La fiecare interval (de exemplu 60 de secunde sau 1 oră), Next.js o regenerează în fundal. Vizitatorii primesc mereu o pagină instant, iar conținutul rămâne rezonabil de proaspăt. E perfect pentru articole, pagini de produse și liste care nu se schimbă la secundă.
Revalidate pe timp vs. pe eveniment
Revalidarea pe timp („regenerează la fiecare oră”) e simplă, dar nu știe când conținutul chiar s-a schimbat. Revalidarea pe eveniment e mai elegantă: după fiecare mutare (un nou articol publicat, un produs actualizat), chemi revalidatePath() sau revalidateTag() și paginile se regenerează instant. Cel mai bun sistem le combină: revalidare pe eveniment pentru datele tale, interval ca plasă de siguranță pentru conținutul extern.
Cache tags: precizie chirurgică
Cu revalidateTag('thoughts') poți invalida doar o categorie de conținut, nu tot site-ul. Un nou articol invalidează lista articolelor, dar nu și pagina de produse. Asta înseamnă: cache cald pentru tot, fără cascade de regenerare. E strategia folosită pe platformele care servesc milioane de cereri: salvezi mult, invalidezi exact.
Strategia potrivită pentru fiecare tip de pagină
- Pagini de marketing: statice pure, revalidate rar (sau niciodată).
- Articole / blog: ISR cu revalidare pe eveniment la publicare.
- Produse cu stoc: ISR scurt + revalidare pe eveniment la modificare de stoc.
- Dashboard-uri personalizate: dinamic, fără cache (datele sunt personale).
Greșeli frecvente
Cache la date personalizate (un utilizator vede datele altuia), revalidare prea agresivă care anulează beneficiul, sau conținut stale care supraviețuiește o săptămână. Testează mereu cu ochiul utilizatorului: ce vezi e același lucru cu ce vede el?
Cache-ul e decizia care pare simplă, dar contează
Diferența între un site care se încarcă în 0,3s și unul în 3s e de multe ori doar caching. În proiectele pe care le livrez, strategia de cache face parte din arhitectură de la început – la final primești un site rapid și o factură de hosting rezonabilă.
Întrebări frecvente
Ce înseamnă ISR în Next.js?
Incremental Static Regeneration: pagini generate static, dar revalidate periodic (ex: la fiecare oră). Beneficiezi de viteza staticului cu prospețimea datelor dinamice — perfect pentru bloguri, magazine și site-uri de conținut.
Cum aleg perioada de revalidare?
Cât de des se schimbă datele? Un blog: 5-60 minute. Un magazin cu stoc: minute. O pagină de prezentare: ore sau zile. Revalidate-ul prea agresiv irosește resurse; prea rar servește date vechi.
Caching-ul afectează SEO?
Pozitiv: paginile cache-uite se încarcă mult mai rapid, ceea ce îmbunătățește Core Web Vitals. Google vede conținutul complet (generat pe server), deci nu există compromis între viteză și indexare.