22 lines
1.9 KiB
Markdown
22 lines
1.9 KiB
Markdown
# D-030. Пересборка маркетинговых страниц через `revalidatePath`
|
|||
|
|
|
||
|
|
Статус: принято, 22.10.2026. Уточняет [D-017](D-017-static-pages.md), пункт 2: пересборка не по тегам.
|
||
|
|
|
||
|
|
## Контекст
|
||
|
|
|
||
|
|
Страницы читают Payload через Local API, а не через `fetch`, поэтому теги кэша им дала бы только `unstable_cache`. В Next 16 она заменена новой моделью Cache Components (`use cache`), которая меняет рендеринг всего приложения: кабинета, next-intl, оболочек из этапа 1a.
|
||
|
|
|
||
|
|
## Решение
|
||
|
|
|
||
|
|
1. Хуки Payload после изменения контента сайта (страницы, FAQ, тарифы, локации, страны, сайты, домены, валюты) вызывают `revalidatePath` для layout маркетинговых страниц. Все маркетинговые страницы помечаются устаревшими и пересобираются при следующем заходе.
|
||
|
|
2. Запасной вариант — обновление раз в 5 минут — остаётся.
|
||
|
|
3. Cache Components рассматриваем вместе с переходом на Payload 4 ([D-002](D-002-payload-version.md)).
|
||
|
|
|
||
|
|
## Рассмотренные варианты
|
||
|
|
|
||
|
|
1. Теги через `unstable_cache` — заменённый API.
|
||
|
|
2. Cache Components сейчас — переделка всего приложения ради точечной пересборки.
|
||
|
|
|
||
|
|
## Последствия
|
||
|
|
|
||
|
|
Правка в одном бренде пересобирает страницы обоих брендов: около 160 страниц (бренды × языки × валюты × страницы), лениво, при заходе. Нагрузка незаметна.
|