Back to results for “Performance”
Next.js › Rendering (SSR/SSG/ISR)

How would you design a rendering strategy for a large application with a mix of static marketing pages, semi dynamic product pages, and fully personalized account pages?

Advanced

Answer

You would use static site generation for the marketing pages since they rarely change, incremental static regeneration for product pages that update periodically but benefit from fast cached loading, and server side rendering or fully dynamic client fetching for personalized account pages that depend entirely on the specific logged in user.
// Marketing page: fully static
// Product page: ISR with revalidate
fetch(url, { next: { revalidate: 600 } });
// Account page: dynamic, no caching
fetch(url, { cache: 'no-store' });
Real-world example A large online retailer builds its marketing pages as fully static, its product catalog with incremental static regeneration for freshness without sacrificing speed, and its personalized account dashboard with fully dynamic rendering tailored to each specific customer.

Common follow-ups: How do you measure whether the chosen rendering strategy is actually meeting performance goals?;What tools help visualize which rendering strategy each page in a large app is using?