P1.6 — Hacer estáticas las páginas de archivo y soluciones #6

Closed
opened 2026-08-26 12:23:43 +00:00 by alexandrev · 1 comment
Owner

El usuario pide: "Implementa los 10 puntos" (punto 6 de la revisión).

/archive y /puzzle/[number] son force-dynamic y recorren puzzles.json (606 KB) en cada request, siendo contenido inmutable de días pasados. Pasar a generateStaticParams + ISR.

Por qué: TTFB y coste de crawl.

El usuario pide: "Implementa los 10 puntos" (punto 6 de la revisión). `/archive` y `/puzzle/[number]` son `force-dynamic` y recorren `puzzles.json` (606 KB) en cada request, siendo contenido inmutable de días pasados. Pasar a `generateStaticParams` + ISR. Por qué: TTFB y coste de crawl.
Author
Owner

Implementado en 0de85cb, corregido en dd94971, desplegado.

Quitado force-dynamic de archivo y soluciones; ahora son SSG con generateStaticParams + ISR de 1 h.

El primer intento prerenderizaba las 700 páginas y tumbó el build de CI: /puzzle/236 superó el timeout de 60 s por página de Next (build 55 en rojo). Además el conjunto crecía 6 páginas al día, así que cada build habría sido más lento que el anterior.

dd94971 acota la ventana a los 30 días más recientes por idioma (202 páginas, ~35 s en local) y sube staticPageGenerationTimeout a 180 s. Los días anteriores siguen enlazados, en el sitemap e indexables: se generan bajo demanda y quedan cacheados — medido en 180 ms en frío.

Implementado en `0de85cb`, corregido en `dd94971`, desplegado. Quitado `force-dynamic` de archivo y soluciones; ahora son SSG con `generateStaticParams` + ISR de 1 h. El primer intento prerenderizaba las 700 páginas y **tumbó el build de CI**: `/puzzle/236` superó el timeout de 60 s por página de Next (build 55 en rojo). Además el conjunto crecía 6 páginas al día, así que cada build habría sido más lento que el anterior. `dd94971` acota la ventana a los 30 días más recientes por idioma (202 páginas, ~35 s en local) y sube `staticPageGenerationTimeout` a 180 s. Los días anteriores siguen enlazados, en el sitemap e indexables: se generan bajo demanda y quedan cacheados — medido en 180 ms en frío.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alexandrev/hidden11#6