Blog

Next.js redirect
Every non-trivial Next.js app eventually needs to send a visitor somewhere other than the page they asked for — bounce an unauthenticated user to `/l
Dive Deeper
Next.js refresh
If you've spent any time with Server Actions in the Next.js App Router, you've probably noticed that the UI usually just "knows" to update itself aft
Dive Deeper
Next.js Rendering Philosophy
Every other article in this series covers a specific feature — how to cache something, how to stream something, how to structure a route for instant
Dive Deeper
Next.js revalidatePath
Every caching system eventually needs an escape hatch — a way to say "forget what you know about this one thing, go get it fresh." In Next.js, `reval
Dive Deeper
Next.js revalidateTag
Caching only earns its keep if you have a reliable way to say "this specific piece of data is now wrong, go get it again." revalidateTag is that me
Dive Deeper
Next.js robots.txt
robots.txt is the oldest, plainest piece of SEO infrastructure a site can have — a text file at a well-known path telling crawlers what they're all
Dive Deeper