Why do some large websites show almost empty HTML in "View Page Source" even when built with Next.js?

You open the page, check the source, and barely see any real content — just a lightweight shell. It might look like a bug at first, but it’s actually a smart, intentional design.

What’s happening under the hood?

These sites use Dynamic Rendering in Next.js.

For regular users: The server sends a minimal HTML shell + JavaScript. The actual content loads on the client side (CSR). This keeps the server load low and improves real-user performance.