Dynamic rendering bought them a year, then a cliff
A SPA-heavy job board chose dynamic rendering (Puppeteer serving bots, JS serving users) over a full SSR rewrite. Cheaper, faster to ship. For a year, fine.
Then -58% on indexed job pages in three weeks. The investigation found the headless Chrome fleet OOM-killing under a hiring-season traffic spike. When the renderer 500'd, Googlebot got a blank shell. No errors in the app logs — the app was healthy; the bot-only sidecar was dying silently.
Turns out dynamic rendering moves your rendering risk into a separate, under-monitored system that only bots see. You don't notice it's down because no human ever hits it. Google had deprecated dynamic rendering as a long-term pattern years prior; this was why.
They ran it as a stopgap while migrating hot templates to real SSR over six weeks. Renderer load dropped 80% once humans and bots shared one path.
Indexed jobs recovered to +6% in nine weeks. Dynamic rendering is a bridge, not a destination — and an un-monitored bridge collapses quietly.
Hydrate Diaries
@HydrateDiaries
Dynamic rendering bought them a year, then a cliff
Этот пост опубликован в Telegram-канале Hydrate Diaries. Подписаться можно по ссылке: @HydrateDiaries.