// Definicja
ISR (Incremental Static Regeneration) to technika dostępna w Next.js, która łączy zalety SSG (szybkość statycznych stron) z elastycznością SSR (świeże dane). Strony są generowane statycznie i serwowane z cache, ale mogą się automatycznie przebudować po zmianach.
Dwa sposoby działania ISR:
- Time-based - strona przebudowuje się co X sekund (np. revalidate: 3600 = co godzinę)
- On-demand - strona przebudowuje się na żądanie, np. po webhooku z CMS-a
Przykład on-demand revalidation z cache tags:
// Pobieranie postów z tagiem "posts"
fetchStrapi("/posts", { tags: ["posts"] });
// Webhook z CMS → przebuduj tylko zmienione strony
revalidateTag("posts");Porównanie z innymi podejściami:
- SSG bez ISR - 200 postów w 2 językach = 400 stron do przebudowy przy każdej zmianie. ISR przebudowuje tylko tę jedną stronę, która się zmieniła
- SSR - strona generowana od nowa przy każdym żądaniu. Wolniejsze niż ISR, gdzie strona jest w cache do momentu zmiany
- CSR - przeglądarka buduje stronę z JavaScript. Gorsze SEO, wolniejsze ładowanie
Kiedy ISR sprawdza się najlepiej:
- Blog z headless CMS - publish w Strapi/Contentful → strona aktualna w sekundach
- Sklep e-commerce - ceny i dostępność aktualizują się bez rebuildu
- Strona z dużą ilością podstron - nie musisz przebudowywać 10 000 stron żeby zmienić jedną
// Dlaczego może to być dla Ciebie ważne?
ISR rozwiązuje problem, który zabija produktywność twórców treści: "muszę zrobić deploy żeby poprawić literówkę". Jeśli budujesz bloga z headless CMS-em (Strapi, Contentful, Sanity), ISR sprawia że klikasz "Publish" w panelu CMS i strona automatycznie odświeża swoją treść. Bez deployów, bez czekania na build.
// Powiązane pojęcia
// Chcesz więcej konkretów?
Konkretne taktyki marketingowe dla programistów. Bez teorii, tylko rzeczy do wdrożenia.
Dołącz do programistów, którzy już czytają.