Making a personalized page cacheable anyway
A loyalty-program site in Lyon believed it couldn't cache anything — every page showed the member's name and points, so everything went MISS to origin. Hit ratio: 4%.
We split the page at the edge:
— Cached the page shell — layout, nav, content — fully, with no personal data baked in
— Moved the "Hi, name / X points" block to a tiny edge-function call reading a signed cookie
— The edge function assembled shell-plus-greeting in under 2ms, no origin round-trip
— Personalized recommendations loaded as a separate lazy fragment
— Cached the shell for 1 hour; only the 200-byte greeting was dynamic
The expensive 95% of the page came from cache; only a sliver hit logic. Hit ratio went from 4% to 89%. "Personalized" rarely means the whole page is dynamic — find the static shell and cache it, assemble the personal bit at the edge.
The number that mattered: 85 points of hit ratio on a page everyone called uncacheable.
Edge of Glory
@EdgeOfGloryCDN
Making a personalized page cacheable anyway
Этот пост опубликован в Telegram-канале Edge of Glory. Подписаться можно по ссылке: @EdgeOfGloryCDN.